




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章格式化輸入輸出Printf()Scanf()Putchar()Getchar()
3.1格式化輸出函數(shù)——printf()printf()函數(shù)的一般格式
作用:向輸出設(shè)備輸出若干個任意類型的數(shù)據(jù)。
一般格式:
printf("格式字符串"[,輸出項表]);
說明:
1.格式字符串也稱“轉(zhuǎn)換控制字符串”,包含三種字符:
(1)格式說明符:%[附加格式說明][格式字符]
(2)轉(zhuǎn)義字符
(3)普通字符──原樣輸出。
例如:
printf(“radius=%f,length=%f,area=%f\n”,r,l,s);
—m.nl[例3.1]已知圓半徑radius=1.5,求圓周長和圓面積。
#definePI3.1415926main()
{floatradius,length,area;
radius=1.5;
length=2*PI*radius; /*求圓周長*/
area=PI*radius*radius; /*求圓面積*/
printf(“radius=%f\n”,radius); /*輸出圓半徑*/
printf(“l(fā)ength=%7.2f,area=%7.2f\n”,length,area);/*輸出圓周長、面積*/
}
運(yùn)行結(jié)果:
radius=1.500000length=9.42,area=7.07 inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+002567.789000567.789%說明 格式字符要用小寫,只有x|e|g三個格式字符可以用大寫字母。用大寫字母時,輸出數(shù)據(jù)中包含的字母也大寫格式字符與輸出項個數(shù)應(yīng)相同,按先后順序一一對應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項類型不一致,自動按指定格式輸出附加格式說明符(修飾符).n對實數(shù),指定小數(shù)點后位數(shù)(四舍五入)對字符串,指定實際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補(bǔ)空格;否則按實際輸出輸出數(shù)據(jù)在域內(nèi)左對齊(缺省右對齊)-指定在有符號數(shù)的正數(shù)前顯示正號(+)+輸出數(shù)值時指定左面不使用的空位置自動填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l
2.輸出項表可選項。用逗號分隔的表達(dá)式。例:下面的printf()函數(shù)都是合法的:
(1)printf("Iamastudent.\n"); (2)printf("%d",3+2); (3)printf("a=%fb=%5d\n",a,a+3); 注意:“格式字符串”中的格式指示符,必須與“輸出項表”中相應(yīng)輸出項的數(shù)據(jù)類型一致,否則會引起輸出錯誤。
3.2格式字符(9個)
輸出不同類型的數(shù)據(jù),要使用不同的格式字符。
1.d──以帶符號的十進(jìn)制整數(shù)形式輸出。
[例3.2]類型轉(zhuǎn)換字符d的使用。main(){intnum1=123;longnum2=123456;/*用4種不同格式,輸出int型數(shù)據(jù)num1的值*/printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n",num1,num1,num1,num1);/*用3種不同格式,輸出long型數(shù)據(jù)num2的值*/printf("num2=%ld,num2=%8ld,num2=%5ld\n",num2,num2,num2);}
運(yùn)行結(jié)果:num1=123,num1=□□123,num1=123□□,num1=123num2=123456,num2=□□123456,num2=123456
對于整數(shù),還可用:%o:八進(jìn)制無符號形式輸出
%x:十六進(jìn)制無符號形式輸出對于unsigned型數(shù)據(jù),也可用
%u:以十進(jìn)制無符號形式輸出。例如:printf("%d,%o,%x,%u\n",-1,-1,-1,-1);運(yùn)行結(jié)果:-1,177777,ffff,65535
2.f──以小數(shù)形式,輸出單精度/雙精度實數(shù)。[例3.3]類型轉(zhuǎn)換字符f的使用。main(){floatf=123.456;doubled1,d2;d1=1111111111111.111111111;d2=2222222222222.222222222;printf("%f,%12f,%12.2f,%-12.2f,%.2f\n",f,f,f,f,f);printf("d1+d2=%f\n",d1+d2); 運(yùn)行結(jié)果:123.456001,□□123.456001,□□□□□□123.46,123.46□□□□□□,123.46d1+d2=3333333333333.333010
說明:輸出結(jié)果中,數(shù)據(jù)123.456001和3333333333333.333010中的01和010都是無意義的,因為它們超出了有效數(shù)字的范圍。對于實數(shù),還可使用格式符:%e:以標(biāo)準(zhǔn)指數(shù)形式輸出。尾數(shù):整數(shù)部分:為1位非0數(shù)字;小數(shù)點:占一位;小數(shù)部分:占6位;指數(shù):占5位(如e-003);共計13位。
%g:自動選擇%f或%e格式中較短者、不輸出無意義零。3.c──輸出一個字符。[例3.4]類型轉(zhuǎn)換字符c的使用。main(){charc='A';inti=65;printf("c=%c,%5c,%d\n",c,c,c);printf("i=%d,%c",i,i);}程序運(yùn)行結(jié)果如下:
c=A,□□□□A,65i=65,A
注意:C語言中,整數(shù)可以字符形式輸出,字符數(shù)據(jù)也可以用整數(shù)形式輸出。注意c的不同含義4.s──輸出一個字符串。[例3.5]類型轉(zhuǎn)換字符s的使用。main(){printf("%s,%5s,%-10s\n","Internet","Internet","Internet");printf("%10.5s,%-10.5s","Internet","Internet");printf("%4.5s\n","Internet");} [程序演示]程序運(yùn)行結(jié)果如下:Internet,Internet,Internet□□□□□□□Inter,Inter□□□□□,Inter注意:系統(tǒng)輸出字符和字符串時,不輸出單引號和雙引號。
3.3格式化輸入——scanf()函數(shù)作用:從外部輸入設(shè)備向計算機(jī)主機(jī)輸入數(shù)據(jù)。scanf()函數(shù)的一般格式
scanf()函數(shù)的一般格式scanf(“%[附加格式說明]格式字符串”,輸入項首地址表);附加格式說明符(修飾符)例scanf(“%4d%2d%2d”,&yy,&mm,&dd);
輸入19991015
則1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);
輸入12345678765.43則123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);
輸入1234567則12a,67b例scanf(“%3c%2c”,&c1,&c2);
輸入abcde
則‘a(chǎn)’c1,‘d’c23.4數(shù)據(jù)輸入操作
1.一般用空格作分隔符例如:scanf("%d%d",&num1,&num2);
若要輸入12給num1,輸入36給num2,則正確的輸入操作為:
12□36↙
或者:12↙
36↙求地址運(yùn)算符2.“格式字符串”中出現(xiàn)的普通字符,務(wù)必原樣輸入。例如,scanf("%d,%d",&num1,&num2);
假設(shè)輸入12給num1,給輸入36num2,正確的輸入操作為:12,36↙
注意:scanf()函數(shù)中,格式字符串內(nèi)的轉(zhuǎn)義字符(如\n),系統(tǒng)將其視為普通字符,所以也要原樣輸入。
例如:
scanf("num1=%d,num2=%d\n",&num1,&num2);
假設(shè)輸入12給num1,給輸入36num2,正確的輸入操作為:
num1=12,num2=36\n↙
建議:為改善人機(jī)交互性,同時簡化輸入操作,設(shè)計輸入格式時,宜先用printf()函數(shù)輸出提示信息。例如:不宜用
scanf("num1=%d,num2=%d\n",&num1,&num2);
應(yīng)用:
printf("num1=");scanf("%d",&num1);printf("num2=");scanf("%d",&num2);
或用:
printf("num1,num2=");scanf("%d,%d”,&num1,&num2);3.輸入數(shù)據(jù)時,遇以下情況系統(tǒng)認(rèn)為該數(shù)據(jù)結(jié)束:
(1)遇到空格、回車鍵或者Tab鍵。
(2)遇到輸入域?qū)挾冉Y(jié)束。例如“%3d”,只取3列。
(3)遇到非法輸入。
4.使用“%c”輸入單個字符時,空格和轉(zhuǎn)義字符均作為有效字符被輸入。例如:
scanf("%c%c%c",&ch1,&ch2,&ch3);printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);
假設(shè)輸入:A□B□C↙
則系統(tǒng)將:字母'A'賦值給ch1,空格'□'賦值給ch2,字母'B'賦值給ch3。如scanf(“%d%c%f”,&a,&b,&c);
若輸入1234a123o.26
則1234a,‘a(chǎn)’b,123c3.5單個字符輸入輸出——getchar()和putchar()函數(shù)單個字符的輸出──putchar()函數(shù)[例3.6]putchar()函數(shù)的格式和使用方法。#include"stdio.h" /*編譯預(yù)處理命令:文件包含*/main(){charch1='N',ch2='E',ch3='W';putchar(ch1);putchar(ch2);putchar(ch3); /*輸出*/putchar('\n');putchar(ch1);putchar('\n’);/*輸出ch1的值,并換行*/putchar('E');putchar('\n’);/*輸出字符'E',并換行*/putchar(ch3);putchar('\n');}
運(yùn)行結(jié)果:
NEWNEW1.格式:putchar(ch);
其中ch可以是一個字符變量或常量,也可以是一個轉(zhuǎn)義字符。
2.作用:向終端輸出一個字符。
3.說明:
(1)只能用于單個字符的輸出,且一次只能輸出一個字符。
(2)要使用putchar()函數(shù),必須在程序的開頭加上編譯預(yù)處理命令(也稱包含命令),即:
#include<stdio.h>表示要使用的函數(shù),包含在標(biāo)準(zhǔn)輸入輸出(stdio)頭文件(.h)中。3.6單個字符的輸入──getchar
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 夢魘的臨床護(hù)理
- 工程新質(zhì)生產(chǎn)力
- 邵陽初三聯(lián)考試卷及答案
- 山西高一文科試卷及答案
- 三中地理會考試卷及答案
- 礦山機(jī)械企業(yè)管理與創(chuàng)新能力考核試卷
- 電光源光生物安全性與健康影響考核試卷
- 家用電器產(chǎn)品創(chuàng)新設(shè)計理念探討考核試卷
- 棉織造行業(yè)智能物流系統(tǒng)設(shè)計考核試卷
- 咖啡大師考試試題及答案
- 人教版小學(xué)二年級上冊數(shù)學(xué) 期中測試卷
- (二模)湛江市2025年普通高考測試(二)政治試卷(含答案)
- 給夢一個奔跑的方向-“距離夢想大學(xué)有多遠(yuǎn)”-高中熱點大觀園
- 防空掩體知識培訓(xùn)課件
- 工業(yè)和信息化部產(chǎn)業(yè)發(fā)展促進(jìn)中心招聘筆試真題2024
- 2025年江西上饒鉛山城投控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 模擬雨的形成課件
- 多維數(shù)據(jù)循環(huán)嵌套分析-全面剖析
- 數(shù)學(xué)全等三角形教學(xué)設(shè)計 2024-2025學(xué)年北師大版數(shù)學(xué)七年級下冊
- 橋梁水下結(jié)構(gòu)內(nèi)部缺陷超聲波檢測基于技術(shù)
- 事故隱患內(nèi)部報告獎勵制度1
評論
0/150
提交評論