六字符型數(shù)據(jù)_第1頁
六字符型數(shù)據(jù)_第2頁
六字符型數(shù)據(jù)_第3頁
六字符型數(shù)據(jù)_第4頁
六字符型數(shù)據(jù)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 字 符 型 數(shù) 據(jù)16.1 字符型常量字符型常量分為: 普通字符常量 轉(zhuǎn)義字符常量 字符串常量一、普通字符常量 符號(hào)在計(jì)算機(jī)內(nèi)部也用數(shù)字表示,每個(gè)字符在計(jì)算機(jī)內(nèi)部用一個(gè)整數(shù)表示,目前常用的叫ASCII碼。 因此字符型的本質(zhì)就是整型,只是取值范圍比int小型。 一個(gè)普通字符常量代表ASCII字符集中的一個(gè)字符;在程序中用單引號(hào)括起來作為字符常量。 說明:P68有且只有一個(gè)字符2以下哪些是不合法的普通字符常量? $ “a” ti a a 與a含義相同嗎?字符常量在內(nèi)存中的存放: 占一個(gè)字節(jié),存放的是該字符的ASCII值。 printf(“%c,%d”,a,a); a,973二、轉(zhuǎn)義字符常量以反斜

2、線開頭后跟一特定的字符用來代表一個(gè)特定的ASCII字符。見表P69注意:P68例:說明下列符號(hào)代表的含義 ” 101 101 x6d X6d 0 x6d 0 0試表示以下字符常量。g #g x67 147 # 043 x234三、字符串常量字符串常量是由雙引號(hào)括起來的一串字符(“”內(nèi)可有0至多個(gè)字符)在C語言中,為區(qū)別字符常量,系統(tǒng)會(huì)在每個(gè)字符串最后自動(dòng)加入一個(gè)字符0 即:0 為字符串結(jié)束標(biāo)志例:下列哪些是合法的字符串常量,在內(nèi)存中占多少字節(jié)?“Abdn” “” sdw “0” “%d%d” 5 字符和字符串在內(nèi)存中的存儲(chǔ)6四、關(guān)于字符常量的計(jì)算字符間的運(yùn)算其實(shí)就是用該字符對(duì)應(yīng)的ASCII參與

3、運(yùn)算,所以凡是整型能進(jìn)行的運(yùn)算類型,字符常量也都能進(jìn)行。算術(shù)運(yùn)算B-A = 66-65 = 1 a +1= 97+1= 98= b 9 - 0 = 57-48= 9 9+ 0 = 4 + 0 等價(jià)數(shù)字9與字符9間如何轉(zhuǎn)換?字符9 -字符0=數(shù)字97關(guān)系運(yùn)算 ab 實(shí)際上比較的是ASCII碼值的大小,9798? 結(jié)果為1邏輯運(yùn)算 a&b 97&98 結(jié)果為 1 a & 0 結(jié)果為 a & 0 結(jié)果為86。2 字符變量字符變量用關(guān)鍵字 char 進(jìn)行定義 char chi=*,ch2=n ,ch3;字符變量在內(nèi)存中占一個(gè)字節(jié),字符變量可存放ASCII碼表中的任何字符。字符變量可作為整型變量來處理,

4、可參與對(duì)整型變量所允許的任何運(yùn)算 *無字符串變量!P699 char c1,c2,c3;int k=5; c1=1;c1+; c2=A;c3=(c1+32+k)%25;106.3 字符的輸入和輸出一 、調(diào)用printf 和scanf函數(shù)實(shí)現(xiàn)字符的輸入與輸出 1、程序開頭,出現(xiàn)預(yù)編譯命令include“stdio.h”或者includestdio.h例:在屏幕上實(shí)現(xiàn)字符的輸出69 11include“stdio.h”main() char a; a=S; printf(“a=%4cn”,a);? 輸出的格式默認(rèn)為右對(duì)齊printf(“a=%4cn”,S);12 情況一 char a,b,c; s

5、canf(“%c%c%c”,&a,&b,&c);?如何輸入?怎樣開始讀入?若為:P70對(duì)空格回車符橫向跳格符都做為字符讀入13情況二scanf(“%c%c%c”,&a,&b,&c);?如何輸入?可采用與情況一一樣的輸入格式;此時(shí),空格回車符橫向跳格符被做為間隔符不被讀入!思考:如果要對(duì)a=A b=B c=C 可以怎么輸入?14情況三scanf(“%4c%4c%4c”,&a,&b,&c);?如何輸入?默認(rèn)為左對(duì)齊!當(dāng)從鍵盤輸入字符,并且未指定寬度,輸入的字符(包括空格回車)將按順序賦給各輸入項(xiàng)15情況四混合輸入 int a1,a2; char c1,c2;scanf(“%d%c%d%c”,&a1

6、,&c1,&a2,&c2); 可以采用的輸入方式?當(dāng)交叉(1) 10A 20B 30C (2) 10 A 20 B 30 C (3) 10A (4) 20B 30C16.調(diào)用putchargetchar函數(shù)實(shí)現(xiàn)字符的輸出和輸入putchargetchar只能實(shí)現(xiàn)一個(gè)字符的輸出輸入例:char x; x=getchar() ; =scanf(“%c”,&x) ; putchar(x);=printf(“%c”,x);比較putchar(x)與putchar(x)注意: getchar(),()無參數(shù)?。ǎ┎豢墒『x:從終端讀入一個(gè)字符作為函數(shù)值回車實(shí)現(xiàn)讀入! 17通過putchargetchar

7、函數(shù),給a=* ,然后在屏幕上顯示.#includemain() char a; a=getchar(); putchar(a); putchargetchar函數(shù)與printf scanf的區(qū)別在于:不能實(shí)現(xiàn)格式化輸入和輸出 18main() printf (abctderftgn); printf (htibbjk);運(yùn)行結(jié)果:fgdehjk19如:字符數(shù)據(jù)A的ASCII十進(jìn)制值為65,所以要將A賦值給字符變量c,下面的賦值形式都可:c = A;c = 65;這時(shí),字符變量c在內(nèi)存中保存為如圖2-12所示。20例2-14:向字符變量賦整數(shù)。main() char c1, c2; c1 =

8、97; c2 = c1 + 1; printf( %c %cn, c1,c2); printf( %d %d, c1,c2);運(yùn)行結(jié)果:a b97 9821例2-15:大小寫字母的轉(zhuǎn)換。main() char c1, c2; c1 = a; c2 = b; c1 = c1 32; c2 = c2 32; printf ( %c %c , c1, c2 );226.4程序舉例#include stdio.hmain() char ch; int i; for(i=0;i=a&c=z) c=c-a+A putchar(c); putchar(n);c=getchar()!=n對(duì)嗎?25例4 編寫程序統(tǒng)計(jì)輸入的字符中空格符換行符橫向跳格符的個(gè)數(shù),用!號(hào)結(jié)束輸入isspace函數(shù):判斷字符是否為空格符換行符橫向跳格符include“stdio.h”include“ctype.h”main()long n=o; char ch; while(ch=getchar()!=!) if(isspace(ch) n+; printf(“n=%ldn”,n);26例5 include“stdio.h”inc

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論