c語言概述——第03章ppt課件_第1頁
c語言概述——第03章ppt課件_第2頁
c語言概述——第03章ppt課件_第3頁
c語言概述——第03章ppt課件_第4頁
c語言概述——第03章ppt課件_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1/801、輸入:從外部向輸入設(shè)備鍵盤、磁盤等輸入數(shù)據(jù)、輸入:從外部向輸入設(shè)備鍵盤、磁盤等輸入數(shù)據(jù) 輸出:從計(jì)算機(jī)向外部輸出設(shè)備顯示器、打印機(jī)輸出輸出:從計(jì)算機(jī)向外部輸出設(shè)備顯示器、打印機(jī)輸出 數(shù)據(jù)數(shù)據(jù)2、C本身不提供輸入輸出語句,是由函數(shù)完成的本身不提供輸入輸出語句,是由函數(shù)完成的 #include (standard input & output) #include “stdio.h” putchar(輸出字符輸出字符) getchar(輸入字符輸入字符) printf(格式輸出格式輸出) scanf(格式輸入格式輸入)等等2/801、字符輸出函數(shù)、字符輸出函數(shù)putchar()

2、作用:向終端輸出一個字符作用:向終端輸出一個字符 格式:格式:putchar(c); 闡明:將字符變量闡明:將字符變量c輸出輸出 其中其中c可以是可以是int 或或 char (包括轉(zhuǎn)義字符包括轉(zhuǎn)義字符)#include main()char a,b,c; a=B;b=O;c=Y;putchar(a); putchar(b); putchar(c); 輸出結(jié)果:輸出結(jié)果:BOY3/80#include main()char a,b,c; a=B;b=O;c=Y;putchar(a); putchar(n); putchar(b); putchar(n); putchar(c); putchar

3、(n); 輸出結(jié)果:輸出結(jié)果:B O Yputchar(?);4/802、字符輸入函數(shù)、字符輸入函數(shù) getchar() 作用:從終端輸入一個字符作用:從終端輸入一個字符 格式:格式:getchar(); 闡明:沒有參數(shù),函數(shù)值是從終端得到的字符闡明:沒有參數(shù),函數(shù)值是從終端得到的字符#include main()char c;c=getchar();putchar(c);輸入:輸入:c輸出:輸出:c5/80留意:留意:1、 getchar()只能接收一個字符只能接收一個字符2、 getchar()函數(shù)得到的字符可以函數(shù)得到的字符可以 賦給字符變量賦給字符變量 例如例如: char c; c=

4、getchar(); 賦給整型變量賦給整型變量 例如:例如: int c; c=getchar(); 作為表達(dá)式的一部分作為表達(dá)式的一部分 例如:例如:putchar(getchar();6/801、格式輸出函數(shù)、格式輸出函數(shù)printf() 作用:向終端輸出若干個任意類型數(shù)據(jù)作用:向終端輸出若干個任意類型數(shù)據(jù) 區(qū)分:區(qū)分: putchar函數(shù):只能輸出字符,且只能輸出一個字符函數(shù):只能輸出字符,且只能輸出一個字符 printf函數(shù):可以輸出多個數(shù)據(jù),且為任意類型函數(shù):可以輸出多個數(shù)據(jù),且為任意類型 格式:格式: printf格式控制,輸出表列)格式控制,輸出表列) 格式控制:用雙引號括起來的

