国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C語(yǔ)言】字母轉(zhuǎn)換大小寫的三種方法

這篇具有很好參考價(jià)值的文章主要介紹了【C語(yǔ)言】字母轉(zhuǎn)換大小寫的三種方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

??個(gè)人主頁(yè):修修修也

??所屬專欄:C語(yǔ)言

??操作環(huán)境:Visual Studio 2022

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)


目錄

方法一:庫(kù)函數(shù)法

??小寫轉(zhuǎn)換大寫:toupper()函數(shù)

??大寫轉(zhuǎn)換小寫:tolower()函數(shù)

方法二:加減32法

??小寫轉(zhuǎn)換大寫:字符數(shù)據(jù)減32

??大寫轉(zhuǎn)換小寫:字符數(shù)據(jù)加32

方法三:位運(yùn)算法

??大小寫轉(zhuǎn)換:字符數(shù)據(jù)按位異或32

總結(jié)


方法一:庫(kù)函數(shù)法

??小寫轉(zhuǎn)換大寫:toupper()函數(shù)

我們先來(lái)看toupper()函數(shù)簡(jiǎn)介

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

?注意,toupper()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看toupper()函數(shù)的原型

int toupper ( int c );

綜上可知,當(dāng)你向toupper()函數(shù)傳輸一個(gè)小寫字母(實(shí)際是它的ASCII值)時(shí),它會(huì)返回給你一個(gè)該字母對(duì)應(yīng)的大寫字母(實(shí)際是大寫字母的ASCII值)。

我們?cè)囍诰幾g器中測(cè)試一下該函數(shù):

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

?可以看到,toupper()函數(shù)可以直接接收整形數(shù)據(jù)即字符的ASCII碼值作為參數(shù),然后返回相應(yīng)大寫字母的ASCII碼值。

但要注意的是,作為toupper()函數(shù)的參數(shù)的整形只能識(shí)別一個(gè)字節(jié)的整形,即十進(jìn)制0-255范圍內(nèi),如果給定的整形大小超過(guò)一個(gè)字節(jié),則會(huì)發(fā)生整形截?cái)?/strong>,即會(huì)自動(dòng)截?cái)嗪蟀宋恢獾臄?shù)據(jù)

還有需要注意的是,在發(fā)生截?cái)?/strong>的情況下,toupper函數(shù)返回的是截?cái)嗪蟮?span style="color:#fe2c24;">原數(shù)據(jù),而不會(huì)返回轉(zhuǎn)換成大寫后的數(shù)據(jù).

如:

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

?c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)


??大寫轉(zhuǎn)換小寫:tolower()函數(shù)

我們來(lái)看一下tolower()函數(shù)的簡(jiǎn)介

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

?可以發(fā)現(xiàn),tolower()函數(shù)的函數(shù)和前面的toupper()函數(shù)非常相似,區(qū)別只是tolower()函數(shù)大寫轉(zhuǎn)換成小寫,而toupper()函數(shù)則負(fù)責(zé)將小寫轉(zhuǎn)換成大寫。

使用方法完全和toupper()一樣,如:

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

同樣也會(huì)發(fā)生整形截?cái)?/strong>:

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

可以看到,在前面的演示中tolower()函數(shù)也發(fā)生了整形截?cái)?/strong>。

當(dāng)我們會(huì)使用toupper()函數(shù)和tolower()函數(shù)后,下面我們來(lái)看一下如何不借助庫(kù)函數(shù)來(lái)實(shí)現(xiàn)字母的大小寫轉(zhuǎn)換。即構(gòu)造自己的字母大小寫轉(zhuǎn)換函數(shù)


方法二:加減32法

??小寫轉(zhuǎn)換大寫:字符數(shù)據(jù)減32

ASCII碼表:

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

由ASCII碼表我們可以得知,要根據(jù)小寫字母得到大寫字母,只需將小寫字母的值減去32即可,因此我們自己寫一個(gè)函數(shù)負(fù)責(zé)將傳入的符合小寫字母區(qū)間的字母轉(zhuǎn)換成大寫字母,其余不符合的返回原值,代碼實(shí)現(xiàn)邏輯教簡(jiǎn)單.

如下:

#include<stdio.h>
int my_toupper(int ch)
{
	if (ch >= 97 && ch <= 122)
		return ch - 32;
	else
		return ch;
}

int main()
{
	char ch = 'a';
	ch=my_toupper(ch);
	printf("%c", ch);

	return 0;
}

代碼運(yùn)行效果:

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

?c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

可見,該函數(shù)具有成功將小寫字母轉(zhuǎn)換成大寫的功能。


??大寫轉(zhuǎn)換小寫:字符數(shù)據(jù)加32

同理可知,要根據(jù)大寫字母得到小寫字母,只需將大寫字母的值加上32即可,因此我們自己寫一個(gè)函數(shù)負(fù)責(zé)將傳入的符合大寫字母區(qū)間的字母轉(zhuǎn)換成小寫字母,其余不符合的返回原值,該部分代碼實(shí)現(xiàn)邏輯與前文類似.

如下:

