C 語言課件2 格式化輸出與輸入_第1頁
C 語言課件2 格式化輸出與輸入_第2頁
C 語言課件2 格式化輸出與輸入_第3頁
C 語言課件2 格式化輸出與輸入_第4頁
C 語言課件2 格式化輸出與輸入_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

printf函數(shù)---格式化地輸出數(shù)據(jù)printf:向標準輸出設備(屏幕)按規(guī)定格式輸出數(shù)據(jù).printf函數(shù)調(diào)用的一般格式為:

printf(“格式控制串”,輸出數(shù)據(jù)表);例如:printf(”i=%d,c=%c\n”,i,c);格式說明符inti=10;charch=‘F’;固定文本例如:printf(”i=%d,c=%c\n”,i,c);輸出數(shù)據(jù)項:常量、變量或表達式printf函數(shù)---格式化地輸出數(shù)據(jù)1.格式說明字符格式符輸出形式d或i十進制有符號整數(shù)u十進制無符號整數(shù)o八進制有符號整數(shù)x或X十六進制有符號整數(shù)feg小數(shù)形式的浮點數(shù)指數(shù)形式的浮點數(shù)自動選擇合適表示法的浮點數(shù)c單個字符s字符串printf函數(shù)---格式化地輸出數(shù)據(jù)%f格式符。以小數(shù)形式輸出實數(shù)float型數(shù)據(jù):6位有效數(shù)字double型數(shù)據(jù):15位有效數(shù)字%e,VC++給出小數(shù)位數(shù)為6位,

小數(shù)點前有且只有1位非零數(shù)字。

例如:

printf(”%e”,123.456);

輸出:1.234560

e+002計算機輸出的數(shù)字不都是絕對精確有效的printf函數(shù)---格式化地輸出數(shù)據(jù)使用格式說明符時,規(guī)定數(shù)據(jù)的輸出寬度(1)規(guī)定輸出寬度:在"%"和格式字符之間插進數(shù)字w表示輸出寬度。例如:

%3d

輸出3位整型數(shù)。

%9.2f

輸出寬度為9位浮點數(shù)(小數(shù)點占1位),小數(shù)位數(shù)為占2位

%8s

輸出寬度8個字符的字符串,右對齊。printf函數(shù)---格式化地輸出數(shù)據(jù)使用格式符時,規(guī)定數(shù)據(jù)的對齊方式。

(2)控制輸出是左對齊或右對齊,即在“%”和字母之間加入“-”負號,輸出為左對齊,否則為右對齊。例如:

%-6d

輸出6位整數(shù)左對齊

%-12s

輸出12個字符左對齊

printf函數(shù)---格式化地輸出數(shù)據(jù)在“%”和字母之間加小寫字母l,表示輸出的是長型數(shù)。

例如:

%ld

表示輸出long型整數(shù)

%lf

表示輸出double型浮點數(shù)。

printf函數(shù)---格式化地輸出數(shù)據(jù)

%d格式符的例子:printf(”%5d%5d\n”,12,-345);

12-345printf函數(shù)---格式化地輸出數(shù)據(jù)

%c格式符的例子:charch=’a’;printf(”%c\n”,ch);printf(”%5c\n”,ch);aaprintf函數(shù)---格式化地輸出數(shù)據(jù)

%s格式說明符的例子:printf(”%s”,”CHINA”);CHINA例:printf函數(shù)的應用例子printf函數(shù)---格式化地輸出數(shù)據(jù)voidmain(){ inta=1234,b=10;doublex=1200.14159261;floatf=123.92827f;printf("a=%d\n",a);//輸出十進制整數(shù)

printf("a=%6d\n",a,a);//輸出右對齊的6位十進制數(shù)

printf("a=%-6d\n",a);//輸出左對齊的6位十進制整數(shù)

printf("f=%f\n",f);//輸出浮點數(shù),小數(shù)位數(shù)為6位

printf("f=%6.2f\n",f);//輸出寬度為6,四舍五入取小數(shù)位數(shù)為2位

printf("x=%f\n",x);//輸出浮點數(shù)

printf("x=%lf\n",x);//輸出長浮點數(shù)

printf("x=%11.4lf\n",x);//輸出寬度為11位且小數(shù)位數(shù)為7位的長浮點數(shù)

printf("x=%.2e\n",x);//輸出小數(shù)位數(shù)為2位的指數(shù)形式的浮點數(shù)

printf("x=%g\n",x);//輸出自動表示形式的浮點數(shù)

//輸出字符,“ASCII“

,ASCII碼值printf("%c%s=%x\n",'A',"ASCII",'A');}scanf():從標準輸入設備(鍵盤)按規(guī)定格式讀入數(shù)據(jù)

