C 大小寫字母轉換(齊全)

2021-10-14 17:50:10 字數 1569 閱讀 8559

核心就是利用ascii碼實現大小寫字母轉換

十進位制仔細觀察不難發現任意乙個大寫字母的ascii碼加上32就是其對應的小寫字母的ascii碼——即小寫字母_acsii碼=大寫字母_acsii碼+32,反之則有大寫字母_acsii碼=小寫字母_acsii碼-32.**如下,其中letter是定義好的字元變數,下同。

//十進位制	if(

'a'<=letter&&letter<=

'z')

cout<<

char

(int

(letter)+32

);//大寫轉小寫

elseif(

'a'<=letter&&letter<=

'z')

cout<<

char

(int

(letter)-32

);//小寫轉大寫

else cout<<

"輸入不合法"

;

二進位制

每個字母的ascii碼轉換成二進位制後,我們會發現任一字母的大小寫間ascii碼只有第5位不同(從0開始計位),大寫字母第5位是0,小寫字母第五位是1,我們的方法就是讓大寫字母的ascii碼按位或00100000,0或a結果為a(假設a是二進位制的一位,取0或者1),而 1或a等於(1),這樣便可以把大寫字母的ascii碼轉化為小寫字母的ascii碼。基於同樣的原理,我們可以令小寫字母的ascii碼按位與11011111,得到對應的大寫字母的ascii碼。**如下。

//二進位制 if(

'a'<=letter&&letter<=

'z')

cout<<

char

(int

(letter)|32

);//32的二進位制是00100000

elseif(

'a'<=letter&&letter<=

'z')

cout<<

char

(int

(letter)

&223);

//223的二進位制是11011111

else cout<<

"輸入不合法"

;return

0;

二進位制異或

因為不用區分大小寫,所以這是最簡便的方式.異或的原則是相同為0,相異為1,我們不難得到0異或a=a(a同上,是二進位制的一位),1異或a是對a取反。如上所述,字母大小寫間的二進位制形式ascii,只有第五位不同,那麼我們只要利用大寫(或者小寫)的ascii碼異或00100000,便能使得其他位不變,第五位是0變1(大寫轉小寫),是1變0(小寫變大寫)。**如下。

//二進位制異或if(

'a'<=letter&&letter<=

'z'||

'a'<=letter&&letter<=

'z')

cout<<

char

(int

(letter)^32

);//32的二進位制是00100000

else cout<<

"輸入不合法"

;

轉換大小寫字母 0330

思路分析 首先用getchar 函式獲得字元,然後判斷字元為大寫還是小寫,如果是大寫字母就轉換為小寫,如果是小寫字母就轉換為大寫 如果輸入的是數字就不輸出 定義乙個終止符,輸入終止符就退出迴圈 最後附上 define crt secure no warnings include includeint...

大小寫字母轉換 彙編

組合語言中一般的格式為 1 定義資料段和 段 2 確認資料段和 段,但是並未指明資料段的位址 3 程式一開始先指明資料段的位址 4 開始程式編寫 5 程式結束時要呼叫程式終止的終斷,否則程式無法正常終止 一段小例程,演示組合語言的基本格式,實現8位數字的加法 資料段定義 data segment a...

大小寫字母判斷和轉換

一 大小寫字母判斷 1.isalpha 標頭檔案 c include c語言 include 功能 判斷字元ch是否為英文本母。當ch為英文本母a z或a z時,返回非零值,但不一定是1 否則返回零。格式 isalpha ch 2.isupper 標頭檔案 c include c語言 include...