




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據的輸入與輸出數據輸入與輸出
C語言無I/O語句,I/O操作由函數實現
#include<stdio.h>或者#include“stdio.h”
預處理語句,使用標準的輸入輸出函數時要包含該預處理,用printf和scanf時可以省學習目標字符輸出函數putchar字符輸入函數getchar格式輸出函數printf格式輸入函數scanf重點難點:格式控制、格式說明符3.1字符輸出函數格式:putchar(c)參數:c為字符常量、變量或表達式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯,為EOF(-1)函數名參數#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');}運行結果為:hello思考:例子:#include"stdio.h"main(){chara,b;a='h';b='i';putchar(a);putchar(b);}運行結果為:Hi3-2字符輸入函數格式:getchar()功能:從鍵盤讀一字符返值:正常,返回讀取的代碼值;出錯,返回EOF(-1)#include<stdio.h>main(){charc;c=getchar();
printf(“c=%c\n",c);
printf(“c=%d\n",c);}運行結果:AA653-3格式輸出函數格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數據返值:正常,返回輸出字節(jié)數;出錯,返回EOF(-1)輸出列表:要輸出的數據(可以沒有,多個時以“,”分隔)格式控制串:包含兩種信息格式說明:
%[修飾符]格式字符
,用于指定輸出格式普通字符或轉義序列:原樣輸出格式字符如:printf(“a=%d,b=%d”,a,b);普通字符格式說明輸出列表d,ix,Xoucse,Efg%%十六進制無符號整數不帶符號十進制整數十進制整數指數形式浮點小數單一字符字符串八進制無符號整數小數形式浮點小數e和f中較短一種百分號本身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%說明 格式字符要用小寫格式字符與輸出項個數應相同,按先后順序一一對應格式字符與輸出項類型不一致,自動按指定格式輸出格式字符表整型數據輸出:例子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);}整型數據輸出:%d為有符號輸出,其它為無符號輸出429496729511111111111111111111111111111111其它數據輸出注意點:實型數據1、%f輸出數據時,整數部分全部輸出,小數部分固定輸出6位(例子:3-3
)2、%g輸出數據時,系統(tǒng)自己選擇輸出形式,使輸出數據最小。3、%e格式實型數據輸出,小數點前必須有且只有1位非零數字,指定6位,e占1位,指數符呈占1位,指數占3位,如下列為13位,例子3-5:main(){printf(”%e”,123.456);}
1.234560e+002%e:目前有些系統(tǒng),輸出數據寬度共占11位(TurboC2.0中),其中整數部分非零數字占1位,小數點占1位,小數部分占5位,指數部分占4位(e占1位,指數符號占1位,指數占2位)。
1.23456e+02字符型數據字符內存中存放的是ASCII字符,可以以字符和整數形式輸出float有效位7~8位,double有效位為15~16位,超過部分就不準確例子: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);}程序結果:例子:3-5main(){charc=‘a’;intd=98;printf(“%c,%d\n”,c,c);printf(“%c,%d\n”,d,d);printf(“%s\n”,”CHINA”);}程序結果:a,97b,98CHINA.n對實數,指定小數點后位數(四舍五入)修飾符功能m輸出數據域寬,數據長度<m,左補空格;否則按實際輸出輸出數據在域內左對齊(缺省右對齊)-指定在有符號數的正數前顯示正號(+)+輸出數值時指定左面不使用的空位置自動填00在八進制和十六進制數前顯示前導0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l附加格式說明符(修飾符)對字符串,指定實際輸出位數例子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);}結果為:123.456001,︺︺︺︺123.46,123.46︺︺︺︺%f:整數部分全部輸出,小數部分輸出6位。%m.nf(或%-m.nf):輸出數據占m列(包括整數部分、小數點和小數部分),小數位數為n位。如果數值寬度小于m,則數值靠右(左)對齊,左邊(或右邊)補空格;如果數值寬度大于m,按實際長度輸出。
例子:3-83-9擴展main(){floatf=123.456f;printf("%e,%10e,%10.2e,%.2e,%-10.2e\n",f,f,f,f,f);}%m.ne(或%-m.ne):輸出數據占m列,尾數部分小數位數為n位。如果數值寬度小于m,則數值靠右(左)對齊,左邊(或右邊)補空格;如果數值寬度大于m,按實際長度輸出。
%e:目前有些系統(tǒng),輸出數據寬度共占13位(vc++中),其中整數部分非零數字占1位,小數點占1位,小數部分占6位,指數部分占5位(e占1位,指數符號占1位,指數占3位)。指定n值時,n為小數點和小數位數。程序結果:1.234560e+002,1.234560e+02,︺
1.23e+002,1.23e+002,1.23e+002
︺同樣可以指定字符或者字符串寬度intc=‘a’;printf(“%4c”,c);︺︺︺a程序結果: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例輸出類型要匹配,否則可能出錯3-4格式輸入函數格式:scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤讀入數據,存入地址表指定的存儲單元中,并按回車鍵結束返值:正常,返回輸入數據個數例如:scanf(“%d%d%d”,&a,&b,&c)格式控制串地址表地址表:變量的地址,常用取地址運算符&格式字符:d,o,x,u,c,s,f,e例scanf(“%d”,&a);
輸入:10
則a=10例scanf(“%x”,&a);
輸入:11
則a=17附加格式說明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數用于d,o,x前,指定輸入為long型整數用于e,f前,指定輸入為double型實數指定輸入數據寬度,遇空格或不可轉換字符則結束抑制符,指定輸入項讀入后不賦給變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);
輸入19991015
則1999yy,10mm,15dd修飾符功能例scanf(“%3d,%*3d%2d”,&a,&b);
輸入123,456,78
則123a,78b一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個格式符間字符例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”格式符時,空格和轉義字符作為有效字符輸入如scanf(“%c%c%c”,&c1,&c2,&c3);
若輸入abc
則ac1,c2,bc3輸入數據時,遇以下情況認為該數據結束:遇空格、TAB、或回車遇寬度結束遇非法輸入如scanf(“%d%c%f”,&a,&b,&c);
若輸入1234a123o.26
則1234a,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理常識高考試題及答案
- 呼吸球囊考試題及答案
- 2025教資生物考試真題及答案
- 電大??茖W前教育學試題及答案
- 聽覺記憶存儲特性-洞察與解讀
- 服務質量指標體系-洞察與解讀
- 2025年事業(yè)單位招聘考試綜合類專業(yè)能力測試試卷(統(tǒng)計類)真題模擬
- 2025年綜合類事業(yè)單位招聘考試公共基礎知識真題模擬試卷(權威解析)
- 2025年事業(yè)單位招聘考試市場營銷專業(yè)能力測試真題模擬試卷
- 2025年齊魯醫(yī)藥學院公開招聘40名高層次人才(長期招聘崗位)考前自測高頻考點模擬試題附答案詳解(考試直接用)
- 《蘋果案例分析》課件
- 常用急救藥品知識-課件
- 《綠色設計產品評價技術規(guī)范硫酸鉀》
- 外研版(三起)(2024)小學三年級上冊英語Unit 4《Fun with numbers》教案
- 2024年大學生電子版三方協(xié)議書模板
- 信息科技大單元教學設計之七年級第一單元探尋互聯網新世界
- 普通高中體育與健康課程標準
- MOOC 理性思維實訓-華南師范大學 中國大學慕課答案
- 《陸上風電場工程設計概算編制規(guī)定及費用標準》(NB-T 31011-2019)
- 騰訊組織管理手冊
- 《燕麥片營養(yǎng)調查》課件
評論
0/150
提交評論