




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章鍵盤輸入與屏幕輸出第3章內(nèi)容提要C語(yǔ)句的分類字符輸入輸出函數(shù)格式輸入輸出函數(shù)內(nèi)容提要C語(yǔ)句的分類C語(yǔ)言中的語(yǔ)句空語(yǔ)句;復(fù)合語(yǔ)句{t=x;x=y;y=t;}控制語(yǔ)句if()—else、for()、while()、do—whilecontinue、break、switch、goto、return函數(shù)調(diào)用語(yǔ)句由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成printf(““);C語(yǔ)言中的語(yǔ)句空語(yǔ)句C語(yǔ)言中的語(yǔ)句變量聲明語(yǔ)句intx,y;表達(dá)式語(yǔ)句i++;i=i+1;A=5我只是個(gè)表達(dá)式呀?。粒剑?;我已經(jīng)成為表達(dá)式語(yǔ)句了!C語(yǔ)言中的語(yǔ)句變量聲明語(yǔ)句A=5我只是個(gè)表達(dá)式呀!A=5;我復(fù)合語(yǔ)句在什么情況下使用復(fù)合語(yǔ)句?條件語(yǔ)句和循環(huán)語(yǔ)句在語(yǔ)法上只允許帶一條語(yǔ)句當(dāng)分支和循環(huán)中需要進(jìn)行多項(xiàng)操作時(shí){
t=x;x=y;y=t;}被當(dāng)作一條語(yǔ)句來(lái)處理復(fù)合語(yǔ)句在什么情況下使用復(fù)合語(yǔ)句?{被當(dāng)作一條語(yǔ)句來(lái)處理例3.1main(){
inta=0; {
inta=1;
printf("In:a=%d\n",a); }
printf("Out:a=%d\n",a);}In:a=1Out:a=0例3.1main()In:a=1空語(yǔ)句空語(yǔ)句有什么作用?什么也不做,只表示語(yǔ)句的存在自頂向下程序設(shè)計(jì)時(shí)用在那些未完成的模塊中延時(shí)用的空循環(huán)main(){DataInitialze();DataProcess();DataOutput();}DataInitialze(){;}空語(yǔ)句空語(yǔ)句有什么作用?main()DataInitialz順序結(jié)構(gòu)程序的基本操作輸入數(shù)據(jù)從標(biāo)準(zhǔn)輸入設(shè)備上輸入數(shù)據(jù)到計(jì)算機(jī)內(nèi)存輸出數(shù)據(jù)將計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)送到標(biāo)準(zhǔn)輸出設(shè)備通過(guò)調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)來(lái)實(shí)現(xiàn)
#include<stdio.h>在指定的文件目錄中找該文件標(biāo)準(zhǔn)輸入standardinput與標(biāo)準(zhǔn)輸出output順序結(jié)構(gòu)程序的基本操作輸入數(shù)據(jù)標(biāo)準(zhǔn)輸入standardi字符輸入輸出函數(shù)字符輸出函數(shù)putchar(ch)輸出一個(gè)字符ch字符輸入函數(shù)getchar()無(wú)參數(shù)函數(shù)值為從輸入設(shè)備接收的字符字符輸入輸出函數(shù)字符輸出函數(shù)函數(shù)putchar舉例#include<stdio.h>
main()
{
chara,b,c;
a=‘B’;b=‘O’;c=‘Y’;
putchar(a);putchar(b);putchar(c);
putchar(‘\n’);
putchar(‘\101’);putchar(‘\\’);putchar(‘\x61’);
}程序的運(yùn)行結(jié)果是∶
BOY
A\a函數(shù)putchar舉例#include<stdio.h>
函數(shù)getchar舉例#include"stdio.h" main(){charch;printf("Pleaseinputtwocharacter:");ch=getchar(); /*輸入1個(gè)字符并賦給ch*/putchar(ch);putchar('\n');putchar(getchar()); /*輸入一個(gè)字符并輸出*/putchar('\n');} Pleaseinputtwocharacters:ab↙ab該語(yǔ)句的作用是什么?函數(shù)getchar舉例#include"stdio.h" 注意:(1)▲程序執(zhí)行時(shí),執(zhí)行到該函數(shù)將暫停程序的運(yùn)行等待從鍵盤輸入數(shù)據(jù)(2)只有在按“回車”鍵之后輸入的字符才有效.(3)此函數(shù)只接受一個(gè)字符,而非一串字符。字符可以是回車、tab鍵等特殊字符;例中若輸入abcde,該函數(shù)也只接受第一個(gè)字符a。(4)getchar函數(shù)得到的字符可以賦給一個(gè)字符變量或整型變量,也可以不賦給任何變量而是作為表達(dá)式的一部分。注意:格式輸出函數(shù)格式輸出函數(shù)printf(格式控制字符串,輸出項(xiàng)表列);輸出若干個(gè)任意類型的數(shù)據(jù)printf("a=%db=%d",a,b);格式說(shuō)明普通字符輸出結(jié)果
a=3b=4輸出列表格式輸出函數(shù)格式輸出函數(shù)printf("a=%db=%d"普通字符的輸出普通字符即需要原樣輸出的字符。printf("a=%db=%d",a,b);普通字符設(shè)a,b分別為3和4,則有:a=3b=4普通字符的輸出普通字符即需要原樣輸出的字符。printf("輸出列表舉例“輸出表列”是需要輸出的一些數(shù)據(jù),可以是表達(dá)式。可以有多項(xiàng),也可以沒(méi)有。printf("a=%da+b=%d",a,a+b);輸出表列printf(“輸出提示信息!");輸出列表舉例“輸出表列”是需要輸出的一些數(shù)據(jù),可%ccharacter以字符形式輸出單個(gè)字符%sstring輸出一個(gè)字符串%ddecimal以帶符號(hào)十進(jìn)制整數(shù)輸出%ffloat以小數(shù)形式輸出浮點(diǎn)數(shù)(6位小數(shù))%eexponent以標(biāo)準(zhǔn)指數(shù)形式輸出(6位小數(shù))%g選用%f,%e中輸出寬度較小的一種格式%ooctal以八進(jìn)制無(wú)符號(hào)整數(shù)輸出(無(wú)前導(dǎo)0)%xhex以十六進(jìn)制無(wú)符號(hào)整數(shù)輸出(無(wú)前導(dǎo)0x)%uunsigned以十進(jìn)制無(wú)符號(hào)整數(shù)輸出printf格式字符%ccharacter以字符形式輸出單個(gè)字符printf格d格式符功能以帶符號(hào)的十進(jìn)制整形格式輸出整數(shù)。格式%d按整形數(shù)據(jù)的實(shí)際長(zhǎng)度輸出%ld輸出長(zhǎng)整形數(shù)據(jù)a=3;b=24;printf("%d_%d",a,b);
3_24%md%0md按長(zhǎng)度為m輸出整形數(shù)據(jù)a=123;b=12345;printf("%4d,%05d,%d",a,a,b);
_123,00123,12345d格式符功能以帶符號(hào)的十進(jìn)制整形格式輸出整數(shù)。格式%dc格式符功能用來(lái)輸出一個(gè)字符。格式%c%mccharc='a‘;printf("%c,%3c",c,c);a,△△a注:上行的%c和c的意義不同。其值在0—255內(nèi)的整數(shù),可用c或d輸出。
intc=65;printf("%c,%d",c,c);
A,65一個(gè)字符,可用c或d輸出。
charc='a‘;printf("%c,%d",c,c);
a,97c格式符功能用來(lái)輸出一個(gè)字符。格式%c%mcs格式符輸出字符串,直到遇到字符串結(jié)束標(biāo)識(shí)\0為止。功能格式%s按字符串的實(shí)際長(zhǎng)度輸出。%ms輸出的字符串占m列。%-ms輸出的字符串占m列。%m.ns輸出的字符串占m列%-m.ns輸出的字符串占m列。printf("%s","china");chinaprintf("%3s,%7s","china","china");china,△△china1.當(dāng)字符串實(shí)際長(zhǎng)度>m,則按實(shí)際長(zhǎng)度輸出。2.當(dāng)字符串實(shí)際長(zhǎng)度≤m。則左端補(bǔ)空格。s格式符輸出字符串,直到遇到字符串結(jié)束標(biāo)識(shí)\0為止。功能格式s格式符printf("%3s,%-7s","china","china");china,china△△1.當(dāng)字符串實(shí)際長(zhǎng)度>m,則按實(shí)際長(zhǎng)度輸出。2.當(dāng)字符串實(shí)際長(zhǎng)度≤m。則右端補(bǔ)空格。printf("%7.2s","china");△△△△△ch1.左端輸出m-n個(gè)空格,右端輸出字符串左n個(gè)字符。2.當(dāng)字符串實(shí)際長(zhǎng)度≤n。則n為字符串長(zhǎng)度。s格式符printf("%3s,%-7s","china",s格式符printf("%-7.2s,%.4s","china","china");ch△△△△△,chin1.右端輸出m-n個(gè)空格,左端輸出字符串左n個(gè)字符。2.當(dāng)字符串實(shí)際長(zhǎng)度≤n。則n為字符串長(zhǎng)度。3.當(dāng)m沒(méi)有時(shí)自動(dòng)地m=n=4。s格式符printf("%-7.2s,%.4s","chinf格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%f以系統(tǒng)指定的形式輸出實(shí)數(shù)。floatx,y;x=111111.111;y=222222.222;printf("%f",x+y);
333333.3281251.系統(tǒng)自動(dòng)指定數(shù)據(jù)寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位。2.單精度數(shù)的有效位數(shù)為7位;雙精度數(shù)用%lf輸出時(shí),有效位數(shù)為16位,小數(shù)位為6位。f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%f以系統(tǒng)指定f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%m.nf按自定義格式輸出實(shí)數(shù)。
floatx;x=123.456;printf("%f,%10f,%10.2f,%.2f",x,x,x,x);
123.456001,123.456001,
△△△△123.46,123.461.輸出數(shù)據(jù)寬度為m,輸出n位小數(shù),n+1位小數(shù)四舍五入;實(shí)際小數(shù)位<n,則左端填0占位。2.輸出m-n-1位整數(shù)。實(shí)際整數(shù)位<m-n-1,前端填空格占位,否則,按整數(shù)實(shí)際長(zhǎng)度輸出。%-m.nf按自定義格式輸出實(shí)數(shù)。f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%m.nf按自f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%m.nf按自定義格式輸出實(shí)數(shù)。%-m.nf按自定義格式輸出實(shí)數(shù)。floatx,y;x=123.456;printf("%-9.2f,%f",f,f);
123.46△△△,123.4559941.輸出數(shù)據(jù)寬度為m,輸出n位小數(shù),n+1位小數(shù)四舍五入;實(shí)際小數(shù)位<n,則左端填0占位。2.輸出m-n-1位整數(shù)。前端按整數(shù)實(shí)際長(zhǎng)度輸出,
當(dāng)實(shí)際整數(shù)位<m-n-1,小數(shù)后端填空占位。f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%m.nf按自e格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%e用系統(tǒng)指定的標(biāo)準(zhǔn)格式輸出。printf(“%e”,123.456);1.234560e+0021.23456*1021.輸出總寬度為13位。其中:數(shù)值位為8位,指數(shù)位為5位。2.數(shù)值部分為0,或小數(shù)點(diǎn)前必須且只有一位非0數(shù)字。e格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%ee格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%m.ne用自定義格式輸出。
floatf=123.456;printf("%e,%10e,%10.2e,%.2e",f,f,f,f);
1.234560e+002,1.234560e+002,△1.23e+002,1.23e+0021.輸出總寬度為m位,數(shù)值部分小數(shù)為n位。2.當(dāng)m>n+7,則在數(shù)字部分前加m-n-7個(gè)空格,否則按實(shí)際長(zhǎng)度輸出。e格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%m.nee格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%-m.ne用自定義格式輸出。
floatf=123.456;printf("%-10.2e,%e",f,f);
1.23e+002△,1.234560e+0021.輸出總寬度為m位,數(shù)值部分小數(shù)為n位。2.當(dāng)m>n+7,則在指數(shù)部分后加m-n-7個(gè)空格。e格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%-m.nd以帶符號(hào)十進(jìn)制整數(shù)輸出o以八進(jìn)制無(wú)符號(hào)整數(shù)輸出(無(wú)前導(dǎo)0)x以十六進(jìn)制無(wú)符號(hào)整數(shù)輸出(無(wú)前導(dǎo)0x)u以十進(jìn)制無(wú)符號(hào)整數(shù)輸出c以字符形式輸出單個(gè)字符s輸出一個(gè)字符串f以小數(shù)形式輸出浮點(diǎn)數(shù)(6位小數(shù))e以標(biāo)準(zhǔn)指數(shù)形式輸出(6位小數(shù))g選用%f,%e中輸出寬度較小的一種格式printf格式字符d以帶符號(hào)十進(jìn)制整數(shù)輸出printf格式字符l
長(zhǎng)整型整數(shù),加在d、o、x、u前Llongdouble型數(shù),加在f、e、g前m表示數(shù)據(jù)占用的最小寬度數(shù)據(jù)寬度大于m,按實(shí)際寬度輸出數(shù)據(jù)寬度小于m時(shí),補(bǔ)空格n對(duì)實(shí)數(shù)表示輸出n位小數(shù)對(duì)字符串表示最多輸出的字符個(gè)數(shù)-改變輸出內(nèi)容的對(duì)齊方式缺省為右對(duì)齊printf附加格式說(shuō)明符l長(zhǎng)整型整數(shù),加在d、o、x、u前printfprintf函數(shù)使用說(shuō)明1.有些系統(tǒng)要求格式字符要用小寫字母。printf("%d,%f",a,f);√printf("%D,%F",a,f);×2.不同的系統(tǒng)實(shí)現(xiàn)輸出時(shí),輸出結(jié)果會(huì)有小的差別。例如:e格式輸出時(shí),指數(shù)部分有5位(e+002)和4位(e+02)之分;數(shù)值部分有效位數(shù)有5位小數(shù)和6位小數(shù)之分。printf函數(shù)使用說(shuō)明1.有些系統(tǒng)要求格式字符要用小寫字母printf函數(shù)使用說(shuō)明3.如輸出字符%,則在“格式控制”字符串重用連續(xù)的兩個(gè)%字符。printf("%f%%\n",1.0/3);輸出:0.333333%4.可以在“格式控制”字符串內(nèi)包含“轉(zhuǎn)義字符”。例如:\n,\t,\b,\r,\f等。printf("%d,%f\n",a,f);printf函數(shù)使用說(shuō)明3.如輸出字符%,則在“格式控制”字轉(zhuǎn)義字符轉(zhuǎn)義字符功能\n換行(回車換行)\t橫向跳格(跳向下一輸出區(qū))(8列)\v豎向跳格\b后退一格\r回車(回本行第一列)\f走紙換頁(yè)\\輸出反斜杠字符\ˊ輸出單引號(hào)字符\ddd(d為數(shù)據(jù))1到3位8進(jìn)制數(shù)所代表的字符\xhh(x為數(shù)據(jù))1到2位16進(jìn)制數(shù)所代表的字符轉(zhuǎn)義字符轉(zhuǎn)義字符功能\n換行(回車換行)\tprintf函數(shù)舉例#include<stdio.h>main(){inta=29;longb=123456;doublex=123.456;charc=':';printf("1.a=%d,a=%4d,",a,a);printf("a=%-4d,a=%04d\n",a,a);printf("2.a=%o,a=%04o,",a,a);printf("a=%x,a=0x%x\n",a,a);printf("3.b=%ld,b=%8ld\n",b,b);printf("4.x=%f,x=%.2f",x,x);printf("x=%10.2f,x=%-10.2f\n",x,x);1.a=29,a=29,a=29,a=00292.a=35,a=0035,a=1d,a=0x1d3.b=123456,b=1234564.x=123.456001,x=123.46,x=123.46,x=123.46printf函數(shù)舉例#include<stdio.h>1printf("5.x=%e,x=%.2e,x=%g\n",x,x,x);printf("6.%c%8s%c\n",c,"howareyou",c);printf("7.%c%15s%c\n",c,"howareyou",c);printf("8.%c%+10.3s%c\n",c,"howareyou",c);printf("9.%c%-10.3s%c\n",c,"howareyou",c);}5.x=1.234560e+02,x=1.23e+02,x=123.4560016.:howareyou:7.:howareyou:8.:how:9.:how:printf("5.x=%e,x=%.2e,x=%g\#include<stdio.h>main(){ floatf1=100.15799,f2=12.55,f3=1.7; intn1=123,n2=45,n3=6;
printf("printfWITHOUTwidthorprecision specifications:\n"); printf("%f\n%f\n%f\n",f1,f2,f3); printf("%d\n%d\n%d\n",n1,n2,n3); printf("printfWITHwidthandprecision specifications:\n"); printf("%5.2f\n%6.1f\n%3.0f\n",f1,f2,f3); printf("%5d\n%6d\n%3d\n\n",n1,n2,n3);}例3.8#include<stdio.h>例3.8格式輸入函數(shù)scanf功能:
該函數(shù)可按指定的格式輸入多個(gè)不同類型的數(shù)據(jù),并將輸入數(shù)據(jù)存入地址參數(shù)所指定的地址單元。格式:scanf(格式控制,地址表列)格式控制:與printf的格式控制含義相同。輸出表列:是由若干個(gè)地址組成的表列,可以是地址,或字符串首地址。&:取地址符,單目運(yùn)算符格式:&變量名雙目運(yùn)算符,位與運(yùn)算格式輸入函數(shù)scanf功能:該函數(shù)可按指定的格式輸入多個(gè)不函數(shù)scanf使用說(shuō)明“地址列表”中是變量的地址,而非變量scanf("%d",&i);關(guān)于輸入格式格式字符串中的普通字符須按相應(yīng)位置輸入除字符型(%c)外,輸入項(xiàng)之間用一個(gè)或多個(gè)空白字符分隔,包括空格、回車、制表符如規(guī)定了最大寬度,且輸入數(shù)據(jù)超出寬度,則按寬度截取數(shù)據(jù)函數(shù)scanf使用說(shuō)明“地址列表”中是變量的地址,而非變量scanf的格式控制scanf附加的格式說(shuō)明字符:
lh域?qū)?c以字符形式輸入單個(gè)字符s輸入字符串,以非空字符開(kāi)始,遇第一個(gè)空白字符結(jié)束d以帶符號(hào)十進(jìn)制形式輸入整型數(shù)據(jù)f以小數(shù)形式輸入浮點(diǎn)數(shù)e以標(biāo)準(zhǔn)指數(shù)形式輸入o以八進(jìn)制無(wú)符號(hào)形式輸入(無(wú)前導(dǎo)0)x以十六進(jìn)制無(wú)符號(hào)形式輸入(無(wú)前導(dǎo)0x)scanf的格式控制scanf附加的格式說(shuō)明字符:c以字scanf附加的格式說(shuō)明字符字符說(shuō)明l用于輸入長(zhǎng)整形數(shù)據(jù)(可用%ld、%lo、%lx),以及double型數(shù)據(jù)(用%lf或%le)h用于輸入短整形數(shù)據(jù)(可用%hd、%ho、%hx)域?qū)?為以正整數(shù))
指定輸入數(shù)據(jù)所占寬度(列數(shù))*表示本輸入項(xiàng)在讀入后,不賦給相應(yīng)的變量。scanf附加的格式說(shuō)明字符字符說(shuō)明d格式符功能用來(lái)輸入十進(jìn)制整數(shù)。格式%d%md%*md①全用%d格式符:
inta1,a2,a3;scanf("%d%d%d",&a1,&a2,&a3);
輸入格式:121231234結(jié)果:a1=12a2=123a3=1234注:數(shù)據(jù)必須用至少一個(gè)空格分開(kāi)。d格式符功能用來(lái)輸入十進(jìn)制整數(shù)。格式%d%md格式符功能用來(lái)輸入十進(jìn)制整數(shù)。格式%d%md%*md②全用%md、%*md格式符:
inta1,a2,a3;scanf("%2d%*3d%3d",&a1,&a2);
輸入格式:1234567890結(jié)果:a1=12a2=678a3=無(wú)注:當(dāng)指定域?qū)挄r(shí),數(shù)據(jù)不用逗號(hào)或空格分開(kāi)。后面參數(shù)是地址列表,不是變量列表。d格式符功能用來(lái)輸入十進(jìn)制整數(shù)。格式%d%mc格式符功能用來(lái)輸入單個(gè)字符。注意輸入格式!格式%c%mc%*mc①全用%c格式符:
chara1,a2,a3;scanf("%c%c%c",&a1,&a2,&a3);
輸入格式:abc結(jié)果:a1='a'a2='b'a3='c'注:數(shù)據(jù)一定不要用逗號(hào)或空格分開(kāi)。c格式符功能用來(lái)輸入單個(gè)字符。注意輸入格式!格式%cc格式符功能用來(lái)輸入單個(gè)字符。注意輸入格式!格式%c%mc%*mc②全用%mc、%*mc格式符:
chara1,a2,a3;scanf("%3c%*3c%3c",&a1,&a2);abcdefghijklmnopq結(jié)果:a1='a'a2='g'a3=無(wú)注:數(shù)據(jù)輸入時(shí)一定不要用空格分開(kāi)。c格式符功能用來(lái)輸入單個(gè)字符。注意輸入格式!格式%cf格式符功能用來(lái)以小數(shù)形式輸入十進(jìn)制實(shí)數(shù)。格式%f%mf%*mf①全用%f格式符:
floata1,a2,a3;scanf("%f%f%f",&a1,&a2,&a3);12.345123.4561234.567結(jié)果:a1=12.345a2=123.456a3=1234.567注:數(shù)據(jù)必須只能用至少一個(gè)空格分開(kāi)。f格式符功能用來(lái)以小數(shù)形式輸入十進(jìn)制實(shí)數(shù)。格式%ff格式符功能用來(lái)以小數(shù)形式輸入十進(jìn)制實(shí)數(shù)。格式%f%mf%*mf②全用%mf、%*mf格式符:——要慎用!
inta1,a2,a3;scanf("%5f%*4f%5f",&a1,&a2);12.345.678.9012345結(jié)果:a1=12.34a2=8.901a3=無(wú)注:浮點(diǎn)類型數(shù)據(jù)輸入一般不要指定域?qū)?!f格式符功能用來(lái)以小數(shù)形式輸入十進(jìn)制實(shí)數(shù)。格式%f輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑴格式化輸入輸出的數(shù)據(jù)類型與所用格式說(shuō)明符不一致。floatf=123.456;scanf("%d",&f);printf("%d\n",f);輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑴格式化輸入輸出的數(shù)據(jù)類型與所用輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑵用scanf函數(shù)輸入數(shù)據(jù)時(shí),變量前忘記使用地址符&。intf;scanf("%d",f);×輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑵用scanf函數(shù)輸入數(shù)據(jù)時(shí),變輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑶用scanf函數(shù)輸入數(shù)據(jù)時(shí),數(shù)據(jù)的輸入形式與格式要求不符。inta1,a2;scanf("%d,%d",&a1,&a2);input:34×3,4√scanf("%d%d",&a1,&a2);input:34√3,4×輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑶用scanf函數(shù)輸入數(shù)據(jù)時(shí),數(shù)輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑷若想在屏幕上輸出一行提示信息,然后輸入數(shù)據(jù),下列語(yǔ)句錯(cuò)誤。inta1,a2;scanf("inputa1,a2:%d,%d",&a1,&a2);×可采用下列語(yǔ)句:printf("inputa1,a2:");scanf("%d,%d",&a1,&a2);注:在scanf函數(shù)的格式化控制字符串中一般不要包括普通字符,也不要包括“\n”等轉(zhuǎn)義控制符,所有輸出信息必須用printf函數(shù)輸出!輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑷若想在屏幕上輸出一行提示信息,輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑸在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)該數(shù)據(jù)認(rèn)為本輸入結(jié)束。①遇空格,或按“回車”或“跳”(TAB鍵)②遇寬度結(jié)束,如%3d,只取3列。③遇非法輸入。(6)在需要輸入多個(gè)數(shù)據(jù)時(shí),應(yīng)使用一條scanf語(yǔ)句將多個(gè)輸入合并在一起輸入,盡量避免scanf語(yǔ)句的多次連續(xù)使用而出現(xiàn)越界錯(cuò)誤。輸入輸出操作中常見(jiàn)的錯(cuò)誤分析⑸在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)該數(shù)格式輸入函數(shù)常見(jiàn)錯(cuò)誤scanf("%d,%f\n”,&a,&b);scanf("%d,%f”,a,b);scanf("%7.2f",&a);格式輸入函數(shù)常見(jiàn)錯(cuò)誤#include<stdio.h>main(){
inta,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=34,a+b=461234↙例遇空格、TAB鍵時(shí)結(jié)束#include<stdio.h>Pleaseinpu#include<stdio.h>main(){
inta,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=34,a+b=4612↙例遇回車鍵時(shí)結(jié)束34↙#include<stdio.h>Pleaseinpu#include<stdio.h>main(){
inta,b; printf("Pleaseinputaandb:"); scanf("%2d%2d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=34,a+b=461234↙例遇寬度時(shí)結(jié)束#include<stdio.h>Pleaseinpu#include<stdio.h>main(){
inta,b; printf("Pleaseinputaandb:"); scanf("%2d%2d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=3,a+b=15123a↙例遇非法輸入時(shí)結(jié)束#include<stdio.h>Pleaseinpu#include<stdio.h>main(){
inta,b; printf("Pleaseinputaandb:"); scanf("%d,%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=34,a+b=4612,34↙例這里逗號(hào)需要原樣輸入#include<stdio.h>Pleaseinpu#include<stdio.h>main(){
inta,b; printf("Pleaseinputaandb:"); scanf("%2d%*2d%2d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=56,a+b=68123456↙例3.9跳過(guò)一個(gè)輸入項(xiàng)#include<stdio.h>Pleaseinpu#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問(wèn)題1:當(dāng)要求程序輸出結(jié)果為
a=12,b=34時(shí),用戶應(yīng)該如何輸入數(shù)據(jù)?
1234↙輸入數(shù)據(jù)的格式控制——例3.10#include<stdio.h>問(wèn)題1:當(dāng)要求程序輸出#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問(wèn)題2:當(dāng)限定用戶輸入數(shù)據(jù)以逗號(hào)為分隔符,即輸入數(shù)據(jù)格式為:12,34↙時(shí),應(yīng)修改程序中的哪條語(yǔ)句?怎樣修改?scanf("%d,%d",&a,&b);
輸入數(shù)據(jù)的格式控制——例3.10#include<stdio.h>問(wèn)題2:當(dāng)限定用戶輸入#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問(wèn)題3:語(yǔ)句scanf("%d%d",&a,&b);修改為scanf("a=%d,b=%d",&a,&b);時(shí),用戶應(yīng)該如何輸入數(shù)據(jù)?a=12,b=34↙輸入數(shù)據(jù)的格式控制——例3.10#include<stdio.h>問(wèn)題3:語(yǔ)句scanf#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}
問(wèn)題4:限定用戶輸入數(shù)據(jù)為以下格式為
1234↙
同時(shí)要求程序輸出結(jié)果為a=12,b=34scanf("%2d%2d",&a,&b);輸入數(shù)據(jù)的格式控制——例3.10#include<stdio.h>問(wèn)題4:限定用戶#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}
問(wèn)題5:限定用戶輸入數(shù)據(jù)為以下格式為12↙34↙
同時(shí)要求程序輸出結(jié)果為a="12",b="34"scanf("%d%d",&a,&b);printf("a=\"%d\",b=\"%d\"\n",a,b);輸入數(shù)據(jù)的格式控制——例3.10#include<stdio.h>問(wèn)題5:限定用戶#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問(wèn)題6:設(shè)計(jì)程序使得用戶可以以任意字符(回車、空格、制表符、逗號(hào)、其它)作為分隔符進(jìn)行數(shù)據(jù)的輸入scanf("%d%*c%d",&a,&b);
輸入數(shù)據(jù)的格式控制——例3.10#include<stdio.h>問(wèn)題6:設(shè)計(jì)程序使得用#include<stdio.h>main(){
intdata1,data2,sum;
charop;
printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2
第1次測(cè)試12+3↙123129=3141C格式符存在的問(wèn)題及其解決—例3.11#include<stdio.h>Pleaseenter#include<stdio.h>main(){
intdata1,data2,sum;
charop;
printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2
第2次測(cè)試123↙123=5C格式符存在的問(wèn)題及其解決—例3.11#include<stdio.h>Pleaseenter#include<stdio.h>main(){
intdata1,data2,sum;
charop;
printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2
第3次測(cè)試12+3↙12+3=5C格式符存在的問(wèn)題及其解決—例3.11#include<stdio.h>Pleaseenter#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }Pleaseinputaninteger:希望得到的運(yùn)行結(jié)果12↙Pleaseinputancharacter
:a↙Pleaseinputafloatnumber:3.5↙integer:12character
:afloatnumber:3.500000C格式符存在的問(wèn)題及其解決—例3.11#include<stdio.h>Pleaseinput#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }Pleaseinputaninteger:結(jié)果好像很奇怪嘛!12↙Pleaseinputancharacter
:a↙Pleaseinputafloatnumber:3.5↙integer:12floatnumber:3.500000C格式符存在的問(wèn)題及其解決—例3.11#include<stdio.h>Pleaseinput#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }C格式符存在的問(wèn)題及其解決—例3.11#include<stdio.h>C格式符存在的問(wèn)題及其解#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");
getchar();/*吸收掉前面輸入整型數(shù)據(jù)后面鍵入的回車字符*/scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }Pleaseinputaninteger:程序修改后得到的運(yùn)行結(jié)果12↙Pleaseinputancharacter
:a↙Pleaseinputafloatnumber:3.5↙integer:12character
:afloatnumber:3.500000C格式符存在的問(wèn)題及其解決—例3.11#include<stdio.h>Pleaseinput#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf(“%c”,&b);/*第2種解決方案:在%c前加一個(gè)空格*/printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }C格式符的問(wèn)題及解決—例3.11#include<stdio.h>C格式符的問(wèn)題及解決—例#include<stdio.h>main(){
inta;
charb;
floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%1s",&b);/*第3種解決方案*/printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }C格式符存在的問(wèn)題及其解決—例3.11#include<stdio.h>C格式符存在的問(wèn)題及其解#include<stdio.h>main(){
intdata1,data2,sum;
charop;
printf("Pleaseentertheexpression data1+data2\n"); //scanf("%d%1s%d",&data1,&op,&data2); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}12+3↙12+3↙12↙+↙3↙再回頭來(lái)看例3.11,以任意分隔符輸入加法算式,可能嗎?#include<stdio.h>12+3↙12+3↙#include<stdio.h>main(){
inta,b; printf("Inputaandb:"); ret=scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
}對(duì)輸入非法字符的檢查與處理—例3.12Inputaandb:1,2↙a=1,b=4199264
結(jié)果和沒(méi)有執(zhí)行輸入b的操作一樣#include<stdio.h>對(duì)輸入非法字符的檢查與處#include<stdio.h>main(){ inta,b,ret; printf("Inputaandb:"); ret=scanf("%d%d",&a,&b); if(ret!=2)
/*包括各種輸入錯(cuò)誤,如輸入格式錯(cuò)誤,存在非法字符,無(wú)數(shù)據(jù)可讀等*/ { printf("Inputerror!\n"); fflush(stdin); /*清除輸入緩沖區(qū)中的錯(cuò)誤數(shù)據(jù)*/ } else /*此處可以是正確讀入數(shù)據(jù)后應(yīng)該執(zhí)行的操作*/ { printf("a=%d,b=%d\n",a,b); }}
對(duì)輸入非法字符的檢查與處理—例3.12Inputaandb:1,2↙Inputerror!
scanf調(diào)用成功,則返回正常讀入的數(shù)據(jù)個(gè)數(shù),否則,返回EOF(即-1)#include<stdio.h>對(duì)輸入非法字符的檢查與處這一章我們學(xué)習(xí)了字符輸入函數(shù)getchar()字符輸出函數(shù)putchar()格式輸入函數(shù)scanf()格式輸出函數(shù)printf()格式控制問(wèn)題——難點(diǎn)這一章我們學(xué)習(xí)了字符輸入函數(shù)getchar()幾點(diǎn)忠告不要拘泥于細(xì)節(jié)不要死記硬背在使用中慢慢掌握幾點(diǎn)忠告不要拘泥于細(xì)節(jié)第3章鍵盤輸入與屏幕輸出第3章內(nèi)容提要C語(yǔ)句的分類字符輸入輸出函數(shù)格式輸入輸出函數(shù)內(nèi)容提要C語(yǔ)句的分類C語(yǔ)言中的語(yǔ)句空語(yǔ)句;復(fù)合語(yǔ)句{t=x;x=y;y=t;}控制語(yǔ)句if()—else、for()、while()、do—whilecontinue、break、switch、goto、return函數(shù)調(diào)用語(yǔ)句由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成printf(““);C語(yǔ)言中的語(yǔ)句空語(yǔ)句C語(yǔ)言中的語(yǔ)句變量聲明語(yǔ)句intx,y;表達(dá)式語(yǔ)句i++;i=i+1;A=5我只是個(gè)表達(dá)式呀!A=5;我已經(jīng)成為表達(dá)式語(yǔ)句了!C語(yǔ)言中的語(yǔ)句變量聲明語(yǔ)句A=5我只是個(gè)表達(dá)式呀?。粒剑?;我復(fù)合語(yǔ)句在什么情況下使用復(fù)合語(yǔ)句?條件語(yǔ)句和循環(huán)語(yǔ)句在語(yǔ)法上只允許帶一條語(yǔ)句當(dāng)分支和循環(huán)中需要進(jìn)行多項(xiàng)操作時(shí){
t=x;x=y;y=t;}被當(dāng)作一條語(yǔ)句來(lái)處理復(fù)合語(yǔ)句在什么情況下使用復(fù)合語(yǔ)句?{被當(dāng)作一條語(yǔ)句來(lái)處理例3.1main(){
inta=0; {
inta=1;
printf("In:a=%d\n",a); }
printf("Out:a=%d\n",a);}In:a=1Out:a=0例3.1main()In:a=1空語(yǔ)句空語(yǔ)句有什么作用?什么也不做,只表示語(yǔ)句的存在自頂向下程序設(shè)計(jì)時(shí)用在那些未完成的模塊中延時(shí)用的空循環(huán)main(){DataInitialze();DataProcess();DataOutput();}DataInitialze(){;}空語(yǔ)句空語(yǔ)句有什么作用?main()DataInitialz順序結(jié)構(gòu)程序的基本操作輸入數(shù)據(jù)從標(biāo)準(zhǔn)輸入設(shè)備上輸入數(shù)據(jù)到計(jì)算機(jī)內(nèi)存輸出數(shù)據(jù)將計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)送到標(biāo)準(zhǔn)輸出設(shè)備通過(guò)調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)來(lái)實(shí)現(xiàn)
#include<stdio.h>在指定的文件目錄中找該文件標(biāo)準(zhǔn)輸入standardinput與標(biāo)準(zhǔn)輸出output順序結(jié)構(gòu)程序的基本操作輸入數(shù)據(jù)標(biāo)準(zhǔn)輸入standardi字符輸入輸出函數(shù)字符輸出函數(shù)putchar(ch)輸出一個(gè)字符ch字符輸入函數(shù)getchar()無(wú)參數(shù)函數(shù)值為從輸入設(shè)備接收的字符字符輸入輸出函數(shù)字符輸出函數(shù)函數(shù)putchar舉例#include<stdio.h>
main()
{
chara,b,c;
a=‘B’;b=‘O’;c=‘Y’;
putchar(a);putchar(b);putchar(c);
putchar(‘\n’);
putchar(‘\101’);putchar(‘\\’);putchar(‘\x61’);
}程序的運(yùn)行結(jié)果是∶
BOY
A\a函數(shù)putchar舉例#include<stdio.h>
函數(shù)getchar舉例#include"stdio.h" main(){charch;printf("Pleaseinputtwocharacter:");ch=getchar(); /*輸入1個(gè)字符并賦給ch*/putchar(ch);putchar('\n');putchar(getchar()); /*輸入一個(gè)字符并輸出*/putchar('\n');} Pleaseinputtwocharacters:ab↙ab該語(yǔ)句的作用是什么?函數(shù)getchar舉例#include"stdio.h" 注意:(1)▲程序執(zhí)行時(shí),執(zhí)行到該函數(shù)將暫停程序的運(yùn)行等待從鍵盤輸入數(shù)據(jù)(2)只有在按“回車”鍵之后輸入的字符才有效.(3)此函數(shù)只接受一個(gè)字符,而非一串字符。字符可以是回車、tab鍵等特殊字符;例中若輸入abcde,該函數(shù)也只接受第一個(gè)字符a。(4)getchar函數(shù)得到的字符可以賦給一個(gè)字符變量或整型變量,也可以不賦給任何變量而是作為表達(dá)式的一部分。注意:格式輸出函數(shù)格式輸出函數(shù)printf(格式控制字符串,輸出項(xiàng)表列);輸出若干個(gè)任意類型的數(shù)據(jù)printf("a=%db=%d",a,b);格式說(shuō)明普通字符輸出結(jié)果
a=3b=4輸出列表格式輸出函數(shù)格式輸出函數(shù)printf("a=%db=%d"普通字符的輸出普通字符即需要原樣輸出的字符。printf("a=%db=%d",a,b);普通字符設(shè)a,b分別為3和4,則有:a=3b=4普通字符的輸出普通字符即需要原樣輸出的字符。printf("輸出列表舉例“輸出表列”是需要輸出的一些數(shù)據(jù),可以是表達(dá)式。可以有多項(xiàng),也可以沒(méi)有。printf("a=%da+b=%d",a,a+b);輸出表列printf(“輸出提示信息!");輸出列表舉例“輸出表列”是需要輸出的一些數(shù)據(jù),可%ccharacter以字符形式輸出單個(gè)字符%sstring輸出一個(gè)字符串%ddecimal以帶符號(hào)十進(jìn)制整數(shù)輸出%ffloat以小數(shù)形式輸出浮點(diǎn)數(shù)(6位小數(shù))%eexponent以標(biāo)準(zhǔn)指數(shù)形式輸出(6位小數(shù))%g選用%f,%e中輸出寬度較小的一種格式%ooctal以八進(jìn)制無(wú)符號(hào)整數(shù)輸出(無(wú)前導(dǎo)0)%xhex以十六進(jìn)制無(wú)符號(hào)整數(shù)輸出(無(wú)前導(dǎo)0x)%uunsigned以十進(jìn)制無(wú)符號(hào)整數(shù)輸出printf格式字符%ccharacter以字符形式輸出單個(gè)字符printf格d格式符功能以帶符號(hào)的十進(jìn)制整形格式輸出整數(shù)。格式%d按整形數(shù)據(jù)的實(shí)際長(zhǎng)度輸出%ld輸出長(zhǎng)整形數(shù)據(jù)a=3;b=24;printf("%d_%d",a,b);
3_24%md%0md按長(zhǎng)度為m輸出整形數(shù)據(jù)a=123;b=12345;printf("%4d,%05d,%d",a,a,b);
_123,00123,12345d格式符功能以帶符號(hào)的十進(jìn)制整形格式輸出整數(shù)。格式%dc格式符功能用來(lái)輸出一個(gè)字符。格式%c%mccharc='a‘;printf("%c,%3c",c,c);a,△△a注:上行的%c和c的意義不同。其值在0—255內(nèi)的整數(shù),可用c或d輸出。
intc=65;printf("%c,%d",c,c);
A,65一個(gè)字符,可用c或d輸出。
charc='a‘;printf("%c,%d",c,c);
a,97c格式符功能用來(lái)輸出一個(gè)字符。格式%c%mcs格式符輸出字符串,直到遇到字符串結(jié)束標(biāo)識(shí)\0為止。功能格式%s按字符串的實(shí)際長(zhǎng)度輸出。%ms輸出的字符串占m列。%-ms輸出的字符串占m列。%m.ns輸出的字符串占m列%-m.ns輸出的字符串占m列。printf("%s","china");chinaprintf("%3s,%7s","china","china");china,△△china1.當(dāng)字符串實(shí)際長(zhǎng)度>m,則按實(shí)際長(zhǎng)度輸出。2.當(dāng)字符串實(shí)際長(zhǎng)度≤m。則左端補(bǔ)空格。s格式符輸出字符串,直到遇到字符串結(jié)束標(biāo)識(shí)\0為止。功能格式s格式符printf("%3s,%-7s","china","china");china,china△△1.當(dāng)字符串實(shí)際長(zhǎng)度>m,則按實(shí)際長(zhǎng)度輸出。2.當(dāng)字符串實(shí)際長(zhǎng)度≤m。則右端補(bǔ)空格。printf("%7.2s","china");△△△△△ch1.左端輸出m-n個(gè)空格,右端輸出字符串左n個(gè)字符。2.當(dāng)字符串實(shí)際長(zhǎng)度≤n。則n為字符串長(zhǎng)度。s格式符printf("%3s,%-7s","china",s格式符printf("%-7.2s,%.4s","china","china");ch△△△△△,chin1.右端輸出m-n個(gè)空格,左端輸出字符串左n個(gè)字符。2.當(dāng)字符串實(shí)際長(zhǎng)度≤n。則n為字符串長(zhǎng)度。3.當(dāng)m沒(méi)有時(shí)自動(dòng)地m=n=4。s格式符printf("%-7.2s,%.4s","chinf格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%f以系統(tǒng)指定的形式輸出實(shí)數(shù)。floatx,y;x=111111.111;y=222222.222;printf("%f",x+y);
333333.3281251.系統(tǒng)自動(dòng)指定數(shù)據(jù)寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位。2.單精度數(shù)的有效位數(shù)為7位;雙精度數(shù)用%lf輸出時(shí),有效位數(shù)為16位,小數(shù)位為6位。f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%f以系統(tǒng)指定f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%m.nf按自定義格式輸出實(shí)數(shù)。
floatx;x=123.456;printf("%f,%10f,%10.2f,%.2f",x,x,x,x);
123.456001,123.456001,
△△△△123.46,123.461.輸出數(shù)據(jù)寬度為m,輸出n位小數(shù),n+1位小數(shù)四舍五入;實(shí)際小數(shù)位<n,則左端填0占位。2.輸出m-n-1位整數(shù)。實(shí)際整數(shù)位<m-n-1,前端填空格占位,否則,按整數(shù)實(shí)際長(zhǎng)度輸出。%-m.nf按自定義格式輸出實(shí)數(shù)。f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%m.nf按自f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%m.nf按自定義格式輸出實(shí)數(shù)。%-m.nf按自定義格式輸出實(shí)數(shù)。floatx,y;x=123.456;printf("%-9.2f,%f",f,f);
123.46△△△,123.4559941.輸出數(shù)據(jù)寬度為m,輸出n位小數(shù),n+1位小數(shù)四舍五入;實(shí)際小數(shù)位<n,則左端填0占位。2.輸出m-n-1位整數(shù)。前端按整數(shù)實(shí)際長(zhǎng)度輸出,
當(dāng)實(shí)際整數(shù)位<m-n-1,小數(shù)后端填空占位。f格式符以小數(shù)形式輸出實(shí)數(shù)。功能格式%m.nf按自e格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%e用系統(tǒng)指定的標(biāo)準(zhǔn)格式輸出。printf(“%e”,123.456);1.234560e+0021.23456*1021.輸出總寬度為13位。其中:數(shù)值位為8位,指數(shù)位為5位。2.數(shù)值部分為0,或小數(shù)點(diǎn)前必須且只有一位非0數(shù)字。e格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%ee格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%m.ne用自定義格式輸出。
floatf=123.456;printf("%e,%10e,%10.2e,%.2e",f,f,f,f);
1.234560e+002,1.234560e+002,△1.23e+002,1.23e+0021.輸出總寬度為m位,數(shù)值部分小數(shù)為n位。2.當(dāng)m>n+7,則在數(shù)字部分前加m-n-7個(gè)空格,否則按實(shí)際長(zhǎng)度輸出。e格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%m.nee格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%-m.ne用自定義格式輸出。
floatf=123.456;printf("%-10.2e,%e",f,f);
1.23e+002△,1.234560e+0021.輸出總寬度為m位,數(shù)值部分小數(shù)為n位。2.當(dāng)m>n+7,則在指數(shù)部分后加m-n-7個(gè)空格。e格式符以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù)。功能格式%-m.nd以帶符號(hào)十進(jìn)制整數(shù)輸出o以八進(jìn)制無(wú)符號(hào)整數(shù)輸出(無(wú)前導(dǎo)0)x以十六進(jìn)制無(wú)符號(hào)整數(shù)輸出(無(wú)前導(dǎo)0x)u以十進(jìn)制無(wú)符號(hào)整數(shù)輸出c以字符形式輸出單個(gè)字符s輸出一個(gè)字符串f以小數(shù)形式輸出浮點(diǎn)數(shù)(6位小數(shù))e以標(biāo)準(zhǔn)指數(shù)形式輸出(6位小數(shù))g選用%f,%e中輸出寬度較小的一種格式printf格式字符d以帶符號(hào)十進(jìn)制整數(shù)輸出printf格式字符l
長(zhǎng)整型整數(shù),加在d、o、x、u前Llongdouble型數(shù),加在f、e、g前m表示數(shù)據(jù)占用的最小寬度數(shù)據(jù)寬度大于m,按實(shí)際寬度輸出數(shù)據(jù)寬度小于m時(shí),補(bǔ)空格n對(duì)實(shí)數(shù)表示輸出n位小數(shù)對(duì)字符串表示最多輸出的字符個(gè)數(shù)-改變輸出內(nèi)容的對(duì)齊方式缺省為右對(duì)齊printf附加格式說(shuō)明符l長(zhǎng)整型整數(shù),加在d、o、x、u前printfprintf函數(shù)使用說(shuō)明1.有些系統(tǒng)要求格式字符要用小寫字母。printf("%d,%f",a,f);√printf("%D,%F",a,f);×2.不同的系統(tǒng)實(shí)現(xiàn)輸出時(shí),輸出結(jié)果會(huì)有小的差別。例如:e格式輸出時(shí),指數(shù)部分有5位(e+002)和4位(e+02)之分;數(shù)值部分有效位數(shù)有5位小數(shù)和6位小數(shù)之分。printf函數(shù)使用說(shuō)明1.有些系統(tǒng)要求格式字符要用小寫字母printf函數(shù)使用說(shuō)明3.如輸出字符%,則在“格式控制”字符串重用連續(xù)的兩個(gè)%字符。printf("%f%%\n",1.0/3);輸出:0.333333%4.可以在“格式控制”字符串內(nèi)包含“轉(zhuǎn)義字符”。例如:\n,\t,\b,\r,\f等。printf("%d,%f\n",a,f);printf函數(shù)使用說(shuō)明3.如輸出字符%,則在“格式控制”字轉(zhuǎn)義字符轉(zhuǎn)義字符功能\n換行(回車換行)\t橫向跳格(跳向下一輸出區(qū))(8列)\v豎向跳格\b后退一格\r回車(回本行第一列)\f走紙換頁(yè)\\輸出反斜杠字符
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川2024年12月四川省青川縣人力資源和社會(huì)保障局公開(kāi)考調(diào)2名部分事業(yè)單位工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 黑龍江農(nóng)業(yè)經(jīng)濟(jì)職業(yè)學(xué)院《鄉(xiāng)土中國(guó)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄂州職業(yè)大學(xué)《建筑項(xiàng)目招投標(biāo)與合同管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江建設(shè)職業(yè)技術(shù)學(xué)院《信息技術(shù)前沿專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建省龍巖市上杭縣2024-2025學(xué)年數(shù)學(xué)四下期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 吉林科技職業(yè)技術(shù)學(xué)院《鋼筋算量實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建農(nóng)林大學(xué)金山學(xué)院《熱工基礎(chǔ)與流體力學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年保定市高陽(yáng)縣數(shù)學(xué)四下期末統(tǒng)考模擬試題含解析
- 湖北城市建設(shè)職業(yè)技術(shù)學(xué)院《新媒體寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津商業(yè)大學(xué)《數(shù)控技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2022年四川省綿陽(yáng)市中考化學(xué)試卷
- 學(xué)習(xí)-化工單元第十四講萃取
- (完整版)微生物檢驗(yàn)技術(shù)練習(xí)題(含答案)
- 貝利嬰幼兒發(fā)展量表
- 佛山市內(nèi)戶口遷移申請(qǐng)表
- 《工程制圖完整》課件
- 說(shuō)課比賽一等獎(jiǎng)《醫(yī)用化學(xué)》說(shuō)課課件
- 常見(jiàn)焊接缺陷以及其處理方法PPT
- 《子宮脫垂護(hù)理查房》
- 關(guān)于對(duì)項(xiàng)目管理的獎(jiǎng)懲制度
- A320主起落架收放原理分析及運(yùn)動(dòng)仿真
評(píng)論
0/150
提交評(píng)論