第04講 輸入輸出和庫函數(shù).ppt_第1頁
第04講 輸入輸出和庫函數(shù).ppt_第2頁
第04講 輸入輸出和庫函數(shù).ppt_第3頁
第04講 輸入輸出和庫函數(shù).ppt_第4頁
第04講 輸入輸出和庫函數(shù).ppt_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第四講 輸入輸出和庫函數(shù),2,第四講 輸入輸出和庫函數(shù),引例 字符串常量 符號常量 格式化輸入輸出 字符輸入輸出 庫函數(shù),C語言程序設(shè)計,3,引例,引例 問題:計算任意一個球體的體積。 源程序(cw03-01.c),輸入輸出和庫函數(shù),#include #include #define PI 3.14159 /定義符號常量 void main() double r, volume; printf(Please input the radius of a ball: ); scanf(%lf, /按格式輸出 ,Please input the radius of a ball: 1 Volume

2、= 4.18879,volume = 4/3r3,4,字符串常量,字符串常量 用雙引號括起來的字符序列。 this is a string x 12345 字符串常量的存儲方式 字符串中的字符存放在相鄰的存儲單元中,每個字符占用一個單元(一般是一個字節(jié)),在最后加上一個空字符(0)作為結(jié)束標(biāo)識符。 舉例,輸入輸出和庫函數(shù),每個字符占一個字節(jié),結(jié)束標(biāo)記,5,字符串常量,字符串常量和字符常量的區(qū)別 字符x是基本型數(shù)據(jù)。 字符串”x”是構(gòu)造型數(shù)據(jù)。 占用的存儲空間大小不同。,輸入輸出和庫函數(shù),6,符號常量,符號常量 符號常量是用一個標(biāo)識符表示的常量。 定義規(guī)則 #define 符號常量名 字符串 舉

3、例,輸入輸出和庫函數(shù),#define MAXSIZE 20 #define WELCOME Welcome to you! #define PI 3.14,編譯預(yù)處理器將會用3.14替換以后出現(xiàn)的PI標(biāo)識符。,7,符號常量,為什么需要符號常量 名字比數(shù)字包含的信息多。 便于維護 如果需要在多個地方用到同一個常量,而且必須改變它的值,則只需要修改其符號常量的定義。 另一種定義符號常量的方法 使用const把一個變量聲明轉(zhuǎn)換成常量聲明。 舉例,輸入輸出和庫函數(shù),const int MAX_NUMBER = 30;,MAX_NUMBER是只讀的。,8,輸入輸出,輸入輸出是以計算機主機為主體而言的。

4、輸出(Output):從主機向外部輸出設(shè)備輸出數(shù)據(jù)。 輸入(Input):從外部通過輸入設(shè)備向主機輸入數(shù)據(jù)。,輸入輸出和庫函數(shù),輸入,輸出,9,輸入輸出流,流(stream) 按直線排列的字符序列 每個序列包括0個或多個字符,并用換行符結(jié)尾 ANSI C支持至少254個字符的序列 所有的輸入/輸出都是用流來進行的。,輸入輸出和庫函數(shù),10,標(biāo)準(zhǔn)輸入輸出流,開始執(zhí)行程序時,3個流自動連接到程序上 標(biāo)準(zhǔn)輸入流(standard input)對應(yīng)的源端設(shè)備:keyboard 標(biāo)準(zhǔn)輸出流(standard output)對應(yīng)的目的端設(shè)備:screen 標(biāo)準(zhǔn)錯誤流(standard error)對應(yīng)的目

5、的端設(shè)備:screen 操作系統(tǒng)允許這些流重定向到其它設(shè)備,輸入輸出和庫函數(shù),myprog out.txt,輸出重定向符,myprog data.txt,輸入重定向符,11,輸入輸出函數(shù),C語言中數(shù)據(jù)的輸入、輸出是由函數(shù)來實現(xiàn)的。 字符輸入函數(shù):getchar() 字符輸出函數(shù):putchar() 格式輸入函數(shù):scanf() 格式輸出函數(shù):printf() 它們都屬于標(biāo)準(zhǔn)輸入輸出庫函數(shù),其原型(prototype)都在stdio.h頭文件(header file)中。,輸入輸出和庫函數(shù),12,字符輸入輸出,putchar()函數(shù) getchar()函數(shù) 使用說明 程序中必須包含 stdio.

6、h 頭文件,輸入輸出和庫函數(shù),#include ,13,字符輸出,putchar 使用形式 putchar(character); 向標(biāo)準(zhǔn)輸出流輸出一個字符character 使用說明 character可以是以下數(shù)據(jù): 字符型數(shù)據(jù) 整型數(shù)據(jù) 轉(zhuǎn)義字符,輸入輸出和庫函數(shù),14,字符輸出,舉例(cw0302.c),輸入輸出和庫函數(shù),#include void main() char a; int b; a=B; b=79; putchar(a); putchar(n); putchar(b); putchar(n); putchar(Y); ,B O Y,15,字符輸入,getchar 使用形式

