最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言中字母大小寫(xiě)轉(zhuǎn)化簡(jiǎn)單示例

 更新時(shí)間:2022年11月23日 11:44:19   作者:jebe_lwb  
在C語(yǔ)言中,有時(shí)候我們遇到這樣的考題,將c語(yǔ)言大寫(xiě)字母轉(zhuǎn)化為小寫(xiě)字母,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中字母大小寫(xiě)轉(zhuǎn)化的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下

C語(yǔ)言入門(mén)的時(shí)候都會(huì)遇到要求寫(xiě)大小寫(xiě)轉(zhuǎn)換的題目

這類(lèi)題目主要通過(guò)ASCII(美國(guó)信息交換標(biāo)準(zhǔn)代碼)碼差值實(shí)現(xiàn),

A對(duì)應(yīng)ASCII碼十進(jìn)制數(shù)字是65,a對(duì)應(yīng)ASCII碼十進(jìn)制數(shù)字是97,

即大小寫(xiě)字母之間ASCII碼差值為32,想要將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母可以將該字符ASCII碼值+32,同理小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母只需將該字符ASCII碼值-32。

咱們先來(lái)看看這個(gè)代碼:

 咋一看,欸?很不錯(cuò),沒(méi)啥毛病,編譯運(yùn)行試一下,發(fā)現(xiàn)還不錯(cuò)

 確實(shí)可以,但是.....這樣呢?

 啊這.........這是怎么回事呢?

原來(lái),

 我們之前的這個(gè)else,它的執(zhí)行條件是之前if里的范圍的補(bǔ)集,也就是說(shuō)只要是在(x<='a'||x>='z')的范圍內(nèi),它都會(huì)執(zhí)行“x=x+32”,所以出現(xiàn)上述輸入字符,也能輸出的情況。

這個(gè)時(shí)候,只要具體化else的執(zhí)行條件,將其變成else if,即可。

如下:

 這樣就可以啦!

附一個(gè)C語(yǔ)言字母大小寫(xiě)互換的簡(jiǎn)單方法

字母的大小寫(xiě)互換其實(shí)很簡(jiǎn)單

回到最基本的數(shù)據(jù)的存儲(chǔ)形式,從八位二進(jìn)制角度去看大寫(xiě)字母和小寫(xiě)字母,你會(huì)發(fā)現(xiàn)它們的低四位是相同的,高四位有細(xì)微差別。

舉例:

ASCIIDECBIN
‘A’6501000001
‘a’9701100001
‘B’6601000010
‘b’9801100010
‘X’8801011000
‘x’12001111000

仔細(xì)觀(guān)察 發(fā)現(xiàn)是第六位不同!

大小寫(xiě)互換的方法

  • 考慮到低四位完全相同 只用互換高四位的第六位就可以實(shí)現(xiàn)大小寫(xiě)互換
  • 互換高四位的某一位而不改變低四位,我們聯(lián)想到位運(yùn)算中的按位異或^ 關(guān)于按位異或 詳見(jiàn)按位異或
  • 由按位異或的知識(shí),我們可以尋找一個(gè)數(shù),使得任意的一個(gè)八位二進(jìn)制數(shù)與它進(jìn)行異或操作后,高四位的第六位01取反,低四位不變
  • 回顧我們的目標(biāo) 假如把'A'變?yōu)?#39;a' 我們需要把01000001變?yōu)?1100001,也就是把第六位的0變?yōu)? 。
  • 我們找到這個(gè)數(shù)了!它的二進(jìn)制是00100000 十進(jìn)制是32
  • 01000001^00100000=01100001,是不是很神奇?同理把小寫(xiě)字母'a'變?yōu)?#39;A'也只需要把它與32進(jìn)行按位異或操作就可以啦~
#include<stdio.h>
int main(){
    int i;
    char s[100];
    //讀入字符串
    gets(s);
    for(i=0;s[i]!='\0';i++)
    {
        if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
        s[i]^=32;//核心語(yǔ)句,實(shí)現(xiàn)字符串中字母的大小寫(xiě)互換
    }
    printf("%s",s);
    return 0;
}

樣例輸入->

Hello,Java!

樣例輸出->

hELLO,jAVA!

總結(jié)