#include<stdio.h>
int my_tolower(int ch)
{
	if (ch >= 65 && ch <= 90)
		return ch + 32;
	else
		return ch;
}

int main()
{
	char ch = 'A';
	ch = my_tolower(ch);
	printf("%c", ch);

	return 0;
}

?代碼運(yùn)行效果:

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

該函數(shù)同樣能接收符合條件的字符ASCII碼值完成轉(zhuǎn)換

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

當(dāng)不符合條件時(shí),返回原值

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)


方法三:位運(yùn)算法

??大小寫轉(zhuǎn)換:字符數(shù)據(jù)按位異或32

在位運(yùn)算的層面上,我們可以借助按位異或^ , 相同為0,不同為1)來(lái)幫我們實(shí)現(xiàn)字母大小寫的轉(zhuǎn)換.

如:

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

?反之用97^32=65.

因此該方法可以實(shí)現(xiàn)傳入大寫字符轉(zhuǎn)換成小寫字符,傳入小寫字符轉(zhuǎn)換成大寫字符的效果.

代碼如下:

int my_move(int ch)
{
	if (((ch >= 97) && (ch <= 122)) || ((ch >= 65) && (ch <= 90)))
		return ch ^ 32;
	else
		return ch;
}

int main()
{
	char ch1 = 'a';
	ch1=my_move(ch1);

	char ch2 = 'A';
	ch2=my_move(ch2);

	char ch3 = 97;
	ch3=my_move(ch3);

	char ch4= 65;
	ch4=my_move(ch4);

	char ch5 = 322;
	ch5=my_move(ch5);

	printf("%c\n", ch1);
	printf("%c\n", ch2);
	printf("%c\n", ch3);
	printf("%c\n", ch4);
	printf("%c\n", ch5);

	return 0;
}

代碼運(yùn)行效果如下:

c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)

?可以看到,該函數(shù)同樣可以達(dá)到之前大小寫轉(zhuǎn)換的效果。


總結(jié)

以上就是字母大小寫轉(zhuǎn)換的三種方法的相關(guān)內(nèi)容,希望這篇博客能對(duì)大家有所幫助,歡迎大佬們留言或私信與我交流.

學(xué)海漫浩浩,我亦是行人!我們一起學(xué)習(xí),一起進(jìn)步!

相關(guān)文章推薦

【C語(yǔ)言】判斷字符類型的三種方法

【C語(yǔ)言】qsort()函數(shù)詳解:能給萬(wàn)物排序的神奇函數(shù)

【C語(yǔ)言】整形數(shù)據(jù)和浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

【C語(yǔ)言】結(jié)構(gòu)體的大小是如何計(jì)算的(結(jié)構(gòu)體對(duì)齊)


c語(yǔ)言大小寫轉(zhuǎn)換,c語(yǔ)言,開發(fā)語(yǔ)言,學(xué)習(xí)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-698179.html