7、 variable = getchar(); 從標(biāo)準(zhǔn)輸入流讀取一個字符。 使用說明 只讀取一個字符。 該字符可賦給字符變量、整型變量或作為表達式的一部分。,輸入輸出和庫函數(shù),16,字符輸入,舉例(cw0303.c),輸入輸出和庫函數(shù),#include void main() char c; c = getchar(); putchar(c); ,a a,abc a,98 9,1,2,3,17,格式輸入輸出,printf()函數(shù) scanf()函數(shù) 使用說明 程序中可以不明確指定包含 stdio.h 頭文件,輸入輸出和庫函數(shù),#include ,可以省略此命令,18,格式輸出,printf 使用

8、形式 printf(格式控制字符串, 輸出列表); 按格式控制字符串規(guī)定的格式,向指定的輸出設(shè)備輸出輸出列表中的輸出項。 使用說明 格式控制字符串 由雙引號括起來的字符串,用于指定輸出格式 輸出列表 需要輸出的數(shù)據(jù)列表,彼此間用逗號分隔 輸出項可以是任意合法的表達式,輸入輸出和庫函數(shù),19,格式輸出,格式控制字符串 舉例,輸入輸出和庫函數(shù),printf(“n=%5d,f=%5.2fn”, 3, 6.235),普通字符 原樣輸出,格式說明符(轉(zhuǎn)換規(guī)則) % 修飾符 格式字符 指定數(shù)據(jù)的輸出格式,n= 3,f= 6.24,20,格式輸出,格式字符,輸入輸出和庫函數(shù),21,格式輸出,格式修飾符,輸入

9、輸出和庫函數(shù),22,格式輸出,格式說明符小結(jié),輸入輸出和庫函數(shù),要輸出%就用%,23,格式輸出,舉例(cw0304.c),輸入輸出和庫函數(shù),void main() int a=97,b=-1; float f=123.4; printf(“%d,%cn”,a,a); printf(“%d,%o,%x,%un”,b,b,b,b); printf(“%f,%e,%gEND”,f,f,f); ,97,a -1,177777,ffff,65535 123.400002,1.234000e+02,123.4END,1 1 1 1 1 1 1 1,1 1 1 1 1 1 1 1,BC,24,格式輸出,舉例

10、(cw0305.c),輸入輸出和庫函數(shù),void main() int a=1,b=2,c=3; printf(“%d,%d,%d,%dn”,a,b,c); printf(“%d,%d,%dn”,a,b,c,a+b+c); ,1,2,3,898 1,2,3,格式說明符和輸出項在數(shù)量和類型上應(yīng)該一一對應(yīng)。,25,格式輸入,scanf 使用形式 scanf(格式控制字符串, 地址列表); 按格式控制字符串規(guī)定的格式,從指定的輸入設(shè)備讀入數(shù)據(jù),并存放到地址列表中的各地址項指定的變量中 使用說明 格式控制字符串 由雙引號括起來的字符串,用于指定輸入格式 地址列表 由若干個變量的地址組成,輸入輸出和庫函

11、數(shù),26,格式輸入,地址列表 取地址運算符: scanf(“%c%c%c”, ,abc a=a,b=b,c=c,a b c a=a,b= ,c=b,a bc a=a,b= ,c=b,a b a=a,b= ,c=b,1,2,3,4,用 c 格式字符輸入字符時,若格式控制字符串中無普通字符,那么認(rèn)為所有輸入的字符(包括空格、制表符、換行符)均為有效字符。,31,格式輸入,輸入過程分析,輸入輸出和庫函數(shù),ab2,3.4,輸入緩沖區(qū),scanf(); getchar(); ,輸入流,輸入流,32,格式輸入,用c格式字符輸入字符時,若格式控制字符串中加入空格作為分隔符,那么輸入時各數(shù)據(jù)之間可以加任意多個空格、制表符或換行符)。 例:scanf(“%c %c %c”, 輸入:a b c 則 a=a,b=b,c=c 在下列情況下可認(rèn)為數(shù)據(jù)輸入結(jié)束: 遇到空格符、換行符、制表符 按指定的寬度結(jié)束 遇非法輸入,輸入輸出和庫函數(shù),33,數(shù)學(xué)庫函數(shù),使用標(biāo)準(zhǔn)庫中的數(shù)學(xué)函數(shù) 包含數(shù)學(xué)函數(shù)庫的頭文件 #include 常用的數(shù)學(xué)函數(shù)的原型 int abs(int n) double fab

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論