c語言輸入輸出語句ppt課件.ppt_第1頁
c語言輸入輸出語句ppt課件.ppt_第2頁
c語言輸入輸出語句ppt課件.ppt_第3頁
c語言輸入輸出語句ppt課件.ppt_第4頁
c語言輸入輸出語句ppt課件.ppt_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

輸入輸出語句,在程序的運(yùn)行過程中,往往需要由用戶輸入一些數(shù)據(jù),這些數(shù)據(jù)經(jīng)機(jī)器處理后要輸出反饋給用戶。通過數(shù)據(jù)的輸入輸出來實(shí)現(xiàn)人與計(jì)算機(jī)之間的交互,所以在程序設(shè)計(jì)中,輸入輸出語句是一類必不可少的重要語句。在C語言中,沒有專門的輸入輸出語句,所有的輸入輸出操作都是通過對標(biāo)準(zhǔn)I/O庫函數(shù)的調(diào)用實(shí)現(xiàn)。最常用的輸入輸出函數(shù)有scanf()、printf()、getchar()、putchar()、gets()、puts()。,1,4.1putchar函數(shù),當(dāng)我們要把字符一個一個輸出時,可以用putchar函數(shù),它是一個專門輸出字符的函數(shù)。其一般形式是:該函數(shù)的功能是輸出“字符表達(dá)式”的值。例如:putchar(A);輸出字符A;putchar(A+1);輸出字符B;在使用標(biāo)準(zhǔn)I/O庫函數(shù)時,要用預(yù)編譯命令“#inciude”將“stdio.h”文件包含到用戶源文件中,即:stdio.h是standardinput“格式控制”是用雙引號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它用于控制輸出數(shù)據(jù)的格式。,printf(,),3,“格式控制”包括兩種信息:(1)格式說明,由“%”和格式說明字符組成,如%d、%f。表4.1printf格式符,4,(2)普通字符,即需要原樣輸出的字符。例如:printf(a=%db=%d,a,b);在上面雙引號中的字符除了“%d”和“%d”以外,還有非格式說明的普通字符(“a=”和“b=”),它們按原樣輸出。計(jì)算機(jī)在執(zhí)行該語句時,首先輸出格式控制串中的“a=”,然后碰到一個格式說明“%d”,就從輸出表列中取第一個教據(jù)項(xiàng)a,按格式說明輸出該數(shù)據(jù)項(xiàng)值,然后原樣輸出格式控制串中的“b=”,又碰到第二個格式說明“%d”,取輸出表列中的第二個數(shù)據(jù)項(xiàng)b,按格式說明輸出其值。,5,4.2.2格式說明字符,d格式符用來控制整型數(shù)按十進(jìn)制形式輸出。%d,按整型數(shù)據(jù)的實(shí)際長度輸出。%md,m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)(包括負(fù)號)小于m,則右對齊左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。%-md,m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左對齊補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出%ld,輸出長整型數(shù)據(jù)。,6,o格式符以八進(jìn)制數(shù)形式輸出整型數(shù)據(jù)。數(shù)值不帶符號,即將符號也一起作為八進(jìn)制數(shù)的一部分輸出。對長整數(shù)(long型)可以用“%lo”格式輸出。可以指定字段寬度,如“%8o”。o格式符一般用于輸出正整數(shù)或無符號類型的數(shù)據(jù)。,7,x格式符以16進(jìn)制形式輸出整型數(shù)據(jù)。不會出現(xiàn)負(fù)的十六進(jìn)制數(shù)??梢杂谩?x”輸出長整型數(shù)??梢灾付ㄝ敵鲎侄蔚膶挾龋纭?12x”。x格式符一般用于輸出正整數(shù)或無符號類型的數(shù)據(jù)。,8,u格式符用來輸出unsigned數(shù)據(jù),即無符號數(shù),以十進(jìn)制形式輸出。一個有符號整型數(shù)(int型)也可以用%u格式輸出,此時把符號位當(dāng)作數(shù)值看待。一個unsigned型數(shù)據(jù)也可以用%d格式輸出,按相互賦值的規(guī)則處理。unsigned數(shù)據(jù)也可用.%o或%x格式輸出。,9,c格式符用來輸出一個字符。如:charc=a;printf(%c,c);輸出字符a,注意“%c”的c是格式符,逗號右邊的C是變量名,不要搞混。一個整數(shù),只要它的值在0255范圍內(nèi),也可以用字符形式輸,在輸出前將該整數(shù)轉(zhuǎn)換成換成相應(yīng)的ASCII字符;反之,一個字符數(shù)據(jù)也可以用整型數(shù)形式輸出,但輸出的是其ASCII碼值。,10,s格式符%s,用來輸出一個字符串(不包括雙引號)。%ms,輸出的字符串占m列,若字符串長度小于m,則“右對齊”,左邊補(bǔ)空格。如字符本身長度大于m,則突破m的限制,將字符串全部輸出。%-ms,若字符串長度小于m,則在m列范圍內(nèi),“左對齊”,右邊補(bǔ)空格。如字符本身長度大于m,則突破m的限制,將字符串全部輸出。%m.ns,輸出占m列,但只取字符串中左端n個字符。這n個字符輸出在m列的右側(cè),左邊補(bǔ)空格。%-m.ns,其中m、n含義同上,n個字符輸出在m列范圍的左側(cè),右面補(bǔ)空格。如果m省略或nm,則m自動取n值,即保證n個字符正常輸出。,11,f格式符用來輸出實(shí)型數(shù)(包括單、雙精度數(shù)),以小數(shù)形式輸出。%f,不指定字段寬度,由系統(tǒng)自動指定,使整數(shù)部分全部如數(shù)輸出,并輸入6位小數(shù)。應(yīng)當(dāng)注意,并非全部數(shù)字都是有效數(shù)字,單精度數(shù)的有效位數(shù)一般為7位。也就是說單精度數(shù)用%f格式輸出,只有前7位是有效的。雙精度數(shù)的有效位數(shù)一般為16位,雙精度數(shù)用%f格式輸出時,只有前16位有效。%m.nf,指定輸出的數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長度(包括小數(shù)點(diǎn)和負(fù)號)小于m,則采用“右對齊”輸出,左端補(bǔ)空格。如果m省略則整數(shù)部分按實(shí)際寬度如數(shù)輸出。%-m.nf與%m.nf基本相同,只是使輸出的數(shù)值“左對齊”,右端補(bǔ)空格。,12,e格式符以指數(shù)形式輸出實(shí)數(shù)。%e,不指定輸出所占的寬度和數(shù)字部分小數(shù)位數(shù),由系統(tǒng)自動指定給出6位小數(shù),指數(shù)部分占5位(如e+002),其中“e”占一位,指數(shù)符號占一位,指數(shù)占3位。數(shù)值按標(biāo)準(zhǔn)化指數(shù)形式輸出(即小數(shù)點(diǎn)前必須有而且只有一位非零數(shù)字)。%m.ne和%-m.ne,m、n及“-”字符含義與之前相同。此處n為指數(shù)的數(shù)字部分(又稱尾數(shù))的小數(shù)位數(shù)。如省略n,則n=6。如省略m,則自動使m等于數(shù)據(jù)應(yīng)有的長度,即m=7+n。,13,g格式符用來輸出實(shí)型數(shù),它根據(jù)數(shù)值的大小,自動選f格式或e格式(選擇輸出時占寬度較小的一種),且不輸出無意義的零。例:若f=123.468,則:printf(”%f,%e,%g”,f,f,f);輸出如下:123.468000,1.234680e+002,123.468用%f格式輸出占10列,用%e格式輸出占13列,用%g格式時,自動從前面兩種格式中選擇短者(今為%f格式為短),故選擇按%f格式輸出,且小數(shù)位中的最后三位為無意義的0,不輸出。%g格式用得比較少。,14,在使用函數(shù)printf函數(shù)時,還有幾點(diǎn)要說明:格式字符要用小寫字母,如%d不能寫成%D。可以在printf函數(shù)中的“格式控制”字符串內(nèi)包含轉(zhuǎn)義字符,如n、t、b、r、f、377等,它們將原樣輸出。上面介紹的d、o、x、u、c、s、f、e、g等字符,如不是用在“%”后面就作為普通字符,原樣輸出。如果想輸出字符“%”,可以在“格式控制”字符串中用連續(xù)兩個%表示,或者使用轉(zhuǎn)義字符“45”。不同的系統(tǒng)在格式輸出時,輸出結(jié)果可能會有一些小的差別,例如用%e格式符輸出實(shí)數(shù)時,有些系統(tǒng)輸出的指數(shù)部分為4位(如e+02)而不是5位(如e+002),前面數(shù)字的小數(shù)部分為5位而不是6位等等。,15,4.3getchar函數(shù),此函數(shù)的作用是從鍵盤輸入一個字符,并把這個字符作為函數(shù)的返回值。getchar函數(shù)沒有參數(shù),其一般形式為:getchar()。例4.8請注意,getchar()只能接受一個字符。getchar函數(shù)得到的字符可以賦給一個字符變量或整型變量。也可以不賦給任何變量。也可以作為表達(dá)式的一部分在一個函數(shù)中調(diào)用getchar函數(shù),應(yīng)該在函數(shù)的前面(或本文件開頭)用:#include,#includemain()charc;c=getchar();putchar(c);,在運(yùn)行時,如果從鍵盤輸入字符a;a(輸入a后,按回車鍵字符才送到內(nèi)存)a(輸出變量c的值a),16,4.4scanf函數(shù),4.4.1一般形式scanf函數(shù)的一般形式是:其中,“地址表列”由若干個地址組成的表列,是可以接受數(shù)據(jù)的變量的地址?!案袷娇刂啤钡暮x同printf函數(shù),但scanf中的“格式控制”是控制輸入的數(shù)據(jù)。例4.9main()inta,b,c;scanf(“%d%d%d”,scanf(),17,4.4.2格式說明,和printf函數(shù)中的格式說明相似,scanf中的格式說明也以%開始,以一個格式字符結(jié)束,中間可以插入附加格式說明字符(修飾符)。如表4.3和4.4所示。,18,表4.3scanf格式字符,19,表4.4scanf附加的格式說明字符,20,說明:(1)C語言在scanf中不使用%u格式符,對unsigned型數(shù)據(jù),以%d、%o或%x格式輸入。(2)可以指定輸入數(shù)據(jù)所占列數(shù),系統(tǒng)自動按它截取所需數(shù)據(jù)。(3)%后的附加說明符”*”,用來表示跳過它相應(yīng)的數(shù)據(jù)。(4)輸入數(shù)據(jù)時不能規(guī)定精度。,21,4.4.3scanf函數(shù)的執(zhí)行中應(yīng)注意的問題,scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng)是變量名。如果在“格式控制”字符串中除了格式說明外還有其它字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符,即原樣輸入。在用“%c”格式輸入字符時,空格字符和“轉(zhuǎn)義字符”都作為有效字符輸入。在輸入數(shù)據(jù)時,遇到以下情況時該數(shù)據(jù)認(rèn)為結(jié)束;遇空格,或回車鍵或跳格鍵(tab鍵)。遇寬度結(jié)束時,如“%3d”,只取3列。遇非法輸入。,22,4.5gets和puts函數(shù),gets()函數(shù)用來從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)讀取字符串直到回車結(jié)束,但回車符不屬于這個字符串。其調(diào)用格式為:gets(s);其中s為字符串變量(字符串?dāng)?shù)組名或字符串指針)。gets(s)函數(shù)與scanf(%s,其中s為字符串變量(字符串?dāng)?shù)組名或字符串指針)。puts()函數(shù)的作用與語printf(%sn,s)相同,24,4.6程序舉例,例4.10輸入三角形的變長,求三角形面積。為簡單起見,設(shè)輸入的三邊長a,b,c能構(gòu)成三角形。程序如下:#includemain()floata,b,c,s,area;scanf(%f%f%f,25,例4.11從鍵盤輸入一個大寫字母,要求轉(zhuǎn)換成小寫字母輸入。程序如下:#includemain()charc1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);,26,字符數(shù)組中常用的處理函數(shù)a、strlen()求字符串的長度:它是stringlength的縮寫。函數(shù)的原型為strlen(char);b、strcpy()復(fù)制字符串:其函數(shù)的原型為strcpy(char,char);它是stringcopy的縮寫。它的作用是將第二個字符串復(fù)制到第一個字符串中。c、strcat()連接字符串:其函數(shù)的原型為strcat(char,char);它是stringcatenate的縮寫。作用就是將第二個字符串連接到第一個字符串中。d、strcmp()比較字符串大小:其函數(shù)原型是strcmp(char,char)。是stringcompare的縮寫。作用就是比較兩個字符串。返回值為整形。0表示相等。大于0表示第一個字符串大于第二個字符串。小于0表示第一個字符串小于第二個字符串。,27,e、strrev()反轉(zhuǎn)字符串:其函數(shù)原型為strrev(char)。起作用就是將一串字符串反轉(zhuǎn)過來。即逆序。f、

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論