到了這里,關(guān)于【C語(yǔ)言】字母轉(zhuǎn)換大小寫的三種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C++——轉(zhuǎn)換字母的大小寫

    C++——轉(zhuǎn)換字母的大小寫

    首先我們要知道,C++字符的所有轉(zhuǎn)換形式都是依照ASCII碼來(lái)的。 轉(zhuǎn)換規(guī)則:大寫字母=小寫字母-32 程序?qū)嵗?程序代碼 運(yùn)行結(jié)果 ? 如果要將大寫字母轉(zhuǎn)換為小寫字母,則小寫字母=大寫字母+32 ?

    2024年02月07日
    瀏覽(232)
  • java中字母、字符串,輸入小寫輸出大寫,輸入大寫輸出小寫、大小寫轉(zhuǎn)換

    思路: 1、利用“大小寫字母之間正好相差32”這一特點(diǎn)?????? ??????????????????????????????????????????????? 2、用? toLowerCase()、toUpperCase() 字符串自帶的方法 ?提示: Java中沒(méi)有.nextChar()。 所以要讀取char,我們使用 ?.next().charAt(0)? 1、 輸入小寫輸

    2024年02月07日
    瀏覽(242)
  • 【Excel】WPS單元格快速轉(zhuǎn)換表格字母大小寫

    【Excel】WPS單元格快速轉(zhuǎn)換表格字母大小寫

    使用WPS Office打開表格,選擇需要處理的單元格或單元格區(qū)域。 依次點(diǎn)擊「會(huì)員專享」選項(xiàng)卡 —「智能工具箱」。 再點(diǎn)擊「格式」—「大小寫」,選擇一種大小寫轉(zhuǎn)換方式即可。

    2024年02月08日
    瀏覽(96)
  • 使用python判斷字母大小寫的幾種方法

    使用Python中的內(nèi)置函數(shù) isupper() 和 islower() 來(lái)判斷一個(gè)字母是否為大寫或小寫字母。 用戶輸入一個(gè)字母,程序使用isupper()和islower()函數(shù)判斷字母是否為大寫或小寫,并輸出相應(yīng)的信息。如果用戶輸入了除字母以外的字符,程序會(huì)輸出一個(gè)錯(cuò)誤信息。 使用ASCII碼值來(lái)判斷字母大

    2024年02月04日
    瀏覽(78)
  • C語(yǔ)言學(xué)習(xí)之統(tǒng)計(jì)英文字符串中26個(gè)字母大小寫出現(xiàn)的次數(shù)

    實(shí)例要求: 編寫C語(yǔ)言代碼,統(tǒng)計(jì)出英文字符串中26個(gè)字母大寫和小寫 出現(xiàn)的次數(shù) ; 輸入輸出如下所示: 實(shí)例分析: 1.對(duì)字符串用 while循環(huán)或者for循環(huán) 進(jìn)行遍歷,找到 26個(gè)英文字母大小寫 ; 2.將所有英文字母大寫或者小寫都轉(zhuǎn)換成 ASCII值 ,進(jìn)行運(yùn)算; 3.封裝相應(yīng)的功能函數(shù)

    2024年02月10日
    瀏覽(93)
  • 【藍(lán)橋杯備賽Java組】語(yǔ)言基礎(chǔ)|競(jìng)賽常用庫(kù)函數(shù)|輸入輸出|String的使用|常見的數(shù)學(xué)方法|大小寫轉(zhuǎn)換

    【藍(lán)橋杯備賽Java組】語(yǔ)言基礎(chǔ)|競(jìng)賽常用庫(kù)函數(shù)|輸入輸出|String的使用|常見的數(shù)學(xué)方法|大小寫轉(zhuǎn)換

    ???個(gè)人主頁(yè):深魚~ ??收錄專欄:藍(lán)橋杯 ??歡迎 ??點(diǎn)贊?評(píng)論?收藏 目錄 一、編程基礎(chǔ) 1.1 Java類的創(chuàng)建 ?1.2 Java方法 ?1.3 輸入輸出 ?1.4 String的使用 二、競(jìng)賽常用庫(kù)函數(shù) 1.常見的數(shù)學(xué)方法 2.大小寫轉(zhuǎn)換 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,

    2024年01月21日
    瀏覽(89)
  • 【藍(lán)橋杯備賽Java組】第一章·語(yǔ)言基礎(chǔ)|競(jìng)賽常用庫(kù)函數(shù)|輸入輸出|String的使用|常見的數(shù)學(xué)方法|大小寫轉(zhuǎn)換

    【藍(lán)橋杯備賽Java組】第一章·語(yǔ)言基礎(chǔ)|競(jìng)賽常用庫(kù)函數(shù)|輸入輸出|String的使用|常見的數(shù)學(xué)方法|大小寫轉(zhuǎn)換

    ???個(gè)人主頁(yè):深魚~ ??收錄專欄:藍(lán)橋杯 ??歡迎 ??點(diǎn)贊?評(píng)論?收藏 目錄 一、編程基礎(chǔ) 1.1 Java類的創(chuàng)建 ?1.2 Java方法 ?1.3 輸入輸出 ?1.4 String的使用 二、競(jìng)賽常用庫(kù)函數(shù) 1.常見的數(shù)學(xué)方法 2.大小寫轉(zhuǎn)換 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,

    2024年01月19日
    瀏覽(98)
  • 26個(gè)字母大小寫的ASCII碼值

    \\\'0\\\'=48; 小寫: a → 97,b → 98,c → 99,d → 100,e → 101,f → 102, g → 103,h → 104,i → 105,j → 106,k → 107,l → 108, m → 109,n → 110,o → 111,p→ 112,q → 113,r → 114, s → 115,t → 116,u → 117,v → 118,w → 119,x → 120,y → 121,z → 122 大寫: A → 65,B → 66,C

    2024年02月11日
    瀏覽(86)
  • JSON.toJSONString首字母大小寫問(wèn)題

    開發(fā)過(guò)程中遇到的,對(duì)象轉(zhuǎn)字符串時(shí),有個(gè)字段首字母是大寫的,轉(zhuǎn)換之后就變成了小寫,在這里記錄下 不管是自帶JSON,還是阿里的fastJson,都會(huì)將屬性的字段首字母改為小寫 通過(guò)注解 @JSONField 可以解決該問(wèn)題,如下; 優(yōu)點(diǎn):少量的話簡(jiǎn)單方便 缺點(diǎn):入侵性強(qiáng),懶得每個(gè)加

    2024年02月09日
    瀏覽(95)
  • Qt之QByteArray大小寫字母轉(zhuǎn)化

    QByteArray類對(duì)象若為帶大小寫字母的字符串,可調(diào)用函數(shù)toUpper()和toLower()實(shí)現(xiàn)字母大小寫 的轉(zhuǎn)換。函數(shù)toUpper()的原型聲明如下: QByteArray toUpper(); 函數(shù)很簡(jiǎn)單,沒(méi)有參數(shù),直接返回轉(zhuǎn)換成大寫字母后的字節(jié)數(shù)組。在轉(zhuǎn)換過(guò)程中,碰到已經(jīng)是大寫的字母就忽略,用法舉例如下:

    2024年01月16日
    瀏覽(87)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包