5、字符串,包括兩個信息:格式控制:用雙引號括起來的字符串,包括兩個信息: 格式說明:由格式說明:由“%”和格式字符組成,和格式字符組成,%d,%f,%u等等 作用:將輸出數(shù)據(jù)轉(zhuǎn)換成指定的格式輸出作用:將輸出數(shù)據(jù)轉(zhuǎn)換成指定的格式輸出 普通字符:需要原樣輸出的字符。普通字符:需要原樣輸出的字符。7/80輸出表列:需要輸出的一些數(shù)據(jù),可以是表達(dá)式輸出表列:需要輸出的一些數(shù)據(jù),可以是表達(dá)式例:例: printf(“a=%d , b=%d”,a,a+b); 格式說明格式說明 輸出表列輸出表列格式字符:對不同類型的數(shù)據(jù)用不同的格式字符格式字符:對不同類型的數(shù)據(jù)用不同的格式字符(1d格式符格式符 % d:按整

6、形數(shù)據(jù)的實(shí)際長度輸出:按整形數(shù)據(jù)的實(shí)際長度輸出 %md:m為指定輸出字段寬度,如數(shù)據(jù)的位數(shù)小于為指定輸出字段寬度,如數(shù)據(jù)的位數(shù)小于m ,那那么么 左左 端補(bǔ)空格,若大于端補(bǔ)空格,若大于m,按實(shí)際位數(shù)輸出,按實(shí)際位數(shù)輸出 a=123,d=12345 printf(“%4d,%4d”,a,d); 結(jié)果:結(jié)果: _123,123458/80輸出表列:需要輸出的一些數(shù)據(jù),可以是表達(dá)式輸出表列:需要輸出的一些數(shù)據(jù),可以是表達(dá)式例:例: printf(“a=%d , b=%d”,a,a+b); 格式說明格式說明 輸出表列輸出表列格式字符:對不同類型的數(shù)據(jù)用不同的格式字符格式字符:對不同類型的數(shù)據(jù)用不同的格

7、式字符(1d格式符格式符 %ld:輸出長整型數(shù)據(jù):輸出長整型數(shù)據(jù) 如用如用%d輸出長整型數(shù)據(jù)就會出錯輸出長整型數(shù)據(jù)就會出錯 long a=123456; printf(“%ld”,a); 結(jié)果:結(jié)果: printf(“%8ld”,a); 結(jié)果:結(jié)果: 留意:留意:int型數(shù)據(jù)可以用型數(shù)據(jù)可以用%d或或%ld格式輸出格式輸出123456_ _ 1234569/80(2o格式符:以八進(jìn)制數(shù)形式輸出整數(shù)格式符:以八進(jìn)制數(shù)形式輸出整數(shù) 按八進(jìn)制形式輸出的數(shù)值不帶符號按八進(jìn)制形式輸出的數(shù)值不帶符號 int a=-1; printf(“%d,%o,%8o”,a,a,a); 輸出結(jié)果:輸出結(jié)果:(3x 格式

8、符:以十六進(jìn)制數(shù)輸出整數(shù),同樣不會出現(xiàn)負(fù)數(shù)格式符:以十六進(jìn)制數(shù)輸出整數(shù),同樣不會出現(xiàn)負(fù)數(shù) int a=-1; printf(“%d,%o,%x”,a,a,a); 輸出結(jié)果:輸出結(jié)果: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1-1,177777, _ _177777-1,177777,ffff10/80(4u格式符:輸出無符號型數(shù)據(jù)格式符:輸出無符號型數(shù)據(jù) 即以十進(jìn)制形式輸出無符號數(shù)即以十進(jìn)制形式輸出無符號數(shù) unsigned int a=65535; printf(“a=%d,%o,%x,%un”,a,a,a,a); 輸出結(jié)果:輸出結(jié)果: int b=-2; printf

9、(“b=%d,%o,%x,%u”,b,b,b,b); 輸出結(jié)果:輸出結(jié)果:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0a=-1,177777,ffff,65535b=-2,177776,fffe,6553411/80(5c格式符:用來輸出一個字符格式符:用來輸出一個字符 char c=a; printf(“%c”,c); 輸出結(jié)果:輸出結(jié)果:一個整數(shù)其值在一個整數(shù)其值在0255也可以用字符形式輸出,同樣字符型數(shù)也可以用字符形式輸出,同樣字符型數(shù) 據(jù)也可以用整數(shù)形式輸出據(jù)也可以用整數(shù)形式輸出 char c=a; in

10、t i=97; printf(“%c,%d,%c,%d”,c,c,i,i); 結(jié)果:結(jié)果: printf(“%3c,%3d,%3c,%3d”,c,c,i,i); 結(jié)果:結(jié)果:aa,97,a,97_ _ a, _ 97, _ _ a, _ 9712/806s格式符:用來輸出一個字符串格式符:用來輸出一個字符串 %s:printf(“%s”,”china”); 結(jié)果:結(jié)果: %ms:輸出的字符串占:輸出的字符串占m列,如字符串的本身長度大于列,如字符串的本身長度大于m, 則將字符串全部輸出,若小于則將字符串全部輸出,若小于m則左補(bǔ)空格則左補(bǔ)空格 %-ms:如串長度小于:如串長度小于m,則在,則在m

11、列范圍內(nèi)右補(bǔ)空格,列范圍內(nèi)右補(bǔ)空格, 字符串左靠字符串左靠 china13/806s格式符:用來輸出一個字符串格式符:用來輸出一個字符串 %m.ns:輸出占:輸出占m列,但只取字符串中左端列,但只取字符串中左端n個字符,個字符, 字符串在字符串在m列的右側(cè),左側(cè)補(bǔ)空格列的右側(cè),左側(cè)補(bǔ)空格 %-m.ns: 如果如果nm,則,則m自動取自動取n值,值,n個字符正常輸出。個字符正常輸出。 printf(“%3s,%7.2s,%.4s,%-5.3sn”,”china”,” china”,” china”,” china”); 輸出結(jié)果:輸出結(jié)果: china, _ _ _ _ _ch, chin, c

12、hi _ _14/80(7) f格式符:用來輸出實(shí)數(shù)單、雙精度),以小數(shù)形式輸出格式符:用來輸出實(shí)數(shù)單、雙精度),以小數(shù)形式輸出 %f:不指定字符寬度,由系統(tǒng)自動指定,使整數(shù)部分:不指定字符寬度,由系統(tǒng)自動指定,使整數(shù)部分 全部輸出,并輸出全部輸出,并輸出6位小數(shù)位小數(shù) 留意:單精度前留意:單精度前7位有效,雙精度前位有效,雙精度前16位有效。位有效。 float x=111111.111,y=222222.222; printf(“%f”,x+y); 結(jié)果:結(jié)果: 333333.328125 超過超過7位無意義位無意義15/80(7) f格式符:用來輸出實(shí)數(shù)單、雙精度),以小數(shù)形式輸出格式符

13、:用來輸出實(shí)數(shù)單、雙精度),以小數(shù)形式輸出%m.nf:輸出數(shù)據(jù)占:輸出數(shù)據(jù)占8列,其中有列,其中有n位小數(shù),位小數(shù), 如數(shù)值長度小于如數(shù)值長度小于m,則左端補(bǔ)空格則左端補(bǔ)空格 %-m.nf:輸出的數(shù)值向左靠近,右端補(bǔ)空格:輸出的數(shù)值向左靠近,右端補(bǔ)空格float f=123.456;printf(“%f _ _%10f _ _%10.2f _ _%.2f _ _%-10.2f”,f,f,f,f);結(jié)果:結(jié)果:123.456001 _ _123.456001 _ _ _ _ _ _123.46 _ _123.46 _ _ _ _16/80(8) e格式符:以指數(shù)形式輸出實(shí)數(shù)格式符:以指數(shù)形式輸出

14、實(shí)數(shù) %e:不指定輸出數(shù)據(jù)所占的寬度和數(shù)字部分小數(shù)位數(shù),由:不指定輸出數(shù)據(jù)所占的寬度和數(shù)字部分小數(shù)位數(shù),由 系統(tǒng)自動指定,給出系統(tǒng)自動指定,給出6位小數(shù),指數(shù)部分占位小數(shù),指數(shù)部分占4位如位如 e+02,其中其中e占一位,指數(shù)符號占一位,指數(shù)占占一位,指數(shù)符號占一位,指數(shù)占2 位),數(shù)值按標(biāo)準(zhǔn)化指數(shù)輸出,小數(shù)點(diǎn)前有且只有一位),數(shù)值按標(biāo)準(zhǔn)化指數(shù)輸出,小數(shù)點(diǎn)前有且只有一 個非零數(shù)字。個非零數(shù)字。 printf(“%e”,123.456); 輸出:輸出: %m.ne和和%-m.ne :m,n字符含義與前面相同,字符含義與前面相同, n指小數(shù)部分的位數(shù)指小數(shù)部分的位數(shù) 1.234560e+0217/

