C語(yǔ)言的程序設(shè)計(jì)-數(shù)據(jù)的輸入和輸出.ppt_第1頁(yè)
C語(yǔ)言的程序設(shè)計(jì)-數(shù)據(jù)的輸入和輸出.ppt_第2頁(yè)
C語(yǔ)言的程序設(shè)計(jì)-數(shù)據(jù)的輸入和輸出.ppt_第3頁(yè)
C語(yǔ)言的程序設(shè)計(jì)-數(shù)據(jù)的輸入和輸出.ppt_第4頁(yè)
C語(yǔ)言的程序設(shè)計(jì)-數(shù)據(jù)的輸入和輸出.ppt_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、共 25 頁(yè) 第 1 頁(yè),數(shù)據(jù)的輸入和輸出,C語(yǔ)言程序設(shè)計(jì),第四章,共 25 頁(yè) 第 2 頁(yè),本章要點(diǎn),掌握C語(yǔ)言中輸入輸出數(shù)據(jù)的方法 掌握各種格式的使用,共 25 頁(yè) 第 3 頁(yè),數(shù)據(jù)輸入輸出的概念 輸出:從計(jì)算機(jī)向顯示器、打印機(jī)等外部設(shè)備輸出數(shù)據(jù)。 輸入:從標(biāo)準(zhǔn)輸入設(shè)備鍵盤、鼠標(biāo)等向計(jì)算機(jī)輸入數(shù)據(jù)。 C語(yǔ)言不提供輸入輸出語(yǔ)句,輸入輸出操作是由C函數(shù)庫(kù)中的函數(shù)實(shí)現(xiàn)。,兩個(gè)基本的輸出(輸入)函數(shù): 即:格式輸出(輸入)函數(shù) 字符輸出(輸入)函數(shù),共 25 頁(yè) 第 4 頁(yè),4.1.1 格式輸出函數(shù),函數(shù)的基本功能 格式:printf(格式控制串,輸出表列) 功能:從標(biāo)準(zhǔn)輸出設(shè)備上,按指定的格式輸

2、出對(duì)應(yīng) 的變量。,printf(.),4.1 數(shù)據(jù)輸出,2. 函數(shù)說(shuō)明: (1) 格式控制串由雙引號(hào)括起來(lái),由“%”和格式符以及普通字符(即需要原樣輸出的字符組成)。 (2)輸出表列是需要輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。 (3)輸出的參數(shù)必須與格式控制符中的格式說(shuō)明在類型、個(gè)數(shù)和位置上一一對(duì)應(yīng)。,共 25 頁(yè) 第 5 頁(yè),例: #include main( ) int a=3, b=4; printf(“a=%d b=%d”,a,b); 運(yùn)行結(jié)果: a=3 b=4,格式說(shuō)明(格式字符),普通字符,輸出表列,共 25 頁(yè) 第 6 頁(yè),3.格式說(shuō)明符 一般格式:%-m.nl格式符,說(shuō)明如

3、下: - 當(dāng)數(shù)據(jù)的寬度小于顯示寬度時(shí),數(shù)據(jù)左對(duì)齊,右方補(bǔ)空格. m 輸出數(shù)據(jù)占m個(gè)字符位,不夠右對(duì)齊,左邊填空格。 n 輸出數(shù)據(jù)有n位小數(shù) m.n 輸出數(shù)據(jù)占m列,n位小數(shù) 對(duì)不同類型的數(shù)據(jù)使用不同的格式字符。有以下幾種格式符:,共 25 頁(yè) 第 7 頁(yè),d: 以十進(jìn)制帶符號(hào)形式輸出整型數(shù) o:以八進(jìn)制無(wú)符號(hào)形式輸出整型數(shù) x:以十六進(jìn)制無(wú)符號(hào)形式輸出整型 u:以十進(jìn)制無(wú)符號(hào)形式輸出整型數(shù) f:以小數(shù)形式輸出單、雙精度實(shí)型數(shù) e: 以指數(shù)形式輸出單、雙精度實(shí)型數(shù) c: 以字符形式輸出一個(gè)字符 s: 以字符形式輸出一個(gè)字符串 ld:以十進(jìn)制帶符號(hào)形式輸出長(zhǎng)整型數(shù),基本格式控制符,共 25 頁(yè) 第

