版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 C C程序中的輸程序中的輸入與輸出入與輸出程序設計基礎CAUCJSJC C程序中數(shù)據的輸入與輸出程序中數(shù)據的輸入與輸出1.1. C+C+中的輸入輸出流對象中的輸入輸出流對象2.2. C C語言中的輸入輸出函數(shù)語言中的輸入輸出函數(shù) 在在C+ C+ 中引入術語中引入術語 streamstream(流),指的是(流),指的是來自設備或傳給設備的一個數(shù)據流。來自設備或傳給設備的一個數(shù)據流。coutcout表示輸出流對象,它是輸入輸出流庫的表示輸出流對象,它是輸入輸出流庫的一部分。與一部分。與coutcout 相關聯(lián)的設備是顯示器。在程相關聯(lián)的設備是顯示器。在程序中有了關聯(lián)字序中有了關聯(lián)字coutco
2、ut 就有了將數(shù)據流傳到顯示就有了將數(shù)據流傳到顯示器的條件,這時用插入操作符器的條件,這時用插入操作符“ ” ” 將其后將其后的數(shù)據插入到該流中去。比如下面的兩條語句:的數(shù)據插入到該流中去。比如下面的兩條語句: cout“welcome to CAUC”; coutendl;可以用下圖可以用下圖 來說明,放在引號來說明,放在引號“ ”中的字符串中的字符串welcome to CAUC 是要送給顯示器設備的數(shù)據,用是要送給顯示器設備的數(shù)據,用插入操作符將其傳至顯示設備上。插入操作符將其傳至顯示設備上。 endl 字符串之后字符串之后插入回車,直接將字符串寫到屏幕上。插入回車,直接將字符串寫到屏幕
3、上。welcome to CAUCcoutwelcome to CAUC顯示器顯示器插入操作符可以把多個輸出數(shù)據組合或級插入操作符可以把多個輸出數(shù)據組合或級聯(lián)成單個的輸出語句。比如下面的語句:聯(lián)成單個的輸出語句。比如下面的語句:cout “Welcome to CAUC,” “ I am a student.” ” ”可將輸入流存儲到一個事先可將輸入流存儲到一個事先定義好的變量中。如定義好的變量中。如: : float x ; cin x ; 第一條是定義了一個浮點數(shù)類型的對第一條是定義了一個浮點數(shù)類型的對象:變量象:變量x 第二條是用鍵盤敲入一個帶小數(shù)點的第二條是用鍵盤敲入一個帶小數(shù)點的數(shù),
4、比如:數(shù),比如: 3. 14159上上圖圖 描述了提取輸入流的示意圖描述了提取輸入流的示意圖有關什么是變量,如何從鍵盤輸入數(shù)據的內容放到有關什么是變量,如何從鍵盤輸入數(shù)據的內容放到下一章去講。下一章去講。X的地址的地址cin3.141593.14159鍵盤鍵盤C C語言沒有提供輸入輸出語句,而是由輸入輸出語言沒有提供輸入輸出語句,而是由輸入輸出標準庫標準庫函數(shù)來實現(xiàn)的。函數(shù)來實現(xiàn)的。 輸出函數(shù)輸出函數(shù)printf( ) 輸入函數(shù)輸入函數(shù)scanf( ) 應用舉例應用舉例C C語言中數(shù)據的輸入與輸出函數(shù)語言中數(shù)據的輸入與輸出函數(shù)printfprintf( )( )函數(shù)函數(shù)1 1、功能:按指定的格
5、式向終端輸出若干任意類型的功能:按指定的格式向終端輸出若干任意類型的數(shù)據。數(shù)據。2 2、格式:格式:printf( (格式控制,輸出表列)格式控制,輸出表列) 如:如:printf(“x=%d”,x)3 3、使用要點、使用要點 (1 1)格式控制部分的用法:格式控制部分的用法: (2 2)輸出表列:可以是合法的常量、變量和表達式,輸出項)輸出表列:可以是合法的常量、變量和表達式,輸出項表中的個輸出項之間要用表中的個輸出項之間要用“,”分隔。分隔。 (3 3)當格式符個數(shù)少于輸出項時,多余的輸出項不予輸出。)當格式符個數(shù)少于輸出項時,多余的輸出項不予輸出。 若格式符多于輸出項時,各系統(tǒng)的處理有所
6、不同,若格式符多于輸出項時,各系統(tǒng)的處理有所不同,VC VC 對于缺少的項將輸出不定值。對于缺少的項將輸出不定值。printfprintf( )( )函數(shù)的格式控制函數(shù)的格式控制1 1、格式控制字符是用雙引號括起來的字符串,用來確定確定、格式控制字符是用雙引號括起來的字符串,用來確定確定輸出項的格式和需要原樣輸出的字符串。其組成形式為:輸出項的格式和需要原樣輸出的字符串。其組成形式為: “普通字符串普通字符串 % % + + 0 m .nl0 m .nl格式控制字符格式控制字符”其中:其中:輸出數(shù)據項的順序一般按從左至右的順序輸出。格式控制中的普通輸出數(shù)據項的順序一般按從左至右的順序輸出。格式
7、控制中的普通字符串,照原樣輸出字符串,照原樣輸出; ; 如:如:printf(“aprintf(“a=%d=%d,b=%d”,a,b);b=%d”,a,b);% %:為:為C C語言規(guī)定的標記符語言規(guī)定的標記符; ;+ + :指定輸出數(shù)據的對齊方式:指定輸出數(shù)據的對齊方式:+ +為右對齊為右對齊( (可缺?。?;可缺?。?;- -為左對齊;為左對齊;0 0:指定輸出的數(shù)據中不使用的位置是否填數(shù)字:指定輸出的數(shù)據中不使用的位置是否填數(shù)字“0 0”關于關于m .nm .n與與l l的說明:的說明:格式控制字符格式控制字符用于指定數(shù)據的輸出形式,可以包含轉義字符,用于指定數(shù)據的輸出形式,可以包含轉義字符
8、,用兩個連續(xù)的用兩個連續(xù)的“%”表示輸出字符表示輸出字符“% %”。2 2、舉例:舉例:格式控制字符格式控制字符格格式式字字符符 說說明明d d以以帶帶符符號號的的十十進進制制形形式式輸輸出出整整數(shù)數(shù)o o以以無無符符號號的的八八進進制制形形式式輸輸出出整整數(shù)數(shù)x x以以無無符符號號的的十十六六進進制制形形式式輸輸出出整整數(shù)數(shù)u u以以無無符符號號的的十十進進制制形形式式輸輸出出整整數(shù)數(shù)c c以以字字符符形形式式輸輸出出一一個個字字符符s s輸輸出出字字符符串串f f以以小小數(shù)數(shù)形形式式輸輸出出單單, ,雙雙精精度度數(shù)數(shù), ,隱隱含含輸輸出出六六位位小小數(shù)數(shù)e e以以標標準準指指數(shù)數(shù)形形式式輸
9、輸出出單單, ,雙雙精精度度數(shù)數(shù), ,數(shù)數(shù)字字部部分分六六位位小小數(shù)數(shù)g g選選用用% %f f 或或% %e e 格格式式中中輸輸出出寬寬度度較較短短的的一一種種格格式式輸輸出出, ,不不輸輸出出無無意意義義的的 0 0printfprintf()()中的中的m.nlm.nl格式說明符格式說明符字字符符說說明明字字母母l l用用于于長長整整型型整整數(shù)數(shù), ,可可加加在在格格式式符符d d, ,o o, ,x x, ,u u前前面面一一個個正正整整數(shù)數(shù)m m數(shù)數(shù)據據最最小小寬寬度度一一個個正正整整數(shù)數(shù)n n對對實實數(shù)數(shù)表表示示輸輸出出n n 位位小小數(shù)數(shù); ;對對字字符符串串, ,表表示示截截
10、取取的的字字符符個個數(shù)數(shù)負負號號- -輸輸出出的的數(shù)數(shù)字字或或字字符符在在域域內內向向左左靠靠齊齊(1 1)printf(“%4d,%4d”,a,b); 若若a=123,b=12345 a=123,b=12345 則輸出為:則輸出為:123,12345123,12345 如果數(shù)據位數(shù)小于如果數(shù)據位數(shù)小于m m,則左端補空格,若大于,則左端補空格,若大于m m,則按實際輸出。,則按實際輸出。(2 2)long a=135790; printf(“%ld”,a); 長整型數(shù)據應采用長整型數(shù)據應采用%ld%ld格式輸出,若采用格式輸出,若采用%d%d格式則出錯。格式則出錯。(3 3)int a=-1
11、; printf(“%d,%o”,a,a); 輸出為:輸出為:-1-1,177777177777 對于八進制輸出不會輸出帶符號的數(shù)據,長整型數(shù)據用對于八進制輸出不會輸出帶符號的數(shù)據,長整型數(shù)據用%lo%lo格式輸格式輸出,也可以指定寬度。如:出,也可以指定寬度。如:printf(“%lo,%8o”,a,a);printf(“%lo,%8o”,a,a);(4 4)int a=-1; printf(“%x,%o,%d”,a,a,a); 輸出結果為:輸出結果為:ffff,177777,-1ffff,177777,-1 同樣,也可以用同樣,也可以用%lx%lx輸出長整型數(shù)據或指出輸出寬度,輸出長整型數(shù)
12、據或指出輸出寬度, 如:如:printf(“%lx,%12x”,a,a)scanfscanf()()函數(shù)函數(shù)1 1、功能:、功能: 將從終端(鍵盤)輸入的數(shù)據傳送給對應的變量。將從終端(鍵盤)輸入的數(shù)據傳送給對應的變量。2 2、格式:、格式:scanf( (格式控制,輸入項地址表)格式控制,輸入項地址表) 說明:說明:格式控制的含義同格式控制的含義同printf函數(shù),函數(shù),“% %格式控制字符格式控制字符” ” 輸入項地址表由若干個地址組成,代表每一個變量在內存的地輸入項地址表由若干個地址組成,代表每一個變量在內存的地址。表示為:址。表示為:& &變量(或數(shù)組與字符串的首地址)
13、變量(或數(shù)組與字符串的首地址)每次調用每次調用scanf( )函數(shù)后,函數(shù)將得到一個整型函數(shù)值,此值等函數(shù)后,函數(shù)將得到一個整型函數(shù)值,此值等于正常輸入數(shù)據的個數(shù)于正常輸入數(shù)據的個數(shù)3 3、使用要點:使用要點:scanfscanf()()函數(shù)的使用要點函數(shù)的使用要點1 1、格式符的個數(shù)必須與輸入項的個數(shù)相等,數(shù)據類型必須從左、格式符的個數(shù)必須與輸入項的個數(shù)相等,數(shù)據類型必須從左至右一一對應。至右一一對應。2 2、scanf( )函數(shù)中常用的格式符有:函數(shù)中常用的格式符有:3 3、用戶可以指定輸入數(shù)據的域寬,系統(tǒng)將自動按此域寬截取所、用戶可以指定輸入數(shù)據的域寬,系統(tǒng)將自動按此域寬截取所讀入的數(shù)據
14、,如:讀入的數(shù)據,如:scanf(“%3d%3d”,&a,&b);輸入輸入123456123456系統(tǒng)自動將系統(tǒng)自動將123123賦值給賦值給a,a,將將456456賦值給賦值給b.b.4 4、輸入實型數(shù)據時,用戶不能規(guī)定小數(shù)點后的位數(shù)。、輸入實型數(shù)據時,用戶不能規(guī)定小數(shù)點后的位數(shù)。scanf(“%7.2f”,&a);是錯誤的是錯誤的. .5 5、輸入實型數(shù)據時,可以不帶小數(shù)點,即按整型數(shù)方式輸入。、輸入實型數(shù)據時,可以不帶小數(shù)點,即按整型數(shù)方式輸入。scanfscanf()()函數(shù)的使用要點函數(shù)的使用要點6 6、從終端輸入數(shù)值數(shù)據時,遇下述情況系統(tǒng)將認為該項數(shù)據、從終
15、端輸入數(shù)值數(shù)據時,遇下述情況系統(tǒng)將認為該項數(shù)據結束:結束:遇到空格、回車符或制表符(遇到空格、回車符或制表符(TABTAB),故可用它們作為數(shù)值數(shù)據),故可用它們作為數(shù)值數(shù)據間的分隔符;間的分隔符;遇到寬度結束,如遇到寬度結束,如“%4d”%4d”表示只取輸入數(shù)據的前表示只取輸入數(shù)據的前4 4列。列。遇到非法輸入,如:假設遇到非法輸入,如:假設a a為整型變量,為整型變量,chch為字符型變量,對于:為字符型變量,對于: scanf(“%d%c”,&a,&ch); 若輸入若輸入246a, 246a, 則系統(tǒng)將認為:則系統(tǒng)將認為:a=246,ch=aa=246,ch=a7 7、在
16、使用、在使用%c%c格式符時,輸入的數(shù)據之間不需要分隔符標志;格式符時,輸入的數(shù)據之間不需要分隔符標志;空格、回車符都將作為有效字符讀入。空格、回車符都將作為有效字符讀入。scanf(“%c%c%c”,&a,&b,&c);輸入輸入b bo oy yb b賦值給賦值給a,a,賦值給賦值給b,ob,o賦值給賦值給c cscanfscanf()()函數(shù)的使用要點(函數(shù)的使用要點(3 3)8 8、如果格式控制字符串中除了格式說明之外,還包含其它字、如果格式控制字符串中除了格式說明之外,還包含其它字符,則輸入數(shù)據時,在與之對應的位置上也必須輸入與符,則輸入數(shù)據時,在與之對應的位置
17、上也必須輸入與這些字符相同的字符。這些字符相同的字符。 如:如:scanf(“Enter a number: %d”,&x); scanf(“%d%d”&a,&b); 輸入格式輸入格式 122 23 scanf(“%d,%d”,&a,&b); 輸入格式輸入格式 122,23 scanf(“a=%d,b=%d”,&a,&b); 輸入格式輸入格式 a=123,b=239 9、格式說明、格式說明% %* *表示跳過對應的輸入數(shù)據項不予讀入。表示跳過對應的輸入數(shù)據項不予讀入。如如:scanf(“%2d %:scanf(“%2d %* *2d %2
18、d”,&a,&b);2d %2d”,&a,&b); 若輸入若輸入12 345 6712 345 67 則則1212賦給賦給a,67a,67賦給賦給b,b,而而345345沒有賦給任何數(shù)據沒有賦給任何數(shù)據. .1010、在標準、在標準C C中不使用中不使用%u%u格式符格式符, ,對對unsignedunsigned型數(shù)據以型數(shù)據以%d,%x,%o%d,%x,%o格式輸入。格式輸入。格式說明:格式說明:附加格式說明:附加格式說明:格格式式字字符符說說明明d d以以十十進進制制形形式式輸輸入入整整數(shù)數(shù)o o以以八八進進制制形形式式輸輸入入整整數(shù)數(shù)x x以以十十六六進
19、進制制形形式式輸輸入入整整數(shù)數(shù)c c以以輸輸入入一一個個字字符符s s輸輸入入字字符符串串, ,將將字字符符串串送送到到一一個個字字符符數(shù)數(shù)組組中中, ,在在輸輸入入時時以以非非空空白白字字符符開開始始, ,以以第第一一個個空空白白字字符符結結 束束. .字字符符串串以以 0 0作作為為結結束束標標志志f f以以小小數(shù)數(shù)形形式式或或指指數(shù)數(shù)輸輸入入實實數(shù)數(shù)e e以以 f f 格格式式相相同同字字 符符說說 明明l l用用 于于 輸輸 入入 長長 整整 型型 數(shù)數(shù) 據據 以以 及及 d do ou ub bl le e 型型 數(shù)數(shù) 據據h h用用 于于 輸輸 入入 短短 整整 型型 數(shù)數(shù) 據據域
20、域 寬寬 ( (為為 一一 正正 整整 數(shù)數(shù) ) )指指 定定 輸輸 入入 數(shù)數(shù) 據據 所所 占占 寬寬 度度* *表表 示示 本本 輸輸 入入 項項 在在 讀讀 入入 后后 不不 賦賦 給給 相相 應應 的的 變變 量量例例exp1:exp1:請閱讀并分析以下程序的運行情況與結果。請閱讀并分析以下程序的運行情況與結果。#include main() unsigned int a=65535; int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%x,%o,%un”,b,b,b,b); 輸出為輸出為a=-1,177777,ffff,
21、65535a=-1,177777,ffff,65535b=-2,fffe,177776,65534b=-2,fffe,177776,65534例例exp2:exp2:請閱讀并分析以下程序的運行情況與結果。請閱讀并分析以下程序的運行情況與結果。main() char c=a; int k=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,k,k); 輸出為:輸出為:a,97a,97a,97a,97例例exp3:輸出字符串輸出字符串printf(“%s”,”china”);輸出字符串輸出字符串chinaprintf(“%7sn”,”china”);輸出字符串輸出字符串chinaprintf(“%3sn”,”china”);輸出字符串輸出字符串chinaprintf(“%5.3sn”,”china”);輸出字符串輸出字符串chiprintf(“%-5.3sn”,”china”);輸出為輸出為chi例例exp4:exp4:實型數(shù)據實型數(shù)據#include main() float x,y,z;double a,b; x=1111
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【講練通】2021版高中歷史岳麓版必修1-單元質量評估(三)
- 六年級上冊數(shù)學教研組工作計劃范文評價
- 【學練考】2021-2022蘇教版化學必修1練習-專題3-從礦物到基礎材料
- 三年級數(shù)學(上)計算題專項練習附答案
- 五年級數(shù)學(小數(shù)乘除法)計算題專項練習及答案匯編
- 全程方略2021屆高考數(shù)學專項精析精煉:2014年考點48-隨機事件的概率、古典概型、幾何概型
- 家長進課堂小學生食品安演示教學
- 增塑劑聚酯薄膜行業(yè)分析
- 2018-2019學年高中生物-第三章-遺傳的分子基礎本章知識體系構建課件-浙科版必修2
- (期末押題卷)期末重難點高頻易錯培優(yōu)卷(試題)-2024-2025學年四年級上冊數(shù)學人教版
- 2024-2030年全球及中國用于防御的紅外反狙擊手探測系統(tǒng)行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2024年安徽六年級數(shù)學第一學期期末考試試題含解析
- 上海市縣(2024年-2025年小學四年級語文)統(tǒng)編版期末考試(上學期)試卷及答案
- 北京市大興區(qū)名校2025屆數(shù)學八年級第一學期期末統(tǒng)考試題含解析2
- 制造業(yè)行業(yè):制造業(yè)質量控制與提升方案
- 正常分娩個案護理
- 2024-2030年電子級硫酸行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 智能屋面狀況監(jiān)測與診斷
- 提升質量意識-強化質量管理
- 智慧實驗室智能化專項解決方案
- 國家開放大學電大《刑法學(1)》期末題庫及答案
評論
0/150
提交評論