第3章數(shù)據(jù)的輸入和輸出_第1頁(yè)
第3章數(shù)據(jù)的輸入和輸出_第2頁(yè)
第3章數(shù)據(jù)的輸入和輸出_第3頁(yè)
第3章數(shù)據(jù)的輸入和輸出_第4頁(yè)
第3章數(shù)據(jù)的輸入和輸出_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

數(shù)據(jù)的輸入與輸出數(shù)據(jù)輸入與輸出

C語(yǔ)言無(wú)I/O語(yǔ)句,I/O操作由函數(shù)實(shí)現(xiàn)

#include<stdio.h>或者#include“stdio.h”

預(yù)處理語(yǔ)句,使用標(biāo)準(zhǔn)的輸入輸出函數(shù)時(shí)要包含該預(yù)處理,用printf和scanf時(shí)可以省學(xué)習(xí)目標(biāo)字符輸出函數(shù)putchar字符輸入函數(shù)getchar格式輸出函數(shù)printf格式輸入函數(shù)scanf重點(diǎn)難點(diǎn):格式控制、格式說(shuō)明符3.1字符輸出函數(shù)格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯(cuò),為EOF(-1)函數(shù)名參數(shù)#include<stdio.h>voidmain(){int

a,b,c; chard,e; a=55;b=56; c=72;d='e'; e='l';

putchar(c);

putchar(d);

putchar(e);

putchar(e);

putchar(a+b);

putchar('\n');}運(yùn)行結(jié)果為:hello思考:例子:#include"stdio.h"main(){chara,b;a='h';b='i';putchar(a);putchar(b);}運(yùn)行結(jié)果為:Hi3-2字符輸入函數(shù)格式:getchar()功能:從鍵盤(pán)讀一字符返值:正常,返回讀取的代碼值;出錯(cuò),返回EOF(-1)#include<stdio.h>main(){charc;c=getchar();

printf(“c=%c\n",c);

printf(“c=%d\n",c);}運(yùn)行結(jié)果:AA653-3格式輸出函數(shù)格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯(cuò),返回EOF(-1)輸出列表:要輸出的數(shù)據(jù)(可以沒(méi)有,多個(gè)時(shí)以“,”分隔)格式控制串:包含兩種信息格式說(shuō)明:

%[修飾符]格式字符

,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出格式字符如:printf(“a=%d,b=%d”,a,b);普通字符格式說(shuō)明輸出列表d,ix,Xoucse,Efg%%十六進(jìn)制無(wú)符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無(wú)符號(hào)整數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號(hào)本身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+02567.789000567.789%說(shuō)明 格式字符要用小寫(xiě)格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對(duì)應(yīng)格式字符與輸出項(xiàng)類(lèi)型不一致,自動(dòng)按指定格式輸出格式字符表整型數(shù)據(jù)輸出:例子3-2#include"stdio.h"main(){unsignedinta=4294967295;intb=-1;printf("a=%d,%o,%x,%u\n",a,a,a,a);printf("b=%d,%o,%x,%u\n",b,b,b,b);}整型數(shù)據(jù)輸出:%d為有符號(hào)輸出,其它為無(wú)符號(hào)輸出429496729511111111111111111111111111111111其它數(shù)據(jù)輸出注意點(diǎn):實(shí)型數(shù)據(jù)1、%f輸出數(shù)據(jù)時(shí),整數(shù)部分全部輸出,小數(shù)部分固定輸出6位(例子:3-3

)2、%g輸出數(shù)據(jù)時(shí),系統(tǒng)自己選擇輸出形式,使輸出數(shù)據(jù)最小。3、%e格式實(shí)型數(shù)據(jù)輸出,小數(shù)點(diǎn)前必須有且只有1位非零數(shù)字,指定6位,e占1位,指數(shù)符呈占1位,指數(shù)占3位,如下列為13位,例子3-5:main(){printf(”%e”,123.456);}

1.234560e+002%e:目前有些系統(tǒng),輸出數(shù)據(jù)寬度共占11位(TurboC2.0中),其中整數(shù)部分非零數(shù)字占1位,小數(shù)點(diǎn)占1位,小數(shù)部分占5位,指數(shù)部分占4位(e占1位,指數(shù)符號(hào)占1位,指數(shù)占2位)。

1.23456e+02字符型數(shù)據(jù)字符內(nèi)存中存放的是ASCII字符,可以以字符和整數(shù)形式輸出float有效位7~8位,double有效位為15~16位,超過(guò)部分就不準(zhǔn)確例子:3-3main(){floata,b;doublec,d;a=222222.222f;b=333333.333;c=3333333333333.333333333;d=4444444444444.444444444;printf("%f\n",a+b);printf("%f\n",c+d);}程序結(jié)果:例子:3-5main(){charc=‘a(chǎn)’;intd=98;printf(“%c,%d\n”,c,c);printf(“%c,%d\n”,d,d);printf(“%s\n”,”CHINA”);}程序結(jié)果:a,97b,98CHINA.n對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長(zhǎng)度<m,左補(bǔ)空格;否則按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對(duì)齊(缺省右對(duì)齊)-指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)(+)+輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l附加格式說(shuō)明符(修飾符)對(duì)字符串,指定實(shí)際輸出位數(shù)例子3-7#include<stdio.h>voidmain(){

