數(shù)據(jù)的輸入輸出課件_第1頁(yè)
數(shù)據(jù)的輸入輸出課件_第2頁(yè)
數(shù)據(jù)的輸入輸出課件_第3頁(yè)
數(shù)據(jù)的輸入輸出課件_第4頁(yè)
數(shù)據(jù)的輸入輸出課件_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第3章 數(shù)據(jù)的輸入/輸出3.1 字符的輸入/輸出函數(shù)3.2 字符串輸入/輸出函數(shù) 3.3 格式輸入/輸出函數(shù)第3章 數(shù)據(jù)的輸入/輸出3.1 字符的輸入/輸出函數(shù)3.2 提問(wèn): 1. 某糧庫(kù)1號(hào)存進(jìn)玉米100噸,2號(hào)又存入20噸,3號(hào)調(diào)出庫(kù)存的2/3,4號(hào)又調(diào)進(jìn)庫(kù)存的3倍玉米,問(wèn)該糧庫(kù)4號(hào)的庫(kù)存量。 2.輸入某圓的半徑r ,求該圓的周長(zhǎng)c與面積s; 3.輸入3個(gè)字符,將它們反向輸出并輸出它們的ASCII值。 4. 任意輸入一個(gè)三位數(shù)n,求這個(gè)數(shù)的每位上的數(shù)字。提問(wèn):開(kāi)始編輯源程序運(yùn)行程序編譯源程序連接目標(biāo)程序沒(méi)錯(cuò)誤有錯(cuò)誤有錯(cuò)誤沒(méi)錯(cuò)誤程序編輯到調(diào)試運(yùn)行流程開(kāi)始編輯源程序運(yùn)行程序編譯源程序連接目標(biāo)程

2、序沒(méi)錯(cuò)誤有錯(cuò)誤有錯(cuò) 程序編程基本框架#includemain() 變量定義; 變量賦值或者鍵盤輸入數(shù)據(jù); 計(jì)算語(yǔ)句; 輸出; 程序編程基本框架#incl C語(yǔ)言本身沒(méi)有提供輸入語(yǔ)句和輸出語(yǔ)句,而是由編譯系統(tǒng)在標(biāo)準(zhǔn)函數(shù)庫(kù)中定義了一些輸入/輸出函數(shù),用戶在編寫程序時(shí),是通過(guò)調(diào)用這些庫(kù)函數(shù)來(lái)實(shí)現(xiàn)輸入/輸出的。 C語(yǔ)言編譯系統(tǒng)中的stdio.h頭文件包含了與標(biāo)準(zhǔn)輸入(鍵盤)和輸出(顯示屏幕)有關(guān)的變量的定義及其相應(yīng)的宏定義,因此,在使用這些庫(kù)函數(shù)時(shí),一般需要用編譯預(yù)處理命令# include或# include“stdio.h”將頭文件stdio.h包含到用戶的源文件中。 前 言 C語(yǔ)言本身沒(méi)有提供輸

3、入語(yǔ)句和輸出語(yǔ)句,而是由編譯系統(tǒng)字符輸入函數(shù)調(diào)用格式: getchar( )功能:從輸入設(shè)備(一般為鍵盤)上輸入一個(gè)字符。 它每被調(diào)用一次,就從標(biāo)準(zhǔn)輸入設(shè)備上取一個(gè)字符, 返回值是該字符的ASCII編碼值。 可以賦給字符變量或整型變量。 執(zhí)行g(shù)etchar()是輸入字符后要回車。3.1.字符輸入/輸出函數(shù) 字符輸入函數(shù)調(diào)用格式: getchar( )3.1.字符輸入字符輸出函數(shù)調(diào)用格式: putchar( c )參數(shù): c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上2.字符輸出函數(shù)#includemain()char j ;j=getchar(); /*從鍵盤輸入一個(gè)字符,賦給 j *

4、/ putchar(j); /*向屏幕輸出一個(gè)字符j*/ putchar(j+1); /*向屏幕輸出一個(gè)字符j+1*/ putchar(n); /*輸出換行*/字符輸出函數(shù)調(diào)用格式: putchar( c )2.字符輸出調(diào)用格式: gets( s ) 函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤) 讀取字符串直到按回車鍵結(jié)束調(diào)用格式: puts(s)函數(shù)用來(lái)向標(biāo)準(zhǔn)輸出設(shè)備 (屏幕)寫字符串并換行3.字符串輸入輸出函數(shù) #include main() char s100; gets(s); puts(s);調(diào)用格式: gets( s ) 函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤編程1:輸入3個(gè)字符,將它們反向輸出并輸出它們