4、 8 頁(yè),(1) d格式符: 輸出十進(jìn)制整數(shù)。 %d 按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。 %md m為指定的輸出字段的寬度.若數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格;若大于m,則按實(shí)際位數(shù)輸出。 %ld 輸出長(zhǎng)整型數(shù)據(jù).,例:int a=1234; printf(“%3d”,a); printf(“%5dn”,a); printf(“%-5d”,a);,1234 1234,1234,左對(duì)齊,右補(bǔ)空,共 25 頁(yè) 第 9 頁(yè),以下程序運(yùn)行后的輸出結(jié)果是? main() int x,y,z; x=y=1; z=x+,y+,+y; printf(%d,%d,%d,x,y,z); A)2,3,3 B)2,3,2 C

5、)2,3,1 D)2,2,1,共 25 頁(yè) 第 10 頁(yè),(2)o格式符 以八進(jìn)制數(shù)形式輸出整數(shù)。 將內(nèi)存單元中的各位的值(0或1)按八進(jìn)制形式輸出,輸出的數(shù)值不帶符號(hào),將符號(hào)也作為八進(jìn)制數(shù)的一部分輸出。 例如,-1在內(nèi)存單元中(以補(bǔ)碼形式存放)如下: int a=-1; -1: printf(“%d,%o”,a,a); 輸出:,1 1 11 11 11 11 11 11 11,VC+下,-1,177777,(3) x格式符,以十六進(jìn)制數(shù)形式輸出整數(shù)。 (4) u格式符,以十進(jìn)制形式輸出無(wú)符號(hào)型數(shù)據(jù)。 例 #include main() unsigned int a=65535; int b=

6、-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,b); 輸出: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534,VC+下,共 25 頁(yè) 第 12 頁(yè),(5) c 格式符 輸出一個(gè)字符。 整數(shù)的值在33126范圍內(nèi),也可以用字符形式輸出。在輸出前,將該整數(shù)轉(zhuǎn)換成相應(yīng)的ASCII字符;字符數(shù)據(jù)也可以用整數(shù)形式輸出。 例 #include main( ) char c=a; int i=97; printf(%c,%dn,c,c); printf(%c,%dn,i,i)

7、; 輸出: a,97 a,97,共 25 頁(yè) 第 13 頁(yè),s格式符 輸出一個(gè)字符串。 說(shuō)明: 若不指定字符寬度和對(duì)齊方式,則輸出全部字符串. 例如: printf(%s, CHINA); 程序運(yùn)行輸出: CHINA 若指定寬度m,實(shí)際字符個(gè)數(shù)大于m,按實(shí)際寬度輸出;如果實(shí)際字符個(gè)數(shù)小于m,字符右對(duì)齊,左邊填空格。 例如: printf(“s1=%s,s2=%3s,s3=%-5.2s,s4=%.3s, abcd, abcd, abcd, abcd) ; 程序運(yùn)行輸出: s1=abcd,s2=abcd,s3=ab ,s4=abc,共 25 頁(yè) 第 14 頁(yè),(7) f格式符 以小數(shù)形式輸出實(shí)數(shù)(

8、包括單、雙精度)。 1) %f , 不指定字段寬度,由系統(tǒng)自動(dòng)指定,使整數(shù)部分全部輸出,并輸出6位小數(shù)(輸出雙精度數(shù)據(jù),也是6位,但誤差降低)。 2) %m.nf , 指定輸出的數(shù)據(jù)共占m列,其中有n位小數(shù).若數(shù)據(jù)長(zhǎng)度小于m,則左端補(bǔ)空格。 例:float x=15.3,y=222.225111; printf(“%f,%6.2fn”,x,y);,共 25 頁(yè) 第 15 頁(yè),(8) e格式 以指數(shù)形式輸出實(shí)數(shù)。 1) %e 不指定輸出數(shù)據(jù)所占的寬度和數(shù)字部分小數(shù)位數(shù),由系統(tǒng)自動(dòng)指定給出6位小數(shù),指數(shù)部分占5位,其中“e”占一位,指數(shù)符號(hào)占一位,指數(shù)占3位.數(shù)值按標(biāo)準(zhǔn)化指數(shù)形式輸出(小數(shù)點(diǎn)前有1

9、位非零數(shù)字)。 例如: printf(“%e”,123.456); 輸出:1.234560e+002 e格式輸出的實(shí)數(shù)共占13列寬度.,3位,6位,共 25 頁(yè) 第 16 頁(yè),g格式符:根據(jù)數(shù)值的大小輸出實(shí)數(shù),自動(dòng)選 f 格式或 e 格式(選擇輸出時(shí)占寬度較小的一種),且不輸出無(wú)意義的零。 例如: f=123.468; printf(“%f %e %g”,f,f,f); 輸出如下: 123.468000 1.234680e+002 123.468,10列,13列,10列,共 25 頁(yè) 第 17 頁(yè),幾點(diǎn)說(shuō)明:,1. 格式控制串的控制符號(hào)與變量表要一一對(duì)應(yīng),即:類型相同,個(gè)數(shù)相等 2. 格式控制