15、80(9) g格式符:用來輸出實(shí)數(shù),根據(jù)數(shù)值的大小自動選擇格式符:用來輸出實(shí)數(shù),根據(jù)數(shù)值的大小自動選擇f格式格式 和和e格式,選擇輸出時占寬度較小的一種,且不格式,選擇輸出時占寬度較小的一種,且不 輸出無意義的零。輸出無意義的零。 f=123.468; printf(“%f,%e,%g”,f,f,f); 結(jié)果:結(jié)果: 123.468000,1.234680e+02,123.46818/80使用使用printf函數(shù)時應(yīng)注意:函數(shù)時應(yīng)注意: (1):格式字符要用小寫字母除):格式字符要用小寫字母除X E G)%d不要寫成不要寫成%D (2):可以在):可以在“格式控制字符串內(nèi)包含格式控制字符串內(nèi)包

16、含“轉(zhuǎn)義字符轉(zhuǎn)義字符” 如:如: n,t,b等。等。 (3):格式說明以):格式說明以%開頭,以開頭,以d,o,x,u,c,s,f,e,g等等9個格式字個格式字 符結(jié)束,在格式說明中可以插入附加字符,其他字符符結(jié)束,在格式說明中可以插入附加字符,其他字符 均以原樣輸出。均以原樣輸出。 Printf(“c=%c,f=%f,s=%s”,c,f,s); 19/80使用使用printf函數(shù)時應(yīng)注意:函數(shù)時應(yīng)注意: (4):如果想輸出字符:如果想輸出字符“%”,則應(yīng)在,則應(yīng)在“格式控制字符串格式控制字符串 中用連續(xù)兩個中用連續(xù)兩個%表示。表示。 Printf(“%f%”,1.0/3); 輸出:輸出:0.