5、的ASCII值。編程1:輸入3個(gè)字符,將它們反向輸出并輸出它們的ASCII值3.3.1 格式輸入函數(shù)調(diào)用格式: scanf(“格式控制字符串”,地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲(chǔ)單元中,并按回車鍵結(jié)束。地址表:變量的地址,用取地址運(yùn)算符&地址列表是由若干變量地址組成的列表,各地址間以逗號(hào)(,)分隔;格式控制字符串中包括:普通字符、轉(zhuǎn)義字符和格式字符說(shuō)明。例 scanf(“%d%d”,&a,&b); 輸入:10 163.3.1 格式輸入函數(shù)調(diào)用格式: scanf(“格式控制字scanf格式字符格 式 字 符說(shuō) 明d用來(lái)輸入十進(jìn)制整數(shù)ld用來(lái)輸入十進(jìn)制長(zhǎng)整型數(shù)o用來(lái)輸入八

6、進(jìn)制整數(shù)x(X)用來(lái)輸入十六進(jìn)制整數(shù)i用來(lái)輸入十進(jìn)制數(shù)、八進(jìn)制數(shù)(0開(kāi)頭)或十六進(jìn)制數(shù)(0 x開(kāi)頭)u用來(lái)輸入無(wú)符號(hào)十進(jìn)制整數(shù)c用來(lái)輸入單個(gè)字符s用來(lái)輸入字符串,將字符串送到一個(gè)字符數(shù)組中f(e)用來(lái)輸入實(shí)數(shù),可以用小數(shù)形式或指數(shù)形式輸入g(G)與f作用相同,e、f和g可以互相替換輸入百分號(hào)()初學(xué)習(xí)C語(yǔ)言,括號(hào)內(nèi)的格式選項(xiàng)可先不考慮,常用的只有幾個(gè),如d、c、f、s。scanf格式字符格 式 字 符說(shuō) 明d用來(lái)輸入十進(jìn)制編程題 1.輸入3個(gè)字符,將它們反向輸出并輸出它們的ASCII值。 2.輸入三個(gè)實(shí)數(shù),計(jì)算并輸出其平均值。3.任意輸入一個(gè)三位數(shù)n,輸出這個(gè)數(shù)的每位上的數(shù)字。編程題 1.輸入

7、3個(gè)字符,將它們反向輸出并輸使用scanf應(yīng)注意:(1)執(zhí)行scanf( )輸入多個(gè)數(shù)據(jù)時(shí),除格式字符之外沒(méi)有其他字符,則在兩個(gè)數(shù)據(jù)之間以空格、回車鍵、跳格鍵(Tab鍵)隔開(kāi)(不能用逗號(hào)分隔); 若除格式字符之外還有其他字符,那么在輸入數(shù)據(jù)時(shí),這些字符也要照樣輸入。 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( )輸入多個(gè)數(shù)據(jù)使用scanf應(yīng)注意:2.用“%c”格

8、式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸。3.參數(shù)的第二部分一定是地址列表,不能是表達(dá)式,記得在變量前加上&。 scanf( ” %d%d ” ,a,b); /*編譯時(shí)不出現(xiàn)錯(cuò)誤,執(zhí)行結(jié)果會(huì)出現(xiàn)混亂*/使用scanf應(yīng)注意:2.用“%c”格式符時(shí),空格和轉(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)自動(dòng)按指定的寬度截取數(shù)據(jù)。 如:scanf(“%2d%3d%2d”,&a,&b,&c);若輸入以下數(shù)據(jù) 121345678 變量a、b、c的值分別為:12、134、565.格式字符后面使用字符*時(shí),表示該對(duì)應(yīng)的數(shù)據(jù)被禁止使用,即跳過(guò)與它相應(yīng)的輸入數(shù)據(jù)。 例如:scanf(3d*4d3d, &x, &y, &z);若輸入為 1234567890它將123存入變量x,4567被跳過(guò)不賦給任何變量,將890賦給變量y。4.可以指定輸入數(shù)據(jù)所占的寬度,系統(tǒng)自動(dòng)按指定的寬度截取數(shù)據(jù)6.實(shí)數(shù)不許規(guī)定小數(shù)精度,下述表示不合法 scanf(“8.2f”, &

10、f);7.long型數(shù)據(jù)一定要用%ld格式輸入,double型數(shù)據(jù)一定要用%lf格式輸入,否則運(yùn)行結(jié)果錯(cuò)誤。8. 在格式控制字符串中,格式說(shuō)明與輸入項(xiàng)從左到右在類型上必須一一對(duì)應(yīng)。若不對(duì)應(yīng),如: int a, b; scanf( ” %d%f”,&a,&b); 則在運(yùn)行時(shí),系統(tǒng)提示錯(cuò)誤6.實(shí)數(shù)不許規(guī)定小數(shù)精度,下述表示不合法 函數(shù)調(diào)用格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù),若出錯(cuò),則返回負(fù)數(shù)。 3.3.2 格式輸出函數(shù)輸出函數(shù)的函數(shù)名指定數(shù)據(jù)的輸出格式要輸出的數(shù)據(jù)列表輸出表:要輸出的數(shù)據(jù)(可以沒(méi)有,有多個(gè)時(shí)以“,”分隔)格式控制串:包含兩種信息普通字符或轉(zhuǎn)

11、義序列:原樣輸出格式說(shuō)明: %修飾符格式字符,用于指定輸出格式3.3.2 格式輸出函數(shù)輸出函數(shù)的函數(shù)名指定數(shù)據(jù)的輸出格式要例 #includemain() printf(*n ); printf(How are you ?n); printf(I am fine!n); 例 #included以帶符號(hào)的10進(jìn)制形式輸出整數(shù)o以8進(jìn)制無(wú)符號(hào)形式輸出整數(shù)x(X)以16進(jìn)制無(wú)符號(hào)形式輸出整數(shù)u以無(wú)符號(hào)10進(jìn)制形式輸出整數(shù) c以字符形式輸出一個(gè)字符s輸出字符串 f小數(shù)形式輸出單、雙精度數(shù),隱含6位小數(shù) e(E)以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度數(shù),小數(shù)位數(shù)為6位 g(G)選用%f或%e格式中輸出寬度較短的一

12、種格式 %百分號(hào)d以帶符號(hào)的10進(jìn)制形式輸出整數(shù)o以8進(jìn)制無(wú)符號(hào)形式輸出整數(shù)說(shuō)明1:d, o, x(X), u格式符 用來(lái)以10,8,16形式輸出整數(shù),即將內(nèi)存單元中的所有二進(jìn)制數(shù)值(包括符號(hào)位)轉(zhuǎn)換成10,8,16進(jìn)制輸出。#include main() int a=100; printf(%d,%o,%x,a,a,a); 輸出: 100,144,64說(shuō)明1:d, o, x(X), u格式符#include說(shuō)明2:f, e, g格式 都是用來(lái)輸出實(shí)數(shù). %f:整數(shù)部分全部輸出,小數(shù)部分輸出6位; %e:輸出數(shù)據(jù)寬度共占11位; %g: 根據(jù)數(shù)值的大小,自動(dòng)選取f格式或e格式(選擇輸出時(shí)占寬度

13、較小的一種)輸出,且不輸出無(wú)意義的0。float f=123.456;printf(“%f,%e,%gn”,f,f,f);運(yùn)行結(jié)果為:123.456000,1.234560e+002,123.456說(shuō)明2:f, e, g格式 都是用來(lái)輸出實(shí)數(shù). %說(shuō)明3:按指定長(zhǎng)度輸出:%m.n格式字符m為數(shù)據(jù)輸出總長(zhǎng)度,n為實(shí)數(shù)小數(shù)位數(shù)或輸出字符個(gè)數(shù);不足的地方補(bǔ)空格。例 int a=1234; float f=123.456; printf(“%8d, %2dn”,a,a); printf(“%f, %8.1f, %.2en”,f,f,f);運(yùn)行 1234,1234結(jié)果: 123.456000, 123.

14、5, 1.23e+002說(shuō)明3:按指定長(zhǎng)度輸出:%m.n格式字符例 int a例:printf(s,Name:); 語(yǔ)句輸出結(jié)果為: Name:printf (10s,Name : );輸出結(jié)果為:Name :printf (8.2s, Name:);輸出結(jié)果為:Na例:printf(s,Name:);運(yùn)行下列程序,預(yù)測(cè)結(jié)果#include stdio.hmain() char c1,c2; c1=97;c2=98; printf(“%c,%c, c1, c2);(1)在c1=97;c2=98;語(yǔ)句后加入如下語(yǔ)句,并運(yùn)行。printf(d, d, c1, c2 );(2)將char c1,c2;改為如下語(yǔ)句,再運(yùn)行。int c1, c2;運(yùn)行下列程序,預(yù)測(cè)結(jié)果#include stdio.h(小結(jié)1.scanf(“格式控制字符串”,地址表); printf(“格式控制串”,輸出表)2.常用三種格式字符:整數(shù):%d ; 實(shí)數(shù): %f; 字符: %c; 字符串:%s;3.輸入數(shù)據(jù)之間默認(rèn)用空格、回車、TAB鍵分隔

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論