




已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
全國計算機等級考試二級c,第六章 字符型數(shù)據(jù),2010年10月- 2011年3月,第六章 字符型數(shù)據(jù),6.1字符型常量,課后習(xí)題,6.2字符變量,6.3字符的輸入和輸出,6.4程序舉例,字符常量是用單引號括起來的一個字符。 例如: a、b、=、+、? 都是合法字符常量。 在語言中,字符常量有以下特點: 字符常量只能用單引號括起來,不能用雙引號或其它括號。 字符常量只能是單個字符,不能是字符串。 字符可以是字符集中任意字符。但數(shù)字被定義為字符型之后就不能參與數(shù)值運算。如5和5 是不同的。5是字符常量,不能參與運算。,6.1.1字符常量,字符常量在內(nèi)存中占一個字節(jié),存放的是字符的ascii代碼值。c語言規(guī)定,所有字符常量都作為整型量來處理,在計算機內(nèi)部,其對應(yīng)的整數(shù)值就是ascii字符集中該字符的序號( 即ascii代碼值).,轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線“開頭,后跟一個或幾個字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。例如,在前面各例題printf函數(shù)的格式串中用到的“n”就是一個轉(zhuǎn)義字符,其意義是“回車換行”。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。 常用的轉(zhuǎn)義字符及其含義,6.1.2轉(zhuǎn)義字符常量,廣義地講,語言字符集中的任何一個字符均可用轉(zhuǎn)義字符來表示。表中的ddd和xhh正是為此而提出的。ddd和hh分別為八進制和十六進制的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字符串常量,字符串常量是由一對雙引號括起的字符序列。例如: “china“ , “c program” , “$12.5“ 等都是合法的字符串常量。 字符串常量和字符常量是不同的量。它們之間主要有以下區(qū)別: 1) 字符常量由單引號括起來,字符串常量由雙引號括起來。 2) 字符常量只能是單個字符,字符串常量則可以含一個或多個字符。 3)可以把一個字符常量賦予一個字符變量,但不能把一個字符串常量賦予一個字符變量。在語言中沒有相應(yīng)的字符串變量。這是與basic 語言不同的。但是可以用一個字符數(shù)組來存放一個字符串常量。在數(shù)組一章內(nèi)予以介紹。 4)字符常量占一個字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的一個字節(jié)中存放字符“0“ (ascii碼為0)。這是字符串結(jié)束的標志。 例如: 字符串 “c program“ 在內(nèi)存中所占的字節(jié)為:,字符常量a和字符串常量“a“雖然都只有一個字符,但在內(nèi)存中的情況是不同的。 a在內(nèi)存中占一個字節(jié),可表示為:,“a“在內(nèi)存中占二個字節(jié),可表示為:,綜上所述,字符常量a與字符串常量“a“是兩回事: (1)定界符不同:字符常量使用單引號,而字符串常量使用雙引號; (2)長度不同:字符常量的長度固定為1,而字符串常量的長度,可以是0,也可以是某個整數(shù); (3)存儲要求不同:字符常量存儲的是字符的ascii碼值,而字符串常量,除了要存儲有效的字符外,還要存儲一個結(jié)束標志0。,6.1.4可對字符量進行的運算,每個字符變量被分配一個字節(jié)的內(nèi)存空間,因此只能存放一個字符。字符值是以ascii碼的形式存放在變量的內(nèi)存單元之中的。 如x的十進制ascii碼是120,y的十進制ascii碼是121。對字符變量a,b賦予x和y值: a=x; b=y; 實際上是在a,b兩個單元內(nèi)存放120和121的二進制代碼: a:01111000 b: 01111001 所以也可以把它們看成是整型量。語言允許對整型變量賦以字符值,也允許對字符變量賦以整型值。在輸出時,允許把字符變量按整型量輸出,也允許把整型量按字符量輸出。 整型量為二字節(jié)量,字符量為單字節(jié)量,當(dāng)整型量按字符型量處理時,只有低八位字節(jié)參與處理。,6.1.4可對字符量進行的運算(續(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“時,對應(yīng)輸出的變量值為字符,當(dāng)格式符為“d“時,對應(yīng)輸出的變量值為整數(shù)。,6.1.4可對字符量進行的運算(續(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ù)值運算,即用字符的ascii 碼參與運算。由于大小寫字母的ascii 碼相差32,因此運算后把小寫字母換成大寫字母。然后分別以整型和字符型輸出。,6.2字符變量,字符變量用來存儲字符常量,即單個字符。 字符變量的類型說明符是char。字符變量類型定義的格式和書寫規(guī)則都與整型變量相同。,字符變量的類型關(guān)鍵字為char,一般占用1字節(jié)內(nèi)存單元。 一、變量值的存儲 字符變量用來存儲字符常量。將一個字符常量存儲到一個字符變量中,實際上是將該字符的ascii碼值(無符號整數(shù))存儲到內(nèi)存單元中。 例如, char ch1, ch2; /*定義兩個字符變量:ch1,ch2*/ ch1=a; ch2=b; /*給字符變量賦值*/,二、特性 字符數(shù)據(jù)在內(nèi)存中存儲的是字符的ascii碼 一個無符號整數(shù),其形式與整數(shù)的存儲形式一樣,所以語言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。 (1)一個字符型數(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); 程序運行結(jié)果: ch1=a,ch2=b ch1=97,ch2=98,(2)允許對字符數(shù)據(jù)進行算術(shù)運算,此時就是對它們的ascii碼值進行算術(shù)運算。 案例 字符數(shù)據(jù)的算術(shù)運算。 /*程序功能:字符數(shù)據(jù)的算術(shù)運算*/ main() char ch1,ch2; ch1=a; ch2=b; /*字母的大小寫轉(zhuǎn)換*/ printf(“ch1=%c,ch2=%cn”,ch1-32,ch2+32); /*用字符形式輸出一個大于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); ,程序運行結(jié)果: ch1=a,ch2=b ch1+200=297 ch1+200=) ch1+256=353 ch1+256=a,6.3字符的輸入和輸出,在使用語言庫函數(shù)時,要用預(yù)編譯命令 #include 將有關(guān)“頭文件”包括到源文件中。 使用標準輸入輸出庫函數(shù)時要用到 “stdio.h”文件,因此源文件開頭應(yīng)有以下預(yù)編譯命令: #include 或 #include ”stdio.h” 具體見書本p69-70頁(前面已介紹),6.3.1調(diào)用printf和scanf函數(shù)輸出和輸入字符,一、 putchar函數(shù)是字符輸出函數(shù),其功能是在顯示器上輸出單個字符。 其一般形式為: putchar(字符變量) 例如: putchar(a); (輸出大寫字母a) putchar(x); (輸出字符變量x的值) putchar(101); (也是輸出字符a) putchar(n); (換行) 對控制字符則執(zhí)行控制功能,不在屏幕上顯示。 使用本函數(shù)前必須要用文件包含命令: #include 或 #include “stdio.h”,6.3.2調(diào)用putchar和getchar函數(shù)輸出和輸入字符,【例】輸出單個字符。 #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ù)的功能是從鍵盤上輸入一個字符。 其一般形式為: getchar(); 通常把輸入的字符賦予一個字符變量,構(gòu)成賦值語句,如: char c; c=getchar(); 使用getchar函數(shù)還應(yīng)注意幾個問題: 1)getchar函數(shù)只能接受單個字符,輸入數(shù)字也按字符處理。輸入多于一個字符時,只接收第一個字符。 2)使用本函數(shù)前必須包含文件“stdio.h”。 3)在tc屏幕下運行含本函數(shù)程序時,將退出tc 屏幕進入用戶屏幕等待用戶輸入。輸入完畢再返回tc屏幕。 4) 程序最后兩行可用下面兩行的任意一行代替: putchar(getc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)化學(xué)全線復(fù)習(xí)試題及答案
- 中國烽火輪動輪行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告2025-2028版
- 商務(wù)英語方案制定試題及答案
- 中國格子布拉桿箱行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告2025-2028版
- 中國機器化農(nóng)業(yè)機具行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告2025-2028版
- 交流標準2025年商務(wù)英語考試試題及答案
- 中國房車行業(yè)發(fā)展趨勢與投資戰(zhàn)略研究報告2025-2028版
- 中國強力霉素堿行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告2025-2028版
- 硫化氫泄漏事故處置
- 精致住宅設(shè)計與裝修合同
- 博物館藏品庫房管理課件
- 2022年2月興業(yè)銀行審計部招聘人員模擬試題3套(含答案解析)
- 工貿(mào)行業(yè)重點可燃性粉塵目錄(2015版)
- 焊接質(zhì)量檢查表
- 形式發(fā)票模板
- 高一語文《赤壁賦》 完整版課件PPT
- DB32∕T 2880-2016 光纖傳感式橋隧結(jié)構(gòu)健康監(jiān)測系統(tǒng)設(shè)計、施工及維護規(guī)范
- 北師大版小學(xué)數(shù)學(xué)二年級下冊第三單元《練習(xí)二》教學(xué)設(shè)計建議及課本習(xí)題解析
- 渤海財險非車險業(yè)務(wù)培訓(xùn)
- 水工隧洞施工ppt課件
- BOSCH電控柴油共軌12傳感器介紹
評論
0/150
提交評論