C語言詳解用char實(shí)現(xiàn)大小寫字母的轉(zhuǎn)換
一、例題
將多個(gè)字母進(jìn)行小寫轉(zhuǎn)換成大寫
代碼:
#include <stdio.h>
int main (void)
{
char a,b,c,d; //定義一個(gè)四個(gè)字符量
printf("請(qǐng)輸入你想要的四個(gè)小寫字母:");
scanf("%c%c%c%c",&a,&b,&c,&d); //在鍵盤輸入得到想要的四個(gè)字母
a=a-32; //通過ASCII得到字母相差數(shù)
b=b-32;
c=c-32;
d=d-32;
printf("轉(zhuǎn)換后的四個(gè)大寫字母:%c%c%c%c\n",a,b,c,d);//輸出四個(gè)轉(zhuǎn)換后的字母
return 0;
}
解釋:
1、char a,b,c,d;首先我們開始定義四個(gè)字符變量。
2、scanf("%c%c%c%c",&a,&b,&c,&d); 由于是四個(gè)字符變量所以
scanf函數(shù)使用一定要加&這個(gè)符號(hào),&這個(gè)符號(hào)是取地址符,也相當(dāng)于更加精確的找到定義變量的位置。
3、小寫字母轉(zhuǎn)換大寫字母“-32”,大寫字母轉(zhuǎn)換小寫字母“+32”
4、最后得到想要的四個(gè)大寫字母
結(jié)果:

二、例題
將四個(gè)大寫字母轉(zhuǎn)換成小寫字母
代碼:
#include <stdio.h>
int main (void)
{
char a,b,c,d; // 定義四個(gè)字母變量符
printf("輸入一個(gè)小寫字母:\n");// 輸入想要的字母
/*
下面利用getchar讀入函數(shù)轉(zhuǎn)換。
getchar是讀入函數(shù)的一種。它從標(biāo)準(zhǔn)輸入里讀取下一個(gè)字符。
相當(dāng)于getc(stdin)。返回類型為int型,為用戶輸入的ASCII碼或EOF。
*/
a=getchar();
b=getchar();
c=getchar();
d=getchar();
/*
大寫字母+32等于小寫字母
*/
a=a+32;
b=b+32;
c=c+32;
d=d+32;
printf("轉(zhuǎn)換后的字母為:%c,%c,%c,%c\n",a,b,c,d);
return 0;
}
解釋:
1、開始我們定義a、b、c、d四個(gè)字符變量。
2、我們不用scanf函數(shù),改成用getchar讀入函數(shù)轉(zhuǎn)換字符。
定義一個(gè)a之后用getchar讀入返回一個(gè)新的a。
3、由于是大寫字母轉(zhuǎn)換小寫字母,需要“+32”即可
4、最后得到需要的結(jié)構(gòu)
結(jié)果:

三、總結(jié)
1、char a,b,c,d; 開始定義變量的時(shí)候,abcd要用逗號(hào)隔開,最后一個(gè)加分號(hào)。
2、scanf("%c%c%c%c",&a,&b,&c,&d); scanf是一個(gè)輸入函數(shù),它輸出不了東西,在c語言里面是輸出不了,但是在python是可以輸出內(nèi)容。
以下為錯(cuò)誤寫法:

如果想要一個(gè)有前綴的顯示要加printf函數(shù)。
正確寫法:

3、scanf("%c%c%c%c",&a,&b,&c,&d); 需要幾個(gè)字符變量就要幾個(gè)%c和&。
4、scanf("%c,%c,%c,%c",&a,&b,&c,&d); 如果%c用逗號(hào)隔開了,那么輸入的時(shí)候也要a,b,c,d

5、printf("轉(zhuǎn)換后的四個(gè)大寫字母:%c,%c,%c,%c\n",a,b,c,d); %c可以不用逗號(hào)隔開,影響不大,后面的abcd一定要用逗號(hào)隔開,因?yàn)樗@示的a,b,c,d四個(gè)的字符變量,如果是abcd的話就是abcd這個(gè)一個(gè)字符變量,而且前面也沒有定義abcd的字符變量。

到此這篇關(guān)于C語言詳解用char實(shí)現(xiàn)大小寫字母的轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)C語言大小寫字母轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言函數(shù)指針與回調(diào)函數(shù)的實(shí)現(xiàn)
本文主要介紹了C語言函數(shù)指針與回調(diào)函數(shù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
c++實(shí)現(xiàn)一個(gè)簡易的網(wǎng)絡(luò)緩沖區(qū)的實(shí)踐
這篇文章主要介紹了c++實(shí)現(xiàn)一個(gè)簡易的網(wǎng)絡(luò)緩沖區(qū)的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
C++訪問std::variant類型數(shù)據(jù)的幾種方式小結(jié)
std::variant是?C++17中引入的一個(gè)新的類模板,提供了一種存儲(chǔ)不同類型的值的方式,本文主要介紹了C++訪問std::variant類型數(shù)據(jù)的幾種方式小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02