10、符號(hào)用小寫字母 3. 格式控制符號(hào)之外的符號(hào)均照原樣顯示 4. 若需顯示百分號(hào),格式為:% 5. 如果實(shí)際數(shù)據(jù)所占字符位大于指定的域?qū)?,按?shí)際輸出,共 25 頁(yè) 第 18 頁(yè),例:分析程序的執(zhí)行結(jié)果 main( ) int a=16;char e=A; unsigned b; long c; float d; b=65535;c=123456;d=123.45; printf(”a=%d,%4d,%-6d,c=%ldn”, a, a, a, c); printf(”%o, %x, %un”, b, b, b); printf(”%f, %e, %13.3e, %gn”, d, d, d, d)

11、; printf(”%c,%s,%7.3sn”,e,”China”,”Beijing”); ,這里7指輸出寬度,3表示輸出該字符串的前3個(gè)字符。,共 25 頁(yè) 第 19 頁(yè),4.1.2 字符輸出函數(shù),格式: putchar(字符變量),功能 :在標(biāo)準(zhǔn)輸出設(shè)備上,輸出指定的字符。,說(shuō)明:,putchar,* 一次調(diào)用只能輸出一個(gè)字符 * 加上分號(hào)成為字符輸出語(yǔ)句 * 使用時(shí)在程序開頭用編譯預(yù)處理命令,#include”stdio.h” 或: #include,頭文件,請(qǐng)?jiān)斠姼戒汦,共 25 頁(yè) 第 20 頁(yè),例:#include main( ) char a,b,c; a=B;b=O;c=Y;

12、putchar(a);putchar(b);putchar(c); 輸出:BOY,共 25 頁(yè) 第 21 頁(yè),#include main( ) char c=a; putchar( c); ,char c1,c2,c3; c1=a;c2=b;c3=c; putchar(c1); putchar(c2); putchar(c3);,a b c,abc,?,putchar(n);,例,與putchar(97);putchar(98); putchar(99);等效 與printf(“%c%c%c”,c1,c2,c3); 等效,char c1,c2,c3; c1=a;c2=b;c3=c; putch

