版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章字符型數(shù)據(jù)第6章字符型數(shù)據(jù)16.1字符型常量6.1.1字符常量字符常量是用一對(duì)單引號(hào)括起來的一個(gè)字符。如‘a(chǎn)’、‘B’、‘>’、‘?’等都是字符常量。作為字符常量的小寫字母a,在程序中寫成‘a(chǎn)’,以便和標(biāo)識(shí)符a區(qū)別開來。關(guān)于字符常量,以下有幾點(diǎn)說明:(1)其中單引號(hào)只是作為定界符使用,并不是字符常量的組成部分,也就是說在輸出字符常量時(shí),一對(duì)單引號(hào)并不被輸出。(2)單引號(hào)中的大寫字母和小寫字母代表不同的字符常量,如‘A’和‘a(chǎn)’是不同的字符常量。(3)被一對(duì)單引號(hào)括起來的字符不允許是單引號(hào)或反斜杠,即‘’’或‘\’。冀教版六年下丟棄塑料袋的調(diào)查課件之一2冀教版六年下丟棄塑料袋的調(diào)查課件之一3冀教版六年下丟棄塑料袋的調(diào)查課件之一4字符形式功能\n回車換行,將光標(biāo)從當(dāng)前位置移到下一行開頭\t橫行跳格,相當(dāng)于TAB鍵,光標(biāo)從當(dāng)前位置跳到下一個(gè)TAB位置\b退格,光標(biāo)從當(dāng)前位置向左退一格\r回車不換行,光標(biāo)從當(dāng)前位置移到本行開頭\f換頁,將光標(biāo)從當(dāng)前位置移到下一頁開頭\\反斜杠字符“\”\’單引號(hào)字符(撇號(hào))\’’雙引號(hào)字符\ddd1~3位八進(jìn)制數(shù)代碼對(duì)應(yīng)的字符\xhh1~2位十六進(jìn)制數(shù)代碼對(duì)應(yīng)的字符字符形式功能\n回車換行,將光標(biāo)從當(dāng)前位置移到下一行開頭\t5以下是關(guān)于轉(zhuǎn)義字符的幾點(diǎn)說明:1.轉(zhuǎn)義字符常量只代表一個(gè)字符。2.反斜杠后的八進(jìn)制數(shù)可以不用0開頭,如‘\141’代表的就是字符常量‘a(chǎn)’。3.反斜杠后的十六進(jìn)制數(shù)只能以小寫字母x開頭,不允許用大寫X,也不能用0x開頭,如‘\x41’是代表字符常量‘A’?!攸c(diǎn)提示:轉(zhuǎn)義字符常量,均以一個(gè)“\”開頭。若要輸出一個(gè)\字符,則輸出格式應(yīng)為’\\’。以下是關(guān)于轉(zhuǎn)義字符的幾點(diǎn)說明:66.1.3字符串常量字符串常量是由一對(duì)雙引號(hào)“”括起來的字符序列。例如:“CProgram”、“string”都是字符串常量。字符串常量與字符常量的區(qū)別有以下:(1)使用的引號(hào)類型不同:字符常量由單引號(hào)括起來,字符串常量則用雙引號(hào)括起來。例如:“a”是字符串,‘a(chǎn)’是字符,二者不同。(2)容量不同:字符常量只能是單個(gè)字符,字符串常量則可以含一個(gè)或多個(gè)字符。(3)占用內(nèi)存空間大小不同:字符常量占一個(gè)字節(jié)的內(nèi)存空間,字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的一個(gè)字節(jié)用來存放字符‘\0’,作為字符串的結(jié)束標(biāo)志。
6.1.3字符串常量7字符常量‘B’與字符串常量“B”雖然都只是一個(gè)字符,但占用的內(nèi)存空間不同,前者為1個(gè),后者為2個(gè)。C語言中沒有專門存放字符串的字符串變量,字符串如果需要放在變量中,應(yīng)該放在一個(gè)字符型數(shù)組中,即用一個(gè)字符型數(shù)組來存放一個(gè)字符串。這分部?jī)?nèi)容將在后面章節(jié)予以介紹。※重點(diǎn)提示:系統(tǒng)在每個(gè)字符串的最后自動(dòng)加入一個(gè)字符'\0'作為字符串結(jié)束標(biāo)志。要注意字符常量和字符串常量的區(qū)別。字符常量‘B’與字符串常量“B”雖然都只是一個(gè)字符,但占用86.1.3可對(duì)字符量進(jìn)行的運(yùn)算由于字符量具有數(shù)值,在機(jī)器內(nèi)也是以整型常量的形式存放,因此字符可參與任何整數(shù)運(yùn)算。1.利用算術(shù)運(yùn)算實(shí)現(xiàn)大寫字母與小寫字母的互換。例如:‘A’+32≡65+32≡’a’‘b’-32≡98-32≡’B’2.利用算術(shù)運(yùn)算實(shí)現(xiàn)字符與整數(shù)值之間的互換。例如:‘9’﹣’0’≡57﹣48≡9表達(dá)式中,57、48分別是用十進(jìn)制表示的字符‘9’、’0’的ASCII代碼值。注意,編程時(shí)要分清整數(shù)9和字符9的區(qū)別。6.1.3可對(duì)字符量進(jìn)行的運(yùn)算93.字符常量也可以進(jìn)行關(guān)系運(yùn)算。例如:‘a(chǎn)’<’b’在ASCII代碼表中,’a’的值是97,小于’b’的值98,所以關(guān)系運(yùn)算的結(jié)果為“真”。4.字符常量還可以進(jìn)行邏輯運(yùn)算。例如:‘a(chǎn)’&&’b’的邏輯值為1?!攸c(diǎn)提示:字符常量在機(jī)器內(nèi)以整型常量的形式存放,占一個(gè)字節(jié)。因此,字符常量與整型常量等價(jià)。也就是說,字符常量可以像整數(shù)一樣,在程序中參與各種運(yùn)算。3.字符常量也可以進(jìn)行關(guān)系運(yùn)算。106.2字符變量字符變量就是值為單個(gè)字符的變量。字符型變量的說明格式為:char變量名表;1.字符變量在內(nèi)存中占一個(gè)字節(jié),只能存放一個(gè)字符,可以是ASCII字符集中的任何字符。當(dāng)把字符放入字符變量中時(shí),字符變量中的值就是該字符的ASCII值。2.在合法的取值范圍內(nèi),字符型變量與整型變量可以通用。3.字符型數(shù)據(jù)輸入、輸出形式靈活多樣。一字符數(shù)據(jù)既可以以字符形式輸出,也可以以整數(shù)形式輸出。※重點(diǎn)提示:字符變量可以作為整型變量來處理,可以參與對(duì)整型變量所允許的任何運(yùn)算。6.2字符變量116.3字符的輸入和輸出6.3.1調(diào)用printf和scanf函數(shù)輸出和輸入字符用printf函數(shù)輸出字符時(shí)須使用格式說明%c,但可以在格式字符前加一整數(shù)m,用來指定輸出字符的寬度。調(diào)用scanf函數(shù)可以輸入字符。也須使用格式說明符號(hào)%,且輸入的字符變量前必須加&.以下是幾點(diǎn)關(guān)于scanf輸入字符的幾點(diǎn)說明:(1)當(dāng)使用的格式說明符%c一個(gè)緊接著一個(gè),在輸入的時(shí)候字符之間沒有間隔符時(shí),空格、回車和橫向跳格符都將按字符讀入。(2)在格式控制串中可以加入空格。6.3字符的輸入和輸出12(3)格式控制符前也可以加一整數(shù)m,用來指定輸入數(shù)據(jù)所占寬度。這時(shí)在輸入字符數(shù)據(jù)時(shí),應(yīng)嚴(yán)格按指定的寬度輸入數(shù)據(jù),且取指定寬度中的第一個(gè)字符作為輸入的數(shù)據(jù)。(4)當(dāng)從鍵盤輸入字符,并且在格式說明中并未指定寬度時(shí),輸入的字符將按順序賦予各輸入項(xiàng)。printf和scanf函數(shù)的輸入格式符可以參考第三章中的詳細(xì)說明。以下是scanf函數(shù)應(yīng)用舉例。(3)格式控制符前也可以加一整數(shù)m,用來指定輸入數(shù)據(jù)所占寬度13例如:求方程ax2+bx+c=0的根。其中a,b,c由鍵盤輸入,設(shè)b2-4ac>0。
#include<math.h>
main()
{floata,b,c,disc,x1,x2,p,q;
printf("Pleaseenterfloata,b,c:\n");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);}
程序運(yùn)行結(jié)果為:
x1=-0.37
x2=5.37例如:求方程ax2+bx+c=0的根。其中a,b,c由鍵盤輸14說明:(1)該程序是利用如下一元二次方程的求根公式來求解的:再將此公式分為兩項(xiàng):則方程兩根可表示為:,,說明:,,15(2)程序第9行中sqrt()是求平方根函數(shù)。由于要調(diào)用數(shù)學(xué)函數(shù)庫中的函數(shù),因此必須在程序的開頭用預(yù)處理命令#include<math.h>,把頭文件“math.h”包含到程序中來。請(qǐng)注意,以后凡是在程序中要用到數(shù)學(xué)函數(shù)庫中的函數(shù),都應(yīng)當(dāng)這樣處理?!攸c(diǎn)提示:用printf函數(shù)輸出以及用scanf函數(shù)輸入字符都必須使用格式說明%c。(2)程序第9行中sqrt()是求平方根函數(shù)。由于要調(diào)用數(shù)學(xué)166.3.2調(diào)用putchar和getchar函數(shù)輸出和輸入字符1.putchar()函數(shù)putchar的作用是向終端設(shè)備輸出一個(gè)字符。其一般形式為:putchar(參數(shù))(1)在一個(gè)函數(shù)中要調(diào)用putchar函數(shù),應(yīng)在該函數(shù)的前面(或本文件開頭)加上編譯預(yù)處理語句:#include<stdio.h>6.3.2調(diào)用putchar和getchar函數(shù)輸出和輸入17(2)putchar函數(shù)的參數(shù)可以是字符變量或字符常量或整型變量,也可以是某個(gè)字符對(duì)應(yīng)的ASCII碼值,還可以是表達(dá)式。并且還可以是控制字符,如'\n',它的作用是回車換行,即使輸出的當(dāng)前位置移到下一行的開頭。(3)putchar函數(shù)使用舉例#include<stdio.h>main(){charc1,c2;c1='H';c2='i';putchar(c1);putchar(c2);}程序運(yùn)行結(jié)果為:Hi(2)putchar函數(shù)的參數(shù)可以是字符變量或字符常量或整型182.getchar()函數(shù)getchar函數(shù)的作用是向終端設(shè)備輸入一個(gè)字符。其一般形式為:getchar()getchar函數(shù)不需要參數(shù),函數(shù)的值是從輸入設(shè)備得到的字符。該函數(shù)的使用方式有兩種:(1)把函數(shù)getchar得到的字符代碼賦給一個(gè)字符型或整型變量。例如:inta;a=getchar();(2)把函數(shù)getchar得到的字符代碼直接作為表達(dá)式的一部分,而不賦給任何變量。例如:printf("%c",getchar());冀教版六年下丟棄塑料袋的調(diào)查課件之一19(3)getchar函數(shù)使用舉例#include<stdio.h>main(){inta;printf("Pleaseenteracharacter:");a=getchar();printf("%c\t%d\t%o\t%x\n",a,a,a,a);}程序運(yùn)行結(jié)果為:Pleaseenteracharacter:F<回車>F7010646(3)getchar函數(shù)使用舉例20說明:該程序的作用是從鍵盤上輸入一個(gè)字符,然后顯示該字符及其十進(jìn)制、八進(jìn)制、十六進(jìn)制的ASCII碼值。②試?yán)胓etchar函數(shù)與putchar函數(shù)顯示由鍵盤輸入的一個(gè)字符#include<stdio.h>main(){charc1;c1=getchar();putchar(c1);}程序運(yùn)行結(jié)果為:M<回車>M說明:該程序的作用是從鍵盤上輸入一個(gè)字符,然后顯示該字符及其21說明:putchar函數(shù)的參數(shù)可以是表達(dá)式,因此上述程序的第3、4、5行可以簡(jiǎn)化為一條語句:putchar(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美團(tuán)騎手2025年度團(tuán)隊(duì)協(xié)作與企業(yè)文化融入合同4篇
- 二零二五年度醫(yī)院護(hù)理人員專業(yè)發(fā)展合同4篇
- 2025年度數(shù)據(jù)中心冷卻系統(tǒng)承包合同4篇
- 2025年度冷庫制冷設(shè)備進(jìn)出口貿(mào)易代理合同2篇
- 二零二五年度南京市高新園區(qū)房地產(chǎn)抵押租賃合同
- 二零二五年度新型木托盤租賃及信息化管理服務(wù)合同4篇
- 2025版新型節(jié)能門窗安裝與綠色建筑合同2篇
- 2025年度牛奶飲品國(guó)際市場(chǎng)拓展與海外銷售代理合同4篇
- 2025年專業(yè)培訓(xùn)班股權(quán)投資與管理合同4篇
- 2025年度鋼構(gòu)加工企業(yè)信用風(fēng)險(xiǎn)防范合同
- 小兒甲型流感護(hù)理查房
- 霧化吸入療法合理用藥專家共識(shí)(2024版)解讀
- 2021年全國(guó)高考物理真題試卷及解析(全國(guó)已卷)
- 拆遷評(píng)估機(jī)構(gòu)選定方案
- 趣味知識(shí)問答100道
- 鋼管豎向承載力表
- 2024年新北師大版八年級(jí)上冊(cè)物理全冊(cè)教學(xué)課件(新版教材)
- 人教版數(shù)學(xué)四年級(jí)下冊(cè)核心素養(yǎng)目標(biāo)全冊(cè)教學(xué)設(shè)計(jì)
- JJG 692-2010無創(chuàng)自動(dòng)測(cè)量血壓計(jì)
- 三年級(jí)下冊(cè)口算天天100題(A4打印版)
- CSSD職業(yè)暴露與防護(hù)
評(píng)論
0/150
提交評(píng)論