版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第3章 數(shù)據(jù)的輸入/輸出3.1 字符的輸入/輸出函數(shù)3.2 字符串輸入/輸出函數(shù) 3.3 格式輸入/輸出函數(shù)第3章 數(shù)據(jù)的輸入/輸出3.1 字符的輸入/輸出函數(shù)3.2 提問: 1. 某糧庫1號存進玉米100噸,2號又存入20噸,3號調(diào)出庫存的2/3,4號又調(diào)進庫存的3倍玉米,問該糧庫4號的庫存量。 2.輸入某圓的半徑r ,求該圓的周長c與面積s; 3.輸入3個字符,將它們反向輸出并輸出它們的ASCII值。 4. 任意輸入一個三位數(shù)n,求這個數(shù)的每位上的數(shù)字。提問:開始編輯源程序運行程序編譯源程序連接目標程序沒錯誤有錯誤有錯誤沒錯誤程序編輯到調(diào)試運行流程開始編輯源程序運行程序編譯源程序連接目標程
2、序沒錯誤有錯誤有錯 程序編程基本框架#includemain() 變量定義; 變量賦值或者鍵盤輸入數(shù)據(jù); 計算語句; 輸出; 程序編程基本框架#incl C語言本身沒有提供輸入語句和輸出語句,而是由編譯系統(tǒng)在標準函數(shù)庫中定義了一些輸入/輸出函數(shù),用戶在編寫程序時,是通過調(diào)用這些庫函數(shù)來實現(xiàn)輸入/輸出的。 C語言編譯系統(tǒng)中的stdio.h頭文件包含了與標準輸入(鍵盤)和輸出(顯示屏幕)有關(guān)的變量的定義及其相應(yīng)的宏定義,因此,在使用這些庫函數(shù)時,一般需要用編譯預(yù)處理命令# include或# include“stdio.h”將頭文件stdio.h包含到用戶的源文件中。 前 言 C語言本身沒有提供輸
3、入語句和輸出語句,而是由編譯系統(tǒng)字符輸入函數(shù)調(diào)用格式: getchar( )功能:從輸入設(shè)備(一般為鍵盤)上輸入一個字符。 它每被調(diào)用一次,就從標準輸入設(shè)備上取一個字符, 返回值是該字符的ASCII編碼值。 可以賦給字符變量或整型變量。 執(zhí)行g(shù)etchar()是輸入字符后要回車。3.1.字符輸入/輸出函數(shù) 字符輸入函數(shù)調(diào)用格式: getchar( )3.1.字符輸入字符輸出函數(shù)調(diào)用格式: putchar( c )參數(shù): c為字符常量、變量或表達式功能:把字符c輸出到顯示器上2.字符輸出函數(shù)#includemain()char j ;j=getchar(); /*從鍵盤輸入一個字符,賦給 j *
4、/ putchar(j); /*向屏幕輸出一個字符j*/ putchar(j+1); /*向屏幕輸出一個字符j+1*/ putchar(n); /*輸出換行*/字符輸出函數(shù)調(diào)用格式: putchar( c )2.字符輸出調(diào)用格式: gets( s ) 函數(shù)用來從標準輸入設(shè)備(鍵盤) 讀取字符串直到按回車鍵結(jié)束調(diào)用格式: puts(s)函數(shù)用來向標準輸出設(shè)備 (屏幕)寫字符串并換行3.字符串輸入輸出函數(shù) #include main() char s100; gets(s); puts(s);調(diào)用格式: gets( s ) 函數(shù)用來從標準輸入設(shè)備(鍵盤編程1:輸入3個字符,將它們反向輸出并輸出它們
5、的ASCII值。編程1:輸入3個字符,將它們反向輸出并輸出它們的ASCII值3.3.1 格式輸入函數(shù)調(diào)用格式: scanf(“格式控制字符串”,地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲單元中,并按回車鍵結(jié)束。地址表:變量的地址,用取地址運算符&地址列表是由若干變量地址組成的列表,各地址間以逗號(,)分隔;格式控制字符串中包括:普通字符、轉(zhuǎn)義字符和格式字符說明。例 scanf(“%d%d”,&a,&b); 輸入:10 163.3.1 格式輸入函數(shù)調(diào)用格式: scanf(“格式控制字scanf格式字符格 式 字 符說 明d用來輸入十進制整數(shù)ld用來輸入十進制長整型數(shù)o用來輸入八
6、進制整數(shù)x(X)用來輸入十六進制整數(shù)i用來輸入十進制數(shù)、八進制數(shù)(0開頭)或十六進制數(shù)(0 x開頭)u用來輸入無符號十進制整數(shù)c用來輸入單個字符s用來輸入字符串,將字符串送到一個字符數(shù)組中f(e)用來輸入實數(shù),可以用小數(shù)形式或指數(shù)形式輸入g(G)與f作用相同,e、f和g可以互相替換輸入百分號()初學(xué)習C語言,括號內(nèi)的格式選項可先不考慮,常用的只有幾個,如d、c、f、s。scanf格式字符格 式 字 符說 明d用來輸入十進制編程題 1.輸入3個字符,將它們反向輸出并輸出它們的ASCII值。 2.輸入三個實數(shù),計算并輸出其平均值。3.任意輸入一個三位數(shù)n,輸出這個數(shù)的每位上的數(shù)字。編程題 1.輸入
7、3個字符,將它們反向輸出并輸使用scanf應(yīng)注意:(1)執(zhí)行scanf( )輸入多個數(shù)據(jù)時,除格式字符之外沒有其他字符,則在兩個數(shù)據(jù)之間以空格、回車鍵、跳格鍵(Tab鍵)隔開(不能用逗號分隔); 若除格式字符之外還有其他字符,那么在輸入數(shù)據(jù)時,這些字符也要照樣輸入。 scanf (dd, &a, &b);則下面輸入數(shù)據(jù)的方式都是正確的: 13 1 或:13 1scanf (x=d, y=d, z=d, &x, &y, &z);以下輸入是正確的: x = 123, y = 456, z = 789 使用scanf應(yīng)注意:(1)執(zhí)行scanf( )輸入多個數(shù)據(jù)使用scanf應(yīng)注意:2.用“%c”格
8、式符時,空格和轉(zhuǎn)義字符作為有效字符輸。3.參數(shù)的第二部分一定是地址列表,不能是表達式,記得在變量前加上&。 scanf( ” %d%d ” ,a,b); /*編譯時不出現(xiàn)錯誤,執(zhí)行結(jié)果會出現(xiàn)混亂*/使用scanf應(yīng)注意:2.用“%c”格式符時,空格和轉(zhuǎn)義字符示例1按格式要求輸入、輸出數(shù)據(jù)。#include stdio.hmain()int a,b; float x,y; char c1,c2; scanf(a=%d,b=%d,&a,&b); scanf(%f, %e,&x,&y); scanf(%c %c,&c1,&c2);輸入: a=10,b=46 4.5,67.8ab示例1按格式要求輸入、
9、輸出數(shù)據(jù)。輸入:4.可以指定輸入數(shù)據(jù)所占的寬度,系統(tǒng)自動按指定的寬度截取數(shù)據(jù)。 如:scanf(“%2d%3d%2d”,&a,&b,&c);若輸入以下數(shù)據(jù) 121345678 變量a、b、c的值分別為:12、134、565.格式字符后面使用字符*時,表示該對應(yīng)的數(shù)據(jù)被禁止使用,即跳過與它相應(yīng)的輸入數(shù)據(jù)。 例如:scanf(3d*4d3d, &x, &y, &z);若輸入為 1234567890它將123存入變量x,4567被跳過不賦給任何變量,將890賦給變量y。4.可以指定輸入數(shù)據(jù)所占的寬度,系統(tǒng)自動按指定的寬度截取數(shù)據(jù)6.實數(shù)不許規(guī)定小數(shù)精度,下述表示不合法 scanf(“8.2f”, &
10、f);7.long型數(shù)據(jù)一定要用%ld格式輸入,double型數(shù)據(jù)一定要用%lf格式輸入,否則運行結(jié)果錯誤。8. 在格式控制字符串中,格式說明與輸入項從左到右在類型上必須一一對應(yīng)。若不對應(yīng),如: int a, b; scanf( ” %d%f”,&a,&b); 則在運行時,系統(tǒng)提示錯誤6.實數(shù)不許規(guī)定小數(shù)精度,下述表示不合法 函數(shù)調(diào)用格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù),若出錯,則返回負數(shù)。 3.3.2 格式輸出函數(shù)輸出函數(shù)的函數(shù)名指定數(shù)據(jù)的輸出格式要輸出的數(shù)據(jù)列表輸出表:要輸出的數(shù)據(jù)(可以沒有,有多個時以“,”分隔)格式控制串:包含兩種信息普通字符或轉(zhuǎn)
11、義序列:原樣輸出格式說明: %修飾符格式字符,用于指定輸出格式3.3.2 格式輸出函數(shù)輸出函數(shù)的函數(shù)名指定數(shù)據(jù)的輸出格式要例 #includemain() printf(*n ); printf(How are you ?n); printf(I am fine!n); 例 #included以帶符號的10進制形式輸出整數(shù)o以8進制無符號形式輸出整數(shù)x(X)以16進制無符號形式輸出整數(shù)u以無符號10進制形式輸出整數(shù) c以字符形式輸出一個字符s輸出字符串 f小數(shù)形式輸出單、雙精度數(shù),隱含6位小數(shù) e(E)以標準指數(shù)形式輸出單、雙精度數(shù),小數(shù)位數(shù)為6位 g(G)選用%f或%e格式中輸出寬度較短的一
12、種格式 %百分號d以帶符號的10進制形式輸出整數(shù)o以8進制無符號形式輸出整數(shù)說明1:d, o, x(X), u格式符 用來以10,8,16形式輸出整數(shù),即將內(nèi)存單元中的所有二進制數(shù)值(包括符號位)轉(zhuǎn)換成10,8,16進制輸出。#include main() int a=100; printf(%d,%o,%x,a,a,a); 輸出: 100,144,64說明1:d, o, x(X), u格式符#include說明2:f, e, g格式 都是用來輸出實數(shù). %f:整數(shù)部分全部輸出,小數(shù)部分輸出6位; %e:輸出數(shù)據(jù)寬度共占11位; %g: 根據(jù)數(shù)值的大小,自動選取f格式或e格式(選擇輸出時占寬度
13、較小的一種)輸出,且不輸出無意義的0。float f=123.456;printf(“%f,%e,%gn”,f,f,f);運行結(jié)果為:123.456000,1.234560e+002,123.456說明2:f, e, g格式 都是用來輸出實數(shù). %說明3:按指定長度輸出:%m.n格式字符m為數(shù)據(jù)輸出總長度,n為實數(shù)小數(shù)位數(shù)或輸出字符個數(shù);不足的地方補空格。例 int a=1234; float f=123.456; printf(“%8d, %2dn”,a,a); printf(“%f, %8.1f, %.2en”,f,f,f);運行 1234,1234結(jié)果: 123.456000, 123.
14、5, 1.23e+002說明3:按指定長度輸出:%m.n格式字符例 int a例:printf(s,Name:); 語句輸出結(jié)果為: Name:printf (10s,Name : );輸出結(jié)果為:Name :printf (8.2s, Name:);輸出結(jié)果為:Na例:printf(s,Name:);運行下列程序,預(yù)測結(jié)果#include stdio.hmain() char c1,c2; c1=97;c2=98; printf(“%c,%c, c1, c2);(1)在c1=97;c2=98;語句后加入如下語句,并運行。printf(d, d, c1, c2 );(2)將char c1,c2;改為如下語句,再運行。int c1, c2;運行下列程序,預(yù)測結(jié)果#include stdio.h(小結(jié)1.scanf(“格式控制字符串”,地址表); printf(“格式控制串”,輸出表)2.常用三種格式字符:整數(shù):%d ; 實數(shù): %f; 字符: %c; 字符串:%s;3.輸入數(shù)據(jù)之間默認用空格、回車、TAB鍵分隔
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 磁頭清洗裝置項目運營指導(dǎo)方案
- 膠面增濕器辦公用品項目營銷計劃書
- 掃雪機的修理或維護行業(yè)市場調(diào)研分析報告
- 傷口敷料產(chǎn)品供應(yīng)鏈分析
- 臺球桿產(chǎn)品供應(yīng)鏈分析
- 航空器用機翼項目運營指導(dǎo)方案
- 國際電話服務(wù)行業(yè)相關(guān)項目經(jīng)營管理報告
- 卡車露營車產(chǎn)品供應(yīng)鏈分析
- O2O服務(wù)行業(yè)營銷策略方案
- 家用籃產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 現(xiàn)實與理想-西方古典繪畫 課件-2023-2024學(xué)年高中美術(shù)人美版(2019)美術(shù)鑒賞
- 認識經(jīng)濟全球化 說課課件-2023-2024學(xué)年高中政治統(tǒng)編版選擇性必修一當代國際政治與經(jīng)濟
- 2024網(wǎng)站滲透測試報告
- 2023-2024學(xué)年七年級上冊語文期中考試高頻考點13 寫作實踐解析版
- 防碘知識課件
- 交友安全教育主題班會
- DB-T29-139-2015天津市房屋修繕工程質(zhì)量驗收標準
- 消防安全知識宣講會
- 有機肥料售后服務(wù)方案
- 金融服務(wù)創(chuàng)新聯(lián)合體協(xié)議書
- 發(fā)票勾選認證培訓(xùn)課件
評論
0/150
提交評論