int

a,b; longintc=1234567; a=123,b=12345;printf("%4d,%4d\n",a,b);

printf("%d\n",c);

printf("%Lo\n",c); printf("%8o\n",c);

printf("%lx\n",c); printf("%8x\n",c);}例子:3-83-9main(){floatf=123.456f;printf(“%f,%10.2f,%-10.2f\n”,f,f,f);}結(jié)果為:123.456001,︺︺︺︺123.46,123.46︺︺︺︺%f:整數(shù)部分全部輸出,小數(shù)部分輸出6位。%m.nf(或%-m.nf):輸出數(shù)據(jù)占m列(包括整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分),小數(shù)位數(shù)為n位。如果數(shù)值寬度小于m,則數(shù)值靠右(左)對(duì)齊,左邊(或右邊)補(bǔ)空格;如果數(shù)值寬度大于m,按實(shí)際長(zhǎng)度輸出。

例子:3-83-9擴(kuò)展main(){floatf=123.456f;printf("%e,%10e,%10.2e,%.2e,%-10.2e\n",f,f,f,f,f);}%m.ne(或%-m.ne):輸出數(shù)據(jù)占m列,尾數(shù)部分小數(shù)位數(shù)為n位。如果數(shù)值寬度小于m,則數(shù)值靠右(左)對(duì)齊,左邊(或右邊)補(bǔ)空格;如果數(shù)值寬度大于m,按實(shí)際長(zhǎng)度輸出。

%e:目前有些系統(tǒng),輸出數(shù)據(jù)寬度共占13位(vc++中),其中整數(shù)部分非零數(shù)字占1位,小數(shù)點(diǎn)占1位,小數(shù)部分占6位,指數(shù)部分占5位(e占1位,指數(shù)符號(hào)占1位,指數(shù)占3位)。指定n值時(shí),n為小數(shù)點(diǎn)和小數(shù)位數(shù)。程序結(jié)果:1.234560e+002,1.234560e+02,︺

1.23e+002,1.23e+002,1.23e+002

︺同樣可以指定字符或者字符串寬度intc=‘a(chǎn)’;printf(“%4c”,c);︺︺︺a程序結(jié)果:HELLO,︺HELLO,HELLO︺︺,︺︺︺︺HEL,HEL︺︺︺︺main(){printf("%3s,%6s,%-7s","HELLO","HELLO","HELLO“);printf("%7.3s,%-7.3s\n","HELLO","HELLO");}例inta=1234;floatf=123.456f;printf(“%08d\n”,a);printf(“%010.2f\n”,f);printf(“%0+8d\n”,a);printf(“0+10.2f\n”,f);0、+例inta=123;

printf(“%o,%#o,%X,%#X\n”,a,a,a,a);

例#例longa=65536;printf(“%d,%8ld\n”,a,a);

例l0000

00

00

00

00

00010000

00

00

00

00

00

00//00001234//0000123.46//000+1234//000+123.56//173,0173,7B,0X7B//0,65536例輸出類(lèi)型要匹配,否則可能出錯(cuò)3-4格式輸入函數(shù)格式:scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤(pán)讀入數(shù)據(jù),存入地址表指定的存儲(chǔ)單元中,并按回車(chē)鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個(gè)數(shù)例如:scanf(“%d%d%d”,&a,&b,&c)格式控制串地址表地址表:變量的地址,常用取地址運(yùn)算符&格式字符:d,o,x,u,c,s,f,e例scanf(“%d”,&a);

輸入:10

則a=10例scanf(“%x”,&a);

輸入:11

則a=17附加格式說(shuō)明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);

輸入19991015

則1999yy,10mm,15dd修飾符功能例scanf(“%3d,%*3d%2d”,&a,&b);

輸入123,456,78

則123a,78b一般以空格、TAB或回車(chē)鍵作為分隔符其它字符做分隔符:格式串中兩個(gè)格式符間字符例scanf(“%d%o%x”,&a,&b,&c);

printf(“a=%d,b=%d,c=%d\n”,a,b,c);

輸入123123123

則a=123,b=83,c=291例scanf(“%d:%d:%d”,&h,&m,&s);

輸入12:30:45

則12h,30m,45s例scanf(“%d,%d”,&a,&b)

輸入3,4

則3a,4b例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);

輸入a=12,b=24,c=36輸入分隔符的指定

用“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入如scanf(“%c%c%c”,&c1,&c2,&c3);

若輸入abc

則ac1,c2,bc3輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車(chē)遇寬度結(jié)束遇非法輸入如scanf(“%d%c%f”,&a,&b,&c);

若輸入1234a123o.26

則1234a,

溫馨提示

  • 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)論