17、333333%20/802、格式輸入函數(shù)、格式輸入函數(shù)scanf函數(shù)函數(shù)區(qū)分:區(qū)分:getchar函數(shù)只能用來輸入一個字符函數(shù)只能用來輸入一個字符 scanf函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)。函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)。方式:方式:scanf格式控制,地址表列)格式控制,地址表列)地址表列:由若干個地址組成的表列,可以是變量的地址或地址表列:由若干個地址組成的表列,可以是變量的地址或 字符串的首地址字符串的首地址int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“%d,%d,%dn”,a,b,c);運(yùn)轉(zhuǎn):運(yùn)轉(zhuǎn):3 _ 4

18、_ 5 3,4,521/80&a,&b,&c中的中的“&”是地址運(yùn)算符,是地址運(yùn)算符,&a指指a在內(nèi)存中的地址在內(nèi)存中的地址scanf函數(shù)的作用:按函數(shù)的作用:按a,b,c在內(nèi)存的地址將在內(nèi)存的地址將a,b,c的值存進(jìn)去。的值存進(jìn)去。 a,b,c的地址是在定義的地址是在定義a,b,c之后就確定了,之后就確定了, 在編譯階段分配的在編譯階段分配的“%d%d%d表示按十進(jìn)制整數(shù)形式輸入數(shù)據(jù),輸入數(shù)據(jù)時兩表示按十進(jìn)制整數(shù)形式輸入數(shù)據(jù),輸入數(shù)據(jù)時兩個數(shù)據(jù)之間以一個或多個空格間隔,或回車鍵、跳格鍵個數(shù)據(jù)之間以一個或多個空格間隔,或回車鍵、跳格鍵tab合法的輸入:合

19、法的輸入:(1) 3 4 5 (2) 3 4 5 (3) 3(tab鍵鍵)4 5 不合法的輸入:不合法的輸入:3,4,522/80格式說明:格式說明:1、標(biāo)準(zhǔn)、標(biāo)準(zhǔn)C在在scanf中不使用中不使用%u說明符,對說明符,對unsigned型數(shù)據(jù)型數(shù)據(jù) %d,%o,%x格式輸入格式輸入2、可以指定輸入數(shù)據(jù)所占列數(shù),系統(tǒng)自動按它截取所需數(shù)據(jù)、可以指定輸入數(shù)據(jù)所占列數(shù),系統(tǒng)自動按它截取所需數(shù)據(jù) scanf(“%3d%3d”,&a,&b); 輸入:輸入:123456 系統(tǒng)自動將系統(tǒng)自動將123賦給賦給 a,456賦給賦給b。3、%后的后的“*”附加說明符,用來表示跳過相應(yīng)數(shù)據(jù)附加說明符,

20、用來表示跳過相應(yīng)數(shù)據(jù) scanf(“%2d %*3d %2d”,&a,&b); 輸入:輸入:12 345 67 a=12,b=674、輸入數(shù)據(jù)時不能規(guī)定精度、輸入數(shù)據(jù)時不能規(guī)定精度 scanf(“%7.2f”,a); 23/80scanf函數(shù)在執(zhí)行時應(yīng)注意:函數(shù)在執(zhí)行時應(yīng)注意:1、 scanf函數(shù)中的函數(shù)中的“格式控制后面應(yīng)是變量地址,而不是格式控制后面應(yīng)是變量地址,而不是 變量名變量名 scanf(“%d,%d”,a,b);24/80scanf函數(shù)在執(zhí)行時應(yīng)注意:函數(shù)在執(zhí)行時應(yīng)注意:2、在、在“格式控制字符串中除了格式說明外還有其他字符,格式控制字符串中除了格式說明外還有其他

21、字符, 則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。 scanf(“%d,%d”,&a,&b); 應(yīng)輸入:應(yīng)輸入:3,4 scanf(“%d %d ”,&a,&b); 輸入時兩個數(shù)據(jù)間應(yīng)空兩個或多個空格輸入時兩個數(shù)據(jù)間應(yīng)空兩個或多個空格 scanf(“%d:%d:%d”,&h,&m,&s); 12:34:36 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); a=12,b=34,c=5625/803、在用、在用“%c格式輸入字符時,空格字符和轉(zhuǎn)義字符都作為格式輸入字符

溫馨提示

  • 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

提交評論