scanf函數(shù)---格式化地輸入數(shù)據(jù)1.scanf函數(shù)的一般形式

scanf(“格式控制串”,輸入地址表);格式控制串的組成:(1)格式說明符:同printf()函數(shù)中的格式說明符。(2)空白字符:scanf()函數(shù)在讀時略去輸入中的一個或多個空白字符。(3)非空白字符:scanf()函數(shù)在讀時剔除掉與這個非空白字符相同的字符。輸入地址表是變量的地址,而不是變量名。各個變量的地址之間用“,”隔開。

scanf函數(shù)---格式化地輸入數(shù)據(jù)scanf的輸入數(shù)據(jù)結(jié)束時要按回車符例如:inta,b;scanf("%d%d",&a,&b);輸入兩個整數(shù)之間至少用一個空格分隔輸入:1234

↙則a為12,b為34

scanf函數(shù)---格式化地輸入數(shù)據(jù)輸入格式符之間有分隔符例如:格式說明符之間有空格,則輸入數(shù)據(jù)之間必須輸入一個或多個空格。scanf("%d%d",&a,&b);輸入:1234

↙則a為12,b為34

scanf函數(shù)---格式化地輸入數(shù)據(jù)輸入格式符之間有其他分隔符例如:輸入格式符之間逗號,則輸入數(shù)據(jù)之間必須輸入一個逗號。scanf("%d,%d",&a,&b);輸入:12,34

↙則a為12,b為34

即scanf()函數(shù)先讀一個整型數(shù),然后把接著輸入的逗號剔除掉,接著讀入另一個整型數(shù)。如果“,”這一特定字符沒有找到,scanf()函數(shù)就終止。

scanf函數(shù)---格式化地輸入數(shù)據(jù)double變量的輸入格式說明符必須為“%lf”,而不是“%f”。例如:doubled1,d2;scanf(“%lf,%lf”,&d1,&d2);

輸入:12.15,34.5

↙則d1為12.15,d2為34.5

scanf函數(shù)---格式化地輸入數(shù)據(jù)多個char型變量的輸入例如:charc1,c2;scanf("%c",&c1);scanf("%c",&c2);printf(“c1is%c,c2is%c”,c1,c2);

輸入:A

B↙輸出:c1isA,c2is

c1為‘A’。c2為回車輸入:AB↙輸出:c1isA,c2isB

scanf函數(shù)---格式化地輸入數(shù)據(jù)多個char型變量的輸入在輸入函數(shù)前加清除緩沖區(qū)的函數(shù)fflush(stdin)

例如:scanf("%c",&c1);fflush(stdin);scanf("%c",&c2);printf("c1is%c,c2is%c",c1,c2);輸入:A

B↙輸出:c1isA,c2isB

scanf函數(shù)---格式化地輸入數(shù)據(jù)例:scanf函數(shù)的應用例子。voidmain(){ inta,b,*pa=&a; floatf1,f2; doubled1,d2; charc1,c2; printf("輸入整數(shù)ab=");scanf("%d%d",&a,&b);printf("輸出a=%d,b=%d\n",a,b); printf("輸入整數(shù)a,b="); scanf("%d,%d",pa,&b);//當輸入項是指針變量時,指針變量前不能加& printf("輸出a=%d,b=%d\n",*pa,b); printf("輸入單精度浮點數(shù)f1f2="); scanf("%f%f",&f1,&f2);printf("輸出f1=%f,f2=%f\n",f1,f2);

例:scanf函數(shù)的應用例子。voidmain(){printf("輸入雙精度浮點數(shù)d1=,d2="); scanf(“%lf,%lf",&d1,&d2);printf("輸出d1=%lf,d2=%lf\n",d1,d2); printf("輸入字符c1和c2=\n"); fflush(stdin);//清除前一個scanf語句輸入時的回車字符

scanf("%c",&c1); fflush(stdin);//清除前一個scanf語句輸入時的回車字符

scanf("%c",&c2); printf("輸出c1is%c,c2is%c\n",c1,c2);}scanf函數(shù)使用時的注意:floata,b,c;

scanf(”%f%f%f”,a,b,c);錯scanf(”%f%f%f”,&a,&b,&c);對例如:scanf("a=%f,b=%f,c=%f",&a,&b,&c);

輸入:a=1,b=3,c=2↙

對a=1b=3c=2↙

132↙

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論