




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 輸入、輸出函數(shù)第1頁,共24頁。語言中,所有的數(shù)據(jù)輸入輸出都是由庫函數(shù)完成的,因此都是函數(shù)語句。在使用C語言庫函數(shù)時,要用預編譯命令#include將有關“頭文件”包括到源文件中。第三節(jié) 輸入/輸出函數(shù)#include 或 #include “stdio.h”stdio是standard input &outupt的意思。 系統(tǒng)將直接在系統(tǒng)的庫函數(shù)文件目錄下找該文件。系統(tǒng)將首先在用戶當前工作目錄下尋找該文件,如果沒有,再去系統(tǒng)的庫函數(shù)文件目錄下找。printf()和scanf()函數(shù)屬于標準輸入/輸出函數(shù),且使用頻繁,為了方便,系統(tǒng)允許在使用這兩個函數(shù)時可不包括頭文件。第2頁,共24頁。一、
2、輸出函數(shù) 【例3-10】 有兩個電阻并聯(lián),求Rab=?(歐姆)。 abR1R2由電學知識知,兩電阻并聯(lián)后的阻值為:第三節(jié) 輸入/輸出函數(shù)第3頁,共24頁。參考源代碼:/*例3-10,3-10.c*/#include #include void main() float R1, R2, R, Rab; printf(n Please input R1, R2:); scanf(%f,%f, &R1, &R2); R = 1 / R1 + 1 / R2; Rab = 1 / R; printf(nR1=%-10.2fnR2=%-10.2fnRab=%-10.2f, R1, R2, Rab); 【思
3、考驗證】 不定義R變量,也能實現(xiàn)本例功能,程序該怎么改? 第三節(jié) 輸入/輸出函數(shù)第4頁,共24頁。1printf( )函數(shù)printf( )函數(shù)一般格式是:printf(“格式控制字符串”, 輸出表列) 用于指定輸出數(shù)據(jù)的格式 。格式控制串可由格式字符串和非格式字符串兩種組成。格式字符串是以%開頭的字符串,在%后面跟有各種格式字符,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。第三節(jié) 輸入/輸出函數(shù)第5頁,共24頁。說明符功 能%d輸出十進制有符號整數(shù)%ld輸出十進制有符號長整數(shù)%x或%X以十六進制形式輸出無符號的整數(shù)%u輸出十進制無符號整數(shù)%f輸出浮點數(shù)%s輸出字符串%c輸出單個字符%p輸出
4、指針值%e或%E輸出指數(shù)形式的浮點數(shù)%0以八進制形式輸出無符號的整數(shù)C語言提供的printf()的格式說明符 :第三節(jié) 輸入/輸出函數(shù)第6頁,共24頁。待輸出的一系列數(shù)據(jù)項,其個數(shù)必須與格式化字符串所說明的輸出參數(shù)個數(shù)一樣多,各參數(shù)之間用“,”分開,且順序一一對應,否則將會出現(xiàn)意想不到的錯誤。 輸出表列:格式控制字符串中除格式控制符和轉義字符以外的其他字符都視為普通字符,與輸出項無關,輸出時按原樣顯示。有關轉義符請參考第2章。注意:第三節(jié) 輸入/輸出函數(shù)第7頁,共24頁。第三節(jié) 輸入/輸出函數(shù)【例3-11】格式輸出函數(shù)舉例,輸出下邊由數(shù)字組成的圖形。 1 1 12 21 123 321 123
5、4 4321 12345 54321源代碼【融會貫通】 輸出由“*”組成的平等四邊形(5 行),如圖3-11所示。 * * * * * * * * * * * * * * * * * * * * * * * * * *第8頁,共24頁。第三節(jié) 輸入/輸出函數(shù)【例3-12】已知a=3、b=4,分析下邊代碼的輸出。源代碼執(zhí)行輸出:a=3, b=4a + b = 3 + 4 =7通過上述兩例的各種變化,說明了printf()的拆分與合并,即可以把幾個printf()寫成一個,也可以把一個printf()語句拆成幾個printf()語句。第9頁,共24頁。2. 非格式化輸出函數(shù) 第三節(jié) 輸入/輸出函數(shù)
6、 putchar() 函數(shù)是字符輸出函數(shù),其功能是在顯示器上輸出單個字符?;蜃址兞康闹怠F湟话阈问綖椋簆utchar(字符常量);例如: putchar(A); (輸出大寫字母A) putchar(x); (輸出字符變量x的值) putchar(101); (也是輸出字符A) putchar(n); (換行)對控制字符則執(zhí)行控制功能,不在屏幕上顯示。 使用本函數(shù)前必須要用文件包含命令:#include。第10頁,共24頁?!纠?-13】輸出單個字符。 /*例3-13,3-13.c*/#include void main() char a = Y, b = e, c = s; putchar(
7、a); putchar(b); putchar(c); putchar(t); putchar(A); putchar(A +1); putchar(A+5);運行輸出:YesABE第三節(jié) 輸入/輸出函數(shù)第11頁,共24頁。二、輸入函數(shù)1scanf( )函數(shù) scanf( )函數(shù)是格式化輸入函數(shù),簡言之,它從標準輸(鍵盤)讀取用戶輸入的信息。其一般格是 :scanf(格式控制字符串, 地址表列);第三節(jié) 輸入/輸出函數(shù)例如,下邊的幾個語句:int a;float b;char c;scanf(“%d, %f, %ld”, &a, &b, &c);第12頁,共24頁。第三節(jié) 輸入/輸出函數(shù) 地址
8、表列 “&”是地址運算符,“&a”表示變量a的地址。對一般變量(除指針變量、數(shù)組名等外)來說,它在scanf( )中是不能省略的。提示: 用戶從鍵盤回答scanf()函數(shù)要求的各數(shù)據(jù)時,數(shù)據(jù)之間的分隔符要與scanf()中“各格式控制符”之間的分隔符保持一致;scanf()函數(shù)中“地址表列”中地址項的個數(shù)必須與“各格式控制符”要求的數(shù)據(jù)個數(shù)相等; 各變量的格式控制符須與變量定義語句中變量類型相對應。 第13頁,共24頁。第三節(jié) 輸入/輸出函數(shù)【例3-14】輸入與輸出類型不一致舉例格式控制符與數(shù)據(jù)類型不一致,造成數(shù)據(jù)丟。/*例3-14,3-14.c*/#include void main() i
9、nt a; printf(input a numbern); scanf(%f, &a); /* a定義類型為int,格式控制符選用了%f */ printf(%d, a);第14頁,共24頁。變量的地址和變量值的關系如下: 第三節(jié) 輸入/輸出函數(shù)在賦值表達式中給變量賦值,如:x=123,則x為變量名,123是變量的值,&x是變量x的地址。注意:賦值號左邊是變量名,不能寫地址,而scanf函數(shù)在本質上也是給變量賦值,但要求寫成&a。&是一個取地址運算符,&a是一個表達式,表示變量的地址。第15頁,共24頁。 格式控制符第三節(jié) 輸入/輸出函數(shù)格式控制符的一般形式為:%*輸入數(shù)據(jù)寬度長度類型其中類
10、型和長度項的意義如下: 類型:表示輸入數(shù)據(jù)的類型,其格式說明符和意義與printf()函數(shù)中的格式說明符基本相同。 長度:長度格式符為l和h,l表示輸入長整型數(shù)據(jù)(如%ld) 和雙精度浮點數(shù)(如%lf)。h表示輸入短整型數(shù)據(jù)。第16頁,共24頁。使用scanf()函數(shù)還必須注意以下幾點:scanf()函數(shù)中沒有精度控制,如:scanf(%5.2f, &a);是非法的。 scanf()中要求給出變量地址,如給出變量名則會出錯。在輸入多個數(shù)值數(shù)據(jù)時,若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔則可用空格,TAB或回車作間隔。C編譯在碰到空格,TAB,回車或非法數(shù)據(jù)(如對“%d”輸入“12A”時
11、,A即為非法數(shù)據(jù))時即認為該數(shù)據(jù)結束。 在輸入字符數(shù)據(jù)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。 第三節(jié) 輸入/輸出函數(shù)第17頁,共24頁。【例3-15】 改寫【例3-10】,有任意阻值的兩個電阻并聯(lián),求并聯(lián)后的電阻。 第三節(jié) 輸入/輸出函數(shù)參考源代碼:/*例3-15,3-15.c*/#include #include void main() float R1, R2, Rab; printf(n Please input R1,R2:); scanf(%f,%f,&R1, &R2); Rab = (R1 * R2) / (R1 + R2); printf(nR1=%-
12、10.2fnR2=%-10.2fnRab=%-10.2f,R1, R2, Rab);【融會貫通】鍵盤輸入兩個物體的質量(m1、m2)及它們之間的距離(r),計算它們之間的萬有引力(牛頓)。 第18頁,共24頁。2.非格式化輸入函數(shù) 第三節(jié) 輸入/輸出函數(shù)下面介紹非格式化函數(shù) getch()、getche()和getchar()非格式化輸入函數(shù)需回車有從鍵盤上讀入一個字符getchar()無需回車有從鍵盤上讀入一個字符getche()無需回車無從鍵盤上讀入一個字符getch()結束輸入方式回顯功能功 能格 式getch()的函數(shù)原型在頭文件“conio.h”中,因此要使用此函數(shù)前必須包含coni
13、o.h文件,該函數(shù)常用于程序暫停。第19頁,共24頁?!纠?-16】getch()和getche()函數(shù)應用舉例。源代碼運行輸出:Please input a character:ffPress any key to confinue.第三節(jié) 輸入/輸出函數(shù)第20頁,共24頁。第三節(jié) 輸入/輸出函數(shù)【例3-17】getchar()函數(shù)應用舉例。源代碼運行輸出: abcdea第21頁,共24頁?!纠?-18】輸入三角形的三邊長,求三角形面積。已知三角形的三邊長a,b,c,則該三角形的面積公式為:其中s = (a+b+c)/2 結束輸出圓的面積area。計算s = (a + b + c)/2輸入三邊a、b、c值。定義實型變量a、b、c、s、area。開始用N-S流程圖描述的程序邏輯 第三節(jié) 輸入/輸出函數(shù)第22頁,共24頁。參考源代碼:運行輸出:Please input a,b,c:3,4,5a= 3.00,b= 4.00,c= 5.00,s= 6.00area= 6.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 連鎖超市采購合同范本
- 遼寧房屋租賃合同范本
- 網吧酒店轉讓合同范本
- 金花葵多糖對Ⅱ型糖尿病大鼠的免疫調節(jié)作用
- 2024年中山市南區(qū)街道殘疾人聯(lián)合會社區(qū)專職委員招聘考試真題
- 2024年金華事業(yè)單位招聘金華中惠統(tǒng)計事務所招聘考試真題
- 科技企業(yè)團隊配置與安排方案
- 女士剃毛器項目籌資方案
- 中醫(yī)醫(yī)院人才梯隊建設方案
- 家居墻面涂料工程施工方案與個性化措施
- 廣東2017年07月自考10424資本運營與融資試題及答案
- GB/T 35545-2017低聚木糖
- GB/T 10184-2015電站鍋爐性能試驗規(guī)程
- 2023年出入境邊防檢查題庫
- 小兒推拿學理論知識考核試題及答案
- 2022年云南省中考生物試題及參考答案
- 章振邦《新編英語語法》LECTURE-1-句子結構課件
- 廣告公司業(yè)務價格表
- 防水卷材熱老化試驗檢測記錄表
- GB∕T 7758-2020 硫化橡膠 低溫性能的測定 溫度回縮程序(TR 試驗)
- 四年級下冊綜合實踐活動教案 跟著節(jié)氣去探究 全國通用
評論
0/150
提交評論