13、ar(c1); putchar(n); putchar(c2); putchar(n); putchar(c3);,共 25 頁(yè) 第 22 頁(yè),4.2.1 格式輸入函數(shù),一般形式: scanf(格式控制字符串, 地址表列) “格式控制字符串”的含義同printf函數(shù), “地址表列”:要求是變量的地址,或字符串的首地址. 例如: int a,b,c; scanf(“%d%d%d”, 說(shuō)明: * scanf 函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址而不是變量名。 * 輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間以一個(gè)或多個(gè)空格間隔,也可以用回車鍵、跳格鍵tab分隔。,4.2 數(shù)據(jù)的輸入,共 25 頁(yè) 第 23 頁(yè),*

14、 輸入時(shí)可以指定域?qū)?不允許規(guī)定精度.,int a,b ;scanf(“%3d%3d”,float x; scanf(“%8.2f ”,* 輸入時(shí),遇下列情況結(jié)束,* 回車,空格 * 寬度結(jié)束 * 非法輸入,輸入123456 系統(tǒng)自動(dòng)將123賦給a,456賦給b,如:int k; scanf(“%3d”, 輸入:123456789 k為:123,例: main( ) int a ,b,c; scanf(%d%d%d, scanf(“%d,%d,%d”, 輸入:123abc789 輸出:a=123,b=a,c=b,d=c,e=789,注意格式說(shuō)明符以外的其他字符,*在用“%c”格式輸入字符時(shí),空

15、格字符和“轉(zhuǎn)義字符”都作為有效字符輸入. 如,scanf(%c%c%c, 輸入:xyz x字符賦給a,空格字符賦給b, y字符賦給c,共 25 頁(yè) 第 26 頁(yè),輸入double型數(shù)據(jù),必須用格式說(shuō)明符%lf或%le, 輸入long型數(shù)據(jù),必須用%ld。 標(biāo)準(zhǔn)C在scanf中不使用%u說(shuō)明符,對(duì)unsigned型數(shù)據(jù),以%d或%o、%x格式輸入。 %后的“*”為附加說(shuō)明符,用來(lái)表示跳過(guò)它對(duì)應(yīng)的數(shù)據(jù)。 輸入時(shí)格式控制符中不能加“n”。 在scanf函數(shù)的格式控制字符串中盡量不要出現(xiàn)普通字符,尤其不能將輸入提示放在其中。需要顯示輸入提示應(yīng)該調(diào)用printf函數(shù)實(shí)現(xiàn)。,提示注意:,例:double

16、a; int b; float c; scanf( %f,%2d,%*d,%5f,輸入:5.3,12,456,1.23456回車,結(jié)果:a=0.000000 b=12 c=1.234000,原因是格式符用錯(cuò)了.應(yīng)該用lf或le格式,這里必須用%lf格式,這里可以用%f格式或%lf格式,共 25 頁(yè) 第 28 頁(yè),#include main() int a; float b,c; scanf(“%2d%3f%4f”, ,輸入:12345678987654321,輸出?,a=12,b=345.000000,c=6789.000000,例:,共 25 頁(yè) 第 29 頁(yè),4.2. 2 getchar函

17、數(shù)(字符輸入函數(shù)) 一般形式:getchar( ) -沒(méi)有參數(shù) 功能:從鍵盤輸入一個(gè)字符。 說(shuō)明:1)只能輸入一個(gè)字符 2)可以將獲得的字符賦給int 型或char型的變量 例 #include main() char c; c=getchar( ); putchar(c); 運(yùn)行時(shí)鍵入字符a,必須要回車則輸出為:a,注意:輸入字符時(shí)不要帶撇號(hào),共 25 頁(yè) 第 30 頁(yè),例:從鍵盤讀入一個(gè)字符,將該字符及其它前、后字符輸出到顯示器。,#include stdio.h main() int c; c=getchar(); putchar(c-1);putchar(c);putchar(c+1)

18、; ,不要丟掉頭文件,共 25 頁(yè) 第 31 頁(yè),#include main() char a,b,c,d; scanf(“%c%c”,當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù): 12 34,則輸出結(jié)果是 A) 1234 B) 12 C)12 D) 12 3 34,練習(xí):,程序舉例,例:輸入三角形的三邊長(zhǎng),求三角形面積. 為簡(jiǎn)單起見,設(shè)輸入的三邊長(zhǎng)a,b,c能構(gòu)成三角形. #include math.h main() float a,b,c,s,area; scanf(%f,%f,%f, 輸入:3,4,6 輸出如下: a= 3.00, b= 4.00, c= 6.00, s= 6.50 area= 5.33,注意:此例調(diào)用了函數(shù)庫(kù)中的函數(shù)sqrt,必須在程序開頭加上include命令,把頭文件“math.h”包含到程序中。,共 25 頁(yè) 第 33 頁(yè),本章學(xué)習(xí)要點(diǎn),1.格式輸入函數(shù):scanf, 格式輸出函數(shù):printf, 常用格式:%d, %f, %s, %c ,%o, %ld 2. scanf 函數(shù)中的“格式控制”后面是變量地址,而不是變量名. 3. putchar函數(shù)(字符輸出函數(shù)) 4. getchar函數(shù) (字符輸入函數(shù)),地址,精度,域?qū)?注意:,共 25 頁(yè) 第 34 頁(yè),實(shí)驗(yàn)的準(zhǔn)備及VC+6.0上機(jī)環(huán)境,1. 計(jì)算機(jī)程序設(shè)計(jì)實(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論