




已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
全國計(jì)算機(jī)等級(jí)考試二級(jí)c,第六章 字符型數(shù)據(jù),2010年10月- 2011年3月,第六章 字符型數(shù)據(jù),6.1字符型常量,課后習(xí)題,6.2字符變量,6.3字符的輸入和輸出,6.4程序舉例,字符常量是用單引號(hào)括起來的一個(gè)字符。 例如: a、b、=、+、? 都是合法字符常量。 在語言中,字符常量有以下特點(diǎn): 字符常量只能用單引號(hào)括起來,不能用雙引號(hào)或其它括號(hào)。 字符常量只能是單個(gè)字符,不能是字符串。 字符可以是字符集中任意字符。但數(shù)字被定義為字符型之后就不能參與數(shù)值運(yùn)算。如5和5 是不同的。5是字符常量,不能參與運(yùn)算。,6.1.1字符常量,字符常量在內(nèi)存中占一個(gè)字節(jié),存放的是字符的ascii代碼值。c語言規(guī)定,所有字符常量都作為整型量來處理,在計(jì)算機(jī)內(nèi)部,其對(duì)應(yīng)的整數(shù)值就是ascii字符集中該字符的序號(hào)( 即ascii代碼值).,轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線“開頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。例如,在前面各例題printf函數(shù)的格式串中用到的“n”就是一個(gè)轉(zhuǎn)義字符,其意義是“回車換行”。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。 常用的轉(zhuǎn)義字符及其含義,6.1.2轉(zhuǎn)義字符常量,廣義地講,語言字符集中的任何一個(gè)字符均可用轉(zhuǎn)義字符來表示。表中的ddd和xhh正是為此而提出的。ddd和hh分別為八進(jìn)制和十六進(jìn)制的ascii代碼。如101表示字母“a“ ,102表示字母“b“,134表示反斜線,xoa表示換行等。 【例3.8】轉(zhuǎn)義字符的使用。 main() int a,b,c; a=5; b=6; c=7; printf(“ ab ctderfn”); printf(“hijktlbmn”); 注意: p68(1)-(3),6.1.3字符串常量,字符串常量是由一對(duì)雙引號(hào)括起的字符序列。例如: “china“ , “c program” , “$12.5“ 等都是合法的字符串常量。 字符串常量和字符常量是不同的量。它們之間主要有以下區(qū)別: 1) 字符常量由單引號(hào)括起來,字符串常量由雙引號(hào)括起來。 2) 字符常量只能是單個(gè)字符,字符串常量則可以含一個(gè)或多個(gè)字符。 3)可以把一個(gè)字符常量賦予一個(gè)字符變量,但不能把一個(gè)字符串常量賦予一個(gè)字符變量。在語言中沒有相應(yīng)的字符串變量。這是與basic 語言不同的。但是可以用一個(gè)字符數(shù)組來存放一個(gè)字符串常量。在數(shù)組一章內(nèi)予以介紹。 4)字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的一個(gè)字節(jié)中存放字符“0“ (ascii碼為0)。這是字符串結(jié)束的標(biāo)志。 例如: 字符串 “c program“ 在內(nèi)存中所占的字節(jié)為:,字符常量a和字符串常量“a“雖然都只有一個(gè)字符,但在內(nèi)存中的情況是不同的。 a在內(nèi)存中占一個(gè)字節(jié),可表示為:,“a“在內(nèi)存中占二個(gè)字節(jié),可表示為:,綜上所述,字符常量a與字符串常量“a“是兩回事: (1)定界符不同:字符常量使用單引號(hào),而字符串常量使用雙引號(hào); (2)長(zhǎng)度不同:字符常量的長(zhǎng)度固定為1,而字符串常量的長(zhǎng)度,可以是0,也可以是某個(gè)整數(shù); (3)存儲(chǔ)要求不同:字符常量存儲(chǔ)的是字符的ascii碼值,而字符串常量,除了要存儲(chǔ)有效的字符外,還要存儲(chǔ)一個(gè)結(jié)束標(biāo)志0。,6.1.4可對(duì)字符量進(jìn)行的運(yùn)算,每個(gè)字符變量被分配一個(gè)字節(jié)的內(nèi)存空間,因此只能存放一個(gè)字符。字符值是以ascii碼的形式存放在變量的內(nèi)存單元之中的。 如x的十進(jìn)制ascii碼是120,y的十進(jìn)制ascii碼是121。對(duì)字符變量a,b賦予x和y值: a=x; b=y; 實(shí)際上是在a,b兩個(gè)單元內(nèi)存放120和121的二進(jìn)制代碼: a:01111000 b: 01111001 所以也可以把它們看成是整型量。語言允許對(duì)整型變量賦以字符值,也允許對(duì)字符變量賦以整型值。在輸出時(shí),允許把字符變量按整型量輸出,也允許把整型量按字符量輸出。 整型量為二字節(jié)量,字符量為單字節(jié)量,當(dāng)整型量按字符型量處理時(shí),只有低八位字節(jié)參與處理。,6.1.4可對(duì)字符量進(jìn)行的運(yùn)算(續(xù)),【例】向字符變量賦以整數(shù)。 main() char a,b; a=120; b=121; printf(“%c,%cn“,a,b); printf(“%d,%dn“,a,b); 本程序中定義a,b為字符型,但在賦值語句中賦以整型值。從結(jié)果看,a,b值的輸出形式取決于printf函數(shù)格式串中的格式符,當(dāng)格式符為“c“時(shí),對(duì)應(yīng)輸出的變量值為字符,當(dāng)格式符為“d“時(shí),對(duì)應(yīng)輸出的變量值為整數(shù)。,6.1.4可對(duì)字符量進(jìn)行的運(yùn)算(續(xù)),【例】 main() char a,b; a=a; b=b; a=a-32; b=b-32; printf(“%c,%cn%d,%dn“,a,b,a,b); 本例中,a,b被說明為字符變量并賦予字符值,語言允許字符變量參與數(shù)值運(yùn)算,即用字符的ascii 碼參與運(yùn)算。由于大小寫字母的ascii 碼相差32,因此運(yùn)算后把小寫字母換成大寫字母。然后分別以整型和字符型輸出。,6.2字符變量,字符變量用來存儲(chǔ)字符常量,即單個(gè)字符。 字符變量的類型說明符是char。字符變量類型定義的格式和書寫規(guī)則都與整型變量相同。,字符變量的類型關(guān)鍵字為char,一般占用1字節(jié)內(nèi)存單元。 一、變量值的存儲(chǔ) 字符變量用來存儲(chǔ)字符常量。將一個(gè)字符常量存儲(chǔ)到一個(gè)字符變量中,實(shí)際上是將該字符的ascii碼值(無符號(hào)整數(shù))存儲(chǔ)到內(nèi)存單元中。 例如, char ch1, ch2; /*定義兩個(gè)字符變量:ch1,ch2*/ ch1=a; ch2=b; /*給字符變量賦值*/,二、特性 字符數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是字符的ascii碼 一個(gè)無符號(hào)整數(shù),其形式與整數(shù)的存儲(chǔ)形式一樣,所以語言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。 (1)一個(gè)字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。 案例 字符變量的字符形式輸出和整數(shù)形式輸出。 main() char ch1,ch2; ch1=a; ch2=b; printf(“ch1=%c,ch2=%cn”,ch1,ch2); printf(“ch1=%d,ch2=%dn”,ch1,ch2); 程序運(yùn)行結(jié)果: ch1=a,ch2=b ch1=97,ch2=98,(2)允許對(duì)字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)就是對(duì)它們的ascii碼值進(jìn)行算術(shù)運(yùn)算。 案例 字符數(shù)據(jù)的算術(shù)運(yùn)算。 /*程序功能:字符數(shù)據(jù)的算術(shù)運(yùn)算*/ main() char ch1,ch2; ch1=a; ch2=b; /*字母的大小寫轉(zhuǎn)換*/ printf(“ch1=%c,ch2=%cn”,ch1-32,ch2+32); /*用字符形式輸出一個(gè)大于256的數(shù)值*/ printf(“ch1+200=%dn“, ch1+200); printf(“ch1+200=%cn“, ch1+200); printf(“ch1+256=%dn“, ch1+256); printf(“ch1+256=%cn“, ch1+256); ,程序運(yùn)行結(jié)果: ch1=a,ch2=b ch1+200=297 ch1+200=) ch1+256=353 ch1+256=a,6.3字符的輸入和輸出,在使用語言庫函數(shù)時(shí),要用預(yù)編譯命令 #include 將有關(guān)“頭文件”包括到源文件中。 使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時(shí)要用到 “stdio.h”文件,因此源文件開頭應(yīng)有以下預(yù)編譯命令: #include 或 #include ”stdio.h” 具體見書本p69-70頁(前面已介紹),6.3.1調(diào)用printf和scanf函數(shù)輸出和輸入字符,一、 putchar函數(shù)是字符輸出函數(shù),其功能是在顯示器上輸出單個(gè)字符。 其一般形式為: putchar(字符變量) 例如: putchar(a); (輸出大寫字母a) putchar(x); (輸出字符變量x的值) putchar(101); (也是輸出字符a) putchar(n); (換行) 對(duì)控制字符則執(zhí)行控制功能,不在屏幕上顯示。 使用本函數(shù)前必須要用文件包含命令: #include 或 #include “stdio.h”,6.3.2調(diào)用putchar和getchar函數(shù)輸出和輸入字符,【例】輸出單個(gè)字符。 #include main() char a=b,b=o,c=k; putchar(a);putchar(b);putchar(b);putchar(c); putchar(t); putchar(a);putchar(b); putchar(n); putchar(b);putchar(c); ,二、getchar函數(shù)(鍵盤輸入函數(shù)) getchar函數(shù)的功能是從鍵盤上輸入一個(gè)字符。 其一般形式為: getchar(); 通常把輸入的字符賦予一個(gè)字符變量,構(gòu)成賦值語句,如: char c; c=getchar(); 使用getchar函數(shù)還應(yīng)注意幾個(gè)問題: 1)getchar函數(shù)只能接受單個(gè)字符,輸入數(shù)字也按字符處理。輸入多于一個(gè)字符時(shí),只接收第一個(gè)字符。 2)使用本函數(shù)前必須包含文件“stdio.h”。 3)在tc屏幕下運(yùn)行含本函數(shù)程序時(shí),將退出tc 屏幕進(jìn)入用戶屏幕等待用戶輸入。輸入完畢再返回tc屏幕。 4) 程序最后兩行可用下面兩行的任意一行代替: putchar(getc
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛借用與駕駛資格認(rèn)證合同協(xié)議書
- 節(jié)能環(huán)保項(xiàng)目投資誠意金合同
- LED信息發(fā)布屏采購安裝及后期維護(hù)服務(wù)協(xié)議
- 護(hù)理技能培訓(xùn)要點(diǎn)
- 2025年農(nóng)產(chǎn)品收購協(xié)議
- 功和機(jī)械能 專項(xiàng)訓(xùn)練(解析版)-2025年中考物理一輪復(fù)習(xí)
- 人體細(xì)胞更新周期
- 高考英語3500考綱核心高頻詞突破Day2【詞匯拓展+練習(xí)】
- 放療護(hù)理查房流程
- 2025屆高三英語基礎(chǔ)寫作:一次難忘的活動(dòng)(2024屆高三第二次學(xué)業(yè)質(zhì)量評(píng)價(jià)) T8聯(lián)考應(yīng)用文課件(共27張)
- 醫(yī)院處方箋-模板
- 【渝人發(fā)〔2008〕2號(hào)】重慶市事業(yè)單位崗位設(shè)置管理實(shí)施辦法(試行)
- 物流信息技術(shù)課程
- Q∕GDW 10354-2020 智能電能表功能規(guī)范
- 公安局凍結(jié)解除凍結(jié)存款匯款通知書
- (高清正版)JJF 1908-2021 雙金屬溫度計(jì)校準(zhǔn)規(guī)范
- 硬式內(nèi)窺鏡項(xiàng)目計(jì)劃書_模板范本
- 最新防雷設(shè)施檢測(cè)報(bào)告范本
- 上海初中科學(xué)會(huì)考知識(shí)點(diǎn)匯總——七年級(jí)第一學(xué)期牛津
- 計(jì)算機(jī)辦公軟件應(yīng)用培訓(xùn)教學(xué)計(jì)劃
- 專業(yè)技術(shù)人員年度情況考核登記表
評(píng)論
0/150
提交評(píng)論