C語言程序設(shè)計(jì)CPD03更多課件請(qǐng)進(jìn)我文庫.ppt
《C語言程序設(shè)計(jì)CPD03更多課件請(qǐng)進(jìn)我文庫.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語言程序設(shè)計(jì)CPD03更多課件請(qǐng)進(jìn)我文庫.ppt(24頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第3章格式化輸入輸出,北京工商大學(xué)計(jì)算機(jī)學(xué)院何渝,計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ),2,本章主要內(nèi)容,輸入輸出(Input/Output)格式化輸出格式化輸入,3,3.1引言,對(duì)數(shù)據(jù)的一種重要操作是輸入輸出(I/O),沒有輸出的程序是沒有用的,而沒有輸入的程序缺乏靈活性。前面通過cin,cont和printf,scanf已初步接觸了C++和C的I/O,它們的格式都是“隱含”或“缺省(default)”的,即事先設(shè)計(jì)或定義好的一種格式,而本章介紹的“格式化”I/O是可由用戶根據(jù)需要,自己設(shè)計(jì)或定義。,4,3.2幾個(gè)概念,輸入輸出設(shè)備標(biāo)準(zhǔn)輸入輸出設(shè)備流(Stream)交互式程序批處理程序,5,3.3C語言數(shù)據(jù)的輸入與輸出,C語言沒有專門的I/O語句,它是由函數(shù)來實(shí)現(xiàn)的。C提供了多種I/O函數(shù),使其靈活、多樣、方便,功能強(qiáng)。標(biāo)準(zhǔn)I/O函數(shù)庫中有一些公用的信息寫在頭文件stdio.h中,因此使用標(biāo)準(zhǔn)I/O函數(shù)庫中的函數(shù)時(shí),一般在程序開頭先寫下面的命令:#include以便把I/O函數(shù)要使用的信息包含到程序中來。,6,3.3.1getchar與putchar函數(shù),getchar()與putchar()函數(shù)是C語言的標(biāo)準(zhǔn)函數(shù),其函數(shù)庫中已有,可直接使用。getchar()函數(shù)是從標(biāo)準(zhǔn)輸入設(shè)備(一般是用戶終端)上讀入一個(gè)字符。putchar(c)函數(shù)是將變量c中的字符輸出到標(biāo)準(zhǔn)設(shè)備(一般也是用戶終端)上。注意:前一函數(shù)沒有參數(shù),后一函數(shù)有一個(gè)形式參數(shù)。,7,例輸入三個(gè)字母,若是小寫轉(zhuǎn)換成大寫輸出,#includevoidmain(){charch1,ch2,ch3;ch1=getchar();ch2=getchar();ch3=getchar();if(ch1>=a}運(yùn)行情況如下:boyBOY,8,3.3.2printf函數(shù),該函數(shù)是格式輸出函數(shù),功能是按指定的格式、將指定的控制參數(shù)的值在標(biāo)準(zhǔn)設(shè)備上輸出,包括兩種參數(shù):格式控制參數(shù)和輸出項(xiàng)參數(shù),一般形式為:printf(格式控制參數(shù),輸出項(xiàng)1,輸出項(xiàng)2,…);格式控制參數(shù)以字符串的形式描述,也稱為格式控制字符串。由2部分組成:格式說明和普通字符。普通字符(包括轉(zhuǎn)義符序列)將被簡單地復(fù)制顯示(或執(zhí)行)。一個(gè)格式說明項(xiàng)將引起一個(gè)輸出參數(shù)項(xiàng)的轉(zhuǎn)換與顯示,它由%引出并以一個(gè)類型描述符結(jié)束的字符串,中間是一些可選的附加說明項(xiàng)。輸出項(xiàng)1、輸出項(xiàng)2等可有要無,由格式控制參數(shù)決定。,9,格式說明由不同的格式字符組成,格式字符的作用是指定輸出數(shù)據(jù)類型,它包括:,%格式說明的起始符號(hào)-指定是否左對(duì)齊輸出0指定空位是否填0m.n指出輸出域?qū)捈熬萳/n輸出長度修正符,10,1.格式字符,格式字符用以指定輸出項(xiàng)的數(shù)據(jù)類型和輸出格式.,如d(i),x(X),o,u,c,s,e(E),f,g(G),%等。一般情況下,格式字符要與對(duì)應(yīng)的輸出項(xiàng)類型一致,如不應(yīng)用%f去輸出整數(shù)。,11,2.長度修正符,整型的格式字符沒有區(qū)分int,short,long,實(shí)型的格式字符也沒有區(qū)分float與double。對(duì)整型來說,d,x,o,u是指int型;對(duì)實(shí)型來說e,f,g是指float型。為了能適應(yīng)不同長度的數(shù)據(jù),可格式字符前面加一個(gè)長度修正符:l:整型指long型,如%ld;實(shí)型指double型,如%lf。h:只用于將整型的格式修正為short型,如%hd等。,12,3.域?qū)捈熬确鹠.n,m:指域?qū)?。即?duì)應(yīng)輸出項(xiàng)在輸出設(shè)備上所占的字符數(shù)。n:指精度。用于說明輸出的實(shí)型的小數(shù)位數(shù)。不指定n時(shí),隱含的精度為n=6位。,13,例:,inta=123;charch=69;floatf=123.456;longk=98123;printf("%d",a);/*輸出:123*/printf("%x",a);/*輸出:7B*/printf("%o",a);/*輸出:173*/printf("%c",ch);/*輸出:E*/printf("%e",f);/*輸出:1.234560e+002*/printf("%f",f);/*輸出:123.456000*/printf("%8.1f",f);/*輸出:123.5*/printf("%g",f);/*輸出:123.456*/printf("%%");/*輸出:%*/printf("%ld",k);/*輸出:98123*/,14,注意:,輸出數(shù)據(jù)的實(shí)際精度并不主要決定于格式項(xiàng)中的域?qū)捙c精度,也不決定于輸入的數(shù)據(jù)精度,而主要決定于數(shù)據(jù)在機(jī)器內(nèi)的存儲(chǔ)精度。因此,格式項(xiàng)中指定的域?qū)捲俅?,精度再長,所得到的多余位數(shù)上的數(shù)字是無意義的。所以增加域?qū)捙c精度并不能提高輸出數(shù)據(jù)的實(shí)際精度。,15,4.數(shù)0用以指定數(shù)字前的空位是否用0填補(bǔ)。有此項(xiàng)則空位以0填補(bǔ),無此項(xiàng)則空位用空格填補(bǔ)。,如:floata=1.23;printf("%08.1f",a);輸出結(jié)果為:000001.2,16,2.7.3scanf函數(shù),scanf函數(shù)的功能是進(jìn)行輸入數(shù)據(jù),也是按格式參數(shù)的要求,從終端上把數(shù)據(jù)傳送到地址參數(shù)所指定的內(nèi)存空間中。其一般形式為:scanf(格式控制參數(shù),地址1,地址2,...);1.地址參數(shù)是指變量的地址,它通過對(duì)變量名求地址運(yùn)算得到。求地址運(yùn)算符為scanf("%d%c%f",輸出為:Inputabc:1234r1234.567(下劃線為輸入流)a=1234,b=r,c=1234.567017,21,3.4流的定向輸入輸出,C++中標(biāo)準(zhǔn)輸入輸出是定向流,并預(yù)先定義了四種標(biāo)準(zhǔn)輸入輸出流:標(biāo)準(zhǔn)輸入流cin標(biāo)準(zhǔn)輸出流cout標(biāo)準(zhǔn)錯(cuò)誤輸出流cerr標(biāo)準(zhǔn)錯(cuò)誤輸出流clog,22,3.5標(biāo)準(zhǔn)輸出流,標(biāo)準(zhǔn)流定向輸出語句最簡形式如下:cout<- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語言程序設(shè)計(jì) CPD03 更多 課件 請(qǐng)進(jìn) 文庫
鏈接地址:http://italysoccerbets.com/p-11494829.html