到此這篇關(guān)于C語(yǔ)言中字母大小寫(xiě)轉(zhuǎn)化的文章就介紹到這了,更多相關(guān)C語(yǔ)言字母大小寫(xiě)轉(zhuǎn)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++可變參數(shù)函數(shù)的實(shí)現(xiàn)方法示例

    C++可變參數(shù)函數(shù)的實(shí)現(xiàn)方法示例

    這篇文章主要給大家介紹了關(guān)于C++可變參數(shù)函數(shù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C語(yǔ)言線(xiàn)性表順序存儲(chǔ)結(jié)構(gòu)實(shí)例詳解

    C語(yǔ)言線(xiàn)性表順序存儲(chǔ)結(jié)構(gòu)實(shí)例詳解

    這篇文章主要介紹了C語(yǔ)言線(xiàn)性表順序存儲(chǔ)結(jié)構(gòu)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++取得當(dāng)前時(shí)間的方法

    C++取得當(dāng)前時(shí)間的方法

    這篇文章主要介紹了C++取得當(dāng)前時(shí)間的方法,實(shí)例展示了通過(guò)系統(tǒng)函數(shù)獲取當(dāng)前時(shí)間的實(shí)現(xiàn)方法,非常簡(jiǎn)單易懂,需要的朋友可以參考下
    2014-10-10
  • c++ 指針與引用的區(qū)別介紹及使用說(shuō)明

    c++ 指針與引用的區(qū)別介紹及使用說(shuō)明

    指針與引用看上去完全不同(指針用操作符*和->,引用使用操作符.),但是它們似乎有相同的功能,感興趣的朋友可以了解下啊,或許本文對(duì)你有所幫助,好了,話(huà)不多說(shuō),切入正題
    2013-01-01
  • C語(yǔ)言數(shù)據(jù)類(lèi)型和格式說(shuō)明符基礎(chǔ)教程示例

    C語(yǔ)言數(shù)據(jù)類(lèi)型和格式說(shuō)明符基礎(chǔ)教程示例

    這篇文章主要為大家介紹了C語(yǔ)言數(shù)據(jù)類(lèi)型和格式說(shuō)明符基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 如何用C++實(shí)現(xiàn)A*尋路算法

    如何用C++實(shí)現(xiàn)A*尋路算法

    尋路是游戲比較重要的一個(gè)組成部分。因?yàn)椴粌HAI還有很多地方(例如RTS游戲里操控人物點(diǎn)到地圖某個(gè)點(diǎn),然后人物自動(dòng)尋路走過(guò)去)都需要用到自動(dòng)尋路的功能。本文將介紹一個(gè)經(jīng)常被使用且效率理想的尋路方法-A*尋路算法,并且提供額外的優(yōu)化思路
    2021-06-06
  • C語(yǔ)言中如何判斷質(zhì)數(shù)

    C語(yǔ)言中如何判斷質(zhì)數(shù)

    這篇文章主要介紹了C語(yǔ)言中的判斷質(zhì)數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • C語(yǔ)言?xún)?nèi)存函數(shù) memcpy,memmove ,memcmp

    C語(yǔ)言?xún)?nèi)存函數(shù) memcpy,memmove ,memcmp

    這篇文章主要介紹了C語(yǔ)言?xún)?nèi)存函數(shù) memcpy,memmove ,memcmp,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • MFC實(shí)現(xiàn)簡(jiǎn)單計(jì)算器

    MFC實(shí)現(xiàn)簡(jiǎn)單計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了MFC實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Qt模仿實(shí)現(xiàn)文字浮動(dòng)字母的效果

    Qt模仿實(shí)現(xiàn)文字浮動(dòng)字母的效果

    這篇文章主要介紹了通過(guò)Qt實(shí)現(xiàn)的文字浮動(dòng)的效果,效果很簡(jiǎn)單就是文本向上移動(dòng),在移動(dòng)過(guò)程中文字整體變大或縮小。感興趣的可以試一試
    2022-01-01

最新評(píng)論

上高县| 长沙市| 巴里| 永仁县| 达孜县| 彝良县| 右玉县| 密云县| 招远市| 沅江市| 高密市| 穆棱市| 榆林市| 边坝县| 含山县| 崇明县| 颍上县| 平阳县| 东乡族自治县| 濮阳县| 大渡口区| 蓬溪县| 虎林市| 潢川县| 尼玛县| 高尔夫| 揭东县| 江阴市| 平阴县| 柳州市| 德阳市| 琼结县| 兰坪| 博野县| 白城市| 比如县| 镇原县| 岳普湖县| 鄂州市| 额敏县| 康平县|