c程序設(shè)計(jì)案例匯編02_第1頁(yè)
c程序設(shè)計(jì)案例匯編02_第2頁(yè)
c程序設(shè)計(jì)案例匯編02_第3頁(yè)
c程序設(shè)計(jì)案例匯編02_第4頁(yè)
c程序設(shè)計(jì)案例匯編02_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C程序設(shè)計(jì)案例匯編程序設(shè)計(jì)案例匯編2011.4第二章第二章 初識(shí)初識(shí)C語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì) 學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo) 通過(guò)本章的學(xué)習(xí),學(xué)會(huì)通過(guò)本章的學(xué)習(xí),學(xué)會(huì) (1)在屏幕上輸出顯示需要的信息;)在屏幕上輸出顯示需要的信息; (2)給予簡(jiǎn)單的數(shù)據(jù),進(jìn)行處理,輸出結(jié)果;)給予簡(jiǎn)單的數(shù)據(jù),進(jìn)行處理,輸出結(jié)果;(3)輸入輸出函數(shù)的簡(jiǎn)單使用。)輸入輸出函數(shù)的簡(jiǎn)單使用。(4)簡(jiǎn)單的分支操作。)簡(jiǎn)單的分支操作。(5)簡(jiǎn)單的循環(huán)操作。)簡(jiǎn)單的循環(huán)操作。C語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)本章內(nèi)容本章內(nèi)容21 在標(biāo)準(zhǔn)輸出設(shè)備上顯示在標(biāo)準(zhǔn)輸出設(shè)備上顯示 22 簡(jiǎn)單數(shù)據(jù)處理簡(jiǎn)單數(shù)據(jù)處理 23 有選擇條件的數(shù)據(jù)處理有選擇條件的數(shù)

2、據(jù)處理 2. 4 有重復(fù)操作的數(shù)據(jù)處理有重復(fù)操作的數(shù)據(jù)處理2.1在標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上顯示在標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上顯示案例案例2-1:一個(gè)精典的輸出:一個(gè)精典的輸出 使用使用C語(yǔ)言編寫(xiě)程序,輸出語(yǔ)言編寫(xiě)程序,輸出“我愛(ài)你,中國(guó)!我愛(ài)你,中國(guó)!”。程序運(yùn)。程序運(yùn)行結(jié)果的輸出示例如圖行結(jié)果的輸出示例如圖2-1。1案例案例2-1的源程序的源程序 /* 顯示顯示“我愛(ài)你,中國(guó)我愛(ài)你,中國(guó)!” */ /* 注釋文本注釋文本 */ # include /* 編譯預(yù)處理命令編譯預(yù)處理命令 */int main(void) /*主函數(shù)主函數(shù)main */ printf(我愛(ài)你,中國(guó)我愛(ài)你,中國(guó)!n); /*

3、 調(diào)用調(diào)用printf函數(shù)輸出文字函數(shù)輸出文字 */ return 0; /* 返回返回1個(gè)整數(shù)個(gè)整數(shù)0 */2歸納分析歸納分析n用用/*和和*/包含或用包含或用/開(kāi)頭的文本部分稱(chēng)為程序注釋。開(kāi)頭的文本部分稱(chēng)為程序注釋。 n# include 這是一個(gè)編譯預(yù)處理命令,用于包含頭文件這是一個(gè)編譯預(yù)處理命令,用于包含頭文件stdio.h(即(即標(biāo)準(zhǔn)輸入輸出函數(shù)的頭文件)。在源程序中調(diào)用的標(biāo)準(zhǔn)輸入輸出函數(shù)的頭文件)。在源程序中調(diào)用的printf( )函數(shù)是函數(shù)是C語(yǔ)言庫(kù)函數(shù),在系統(tǒng)頭文件語(yǔ)言庫(kù)函數(shù),在系統(tǒng)頭文件stdio.h中聲明,因此中聲明,因此在源程序開(kāi)頭用在源程序開(kāi)頭用#include把它包含

4、進(jìn)來(lái)。把它包含進(jìn)來(lái)。nmain( )函數(shù)是函數(shù)是C語(yǔ)言的主函數(shù),每個(gè)語(yǔ)言的主函數(shù),每個(gè)C語(yǔ)言程序都是從語(yǔ)言程序都是從main( )開(kāi)始執(zhí)行的,它是啟動(dòng)函數(shù)的入口,必須有且只開(kāi)始執(zhí)行的,它是啟動(dòng)函數(shù)的入口,必須有且只有一個(gè)有一個(gè)main( )函數(shù)。函數(shù)。 n“n”是轉(zhuǎn)義字符,表示換行。是轉(zhuǎn)義字符,表示換行。n說(shuō)明:雙引號(hào)、分號(hào)必須使用半角狀態(tài)下的符號(hào)說(shuō)明:雙引號(hào)、分號(hào)必須使用半角狀態(tài)下的符號(hào)案例案例2-2:控制輸出內(nèi)容使其顯示在不同的行。:控制輸出內(nèi)容使其顯示在不同的行。 在屏幕上輸出兩句話在屏幕上輸出兩句話“剛剛開(kāi)始學(xué)習(xí)剛剛開(kāi)始學(xué)習(xí)C語(yǔ)語(yǔ)言言”,“不要著急!不要著急!”。每句顯示在不同的行上。

5、每句顯示在不同的行上。程序運(yùn)行結(jié)果的輸出示例如圖程序運(yùn)行結(jié)果的輸出示例如圖2-2。1案例案例2-2的源程序的源程序/* 輸出顯示在不同行上輸出顯示在不同行上 ,版本,版本1*/ # include int main(void) /*主函數(shù)主函數(shù)main */ printf(剛剛開(kāi)始學(xué)習(xí)剛剛開(kāi)始學(xué)習(xí)C語(yǔ)言語(yǔ)言!n不要著急不要著急!n); /*調(diào)用函數(shù)輸出文字調(diào)用函數(shù)輸出文字 */ return 0; /* 返回返回1個(gè)整數(shù)個(gè)整數(shù)0 */2歸納分析歸納分析 nprintf( )函數(shù)調(diào)用中按原樣輸出的字符串部分,在兩句話中間增加換函數(shù)調(diào)用中按原樣輸出的字符串部分,在兩句話中間增加換行符,此處用轉(zhuǎn)義字

6、符行符,此處用轉(zhuǎn)義字符“n”來(lái)實(shí)現(xiàn)。來(lái)實(shí)現(xiàn)。 n也可以用兩個(gè)函數(shù)調(diào)用語(yǔ)句來(lái)完成此功能。也可以用兩個(gè)函數(shù)調(diào)用語(yǔ)句來(lái)完成此功能。 /* 輸出顯示在不同行上輸出顯示在不同行上 ,版本,版本2*/ # include int main(void) printf(剛剛開(kāi)始學(xué)習(xí)剛剛開(kāi)始學(xué)習(xí)C語(yǔ)言語(yǔ)言!n ); /*調(diào)用函數(shù)輸出文字調(diào)用函數(shù)輸出文字 */ printf(不要著急不要著急!n); return 0; /* 返回返回1個(gè)整數(shù)個(gè)整數(shù)0 */ n轉(zhuǎn)義字符轉(zhuǎn)義字符“n”在在printf( )中起到了控制輸出顯示內(nèi)容在不同行上的功中起到了控制輸出顯示內(nèi)容在不同行上的功能,它使得光標(biāo)移到下一行的開(kāi)始位置,

7、如果連續(xù)使用,就可以得到能,它使得光標(biāo)移到下一行的開(kāi)始位置,如果連續(xù)使用,就可以得到空行的顯示效果??招械娘@示效果。 22 簡(jiǎn)單數(shù)據(jù)處理簡(jiǎn)單數(shù)據(jù)處理 案例案例2-3:計(jì)算實(shí)際銷(xiāo)售價(jià)格。:計(jì)算實(shí)際銷(xiāo)售價(jià)格。 某百貨商場(chǎng)讓利促銷(xiāo),某品牌的衣服打折銷(xiāo)售,每件某百貨商場(chǎng)讓利促銷(xiāo),某品牌的衣服打折銷(xiāo)售,每件衣服原價(jià)為衣服原價(jià)為358元,每件衣服的現(xiàn)售價(jià)格為原價(jià)的元,每件衣服的現(xiàn)售價(jià)格為原價(jià)的5/8折,折,即:即: 其中,其中,price為現(xiàn)價(jià),為現(xiàn)價(jià),old_price為原價(jià)。編寫(xiě)程序,計(jì)算為原價(jià)。編寫(xiě)程序,計(jì)算衣服的實(shí)際銷(xiāo)售價(jià)格,結(jié)果精確到元。運(yùn)行結(jié)果示例如圖衣服的實(shí)際銷(xiāo)售價(jià)格,結(jié)果精確到元。運(yùn)行結(jié)果

8、示例如圖2-3。priceoldprice_851案例案例2-3的源程序的源程序/* 計(jì)算現(xiàn)價(jià)計(jì)算現(xiàn)價(jià) */#include int main(void) int price, old_price; /* 定義定義2個(gè)整型變量,個(gè)整型變量,price表示現(xiàn)價(jià),表示現(xiàn)價(jià),old_price表示原價(jià)表示原價(jià) */ /* 空行,用于分隔變量定義和可執(zhí)行語(yǔ)句空行,用于分隔變量定義和可執(zhí)行語(yǔ)句 */ old_price = 358; /* 對(duì)變量對(duì)變量old_price 賦值賦值 */ price = 5 * old_price/ 8; /* 計(jì)算衣服的現(xiàn)價(jià)計(jì)算衣服的現(xiàn)價(jià) */ printf(原價(jià)原價(jià)

9、= %d元元, 現(xiàn)價(jià)現(xiàn)價(jià) = %d元元n, old_price, price); /* 輸出結(jié)果輸出結(jié)果 */ return 0;2歸納分析歸納分析nint price, old_price; 定義了兩個(gè)整型變量定義了兩個(gè)整型變量price和和old_price,分別表示衣服的現(xiàn)價(jià)和原價(jià)。,分別表示衣服的現(xiàn)價(jià)和原價(jià)。在在C語(yǔ)言中對(duì)變量一定要依照語(yǔ)言中對(duì)變量一定要依照“先定義后使用先定義后使用”的原則,在定義時(shí)確的原則,在定義時(shí)確定其數(shù)據(jù)類(lèi)型。定其數(shù)據(jù)類(lèi)型。 nC語(yǔ)言中在函數(shù)外面定義的全局變量或在函數(shù)內(nèi)定義的靜態(tài)局部變量,語(yǔ)言中在函數(shù)外面定義的全局變量或在函數(shù)內(nèi)定義的靜態(tài)局部變量,它們存放在程序

10、的靜態(tài)數(shù)據(jù)區(qū)。它們存放在程序的靜態(tài)數(shù)據(jù)區(qū)。C語(yǔ)言中在函數(shù)內(nèi)定義的自動(dòng)變量即語(yǔ)言中在函數(shù)內(nèi)定義的自動(dòng)變量即局部變量存放在程序的動(dòng)態(tài)數(shù)據(jù)區(qū),它們的有效范圍只局限于所在的局部變量存放在程序的動(dòng)態(tài)數(shù)據(jù)區(qū),它們的有效范圍只局限于所在的函數(shù)內(nèi)部。函數(shù)內(nèi)部。 nold_price = 358; price = 5 * old_price/ 8; 上述兩個(gè)語(yǔ)句均為賦值語(yǔ)句上述兩個(gè)語(yǔ)句均為賦值語(yǔ)句 ,把值賦給賦值號(hào),把值賦給賦值號(hào)“=”的左邊的變量中。的左邊的變量中。n函數(shù)函數(shù)printf( )的一般格式為的一般格式為printf(格式控制字符串,輸出參數(shù)格式控制字符串,輸出參數(shù)1,輸出,輸出參數(shù)參數(shù)2,, 輸

11、出參數(shù)輸出參數(shù)n),其中,格式控制字符串用雙引號(hào)括起來(lái),雙,其中,格式控制字符串用雙引號(hào)括起來(lái),雙引號(hào)中包括兩部分:格式控制說(shuō)明和普通字符。普通字符按原樣輸出;引號(hào)中包括兩部分:格式控制說(shuō)明和普通字符。普通字符按原樣輸出;格式控制說(shuō)明則對(duì)輸出數(shù)據(jù)指定具體輸出格式,本案例中格式控制說(shuō)明則對(duì)輸出數(shù)據(jù)指定具體輸出格式,本案例中%d為輸出為輸出整型數(shù)據(jù),類(lèi)似地,還有整型數(shù)據(jù),類(lèi)似地,還有%f輸出輸出float和和double型數(shù)據(jù),型數(shù)據(jù),%c輸出字符輸出字符型數(shù)據(jù),等等,輸出參數(shù)序列的次序與在雙引號(hào)里的格式控制說(shuō)明要型數(shù)據(jù),等等,輸出參數(shù)序列的次序與在雙引號(hào)里的格式控制說(shuō)明要一致,即輸出參數(shù)的類(lèi)型、

12、個(gè)數(shù)和位置要一一對(duì)應(yīng)。一致,即輸出參數(shù)的類(lèi)型、個(gè)數(shù)和位置要一一對(duì)應(yīng)。案例案例2-4:計(jì)算顧客的消費(fèi)金額。:計(jì)算顧客的消費(fèi)金額。 某百貨商場(chǎng)讓利促銷(xiāo),某品牌的衣服打折銷(xiāo)售,每件某百貨商場(chǎng)讓利促銷(xiāo),某品牌的衣服打折銷(xiāo)售,每件衣服的現(xiàn)售價(jià)格為原價(jià)的衣服的現(xiàn)售價(jià)格為原價(jià)的5/8折,輸入兩件衣服原價(jià),計(jì)折,輸入兩件衣服原價(jià),計(jì)算這兩件衣服共需要花費(fèi)的總金額。即:算這兩件衣服共需要花費(fèi)的總金額。即: 其中,其中,consume為消費(fèi)金額,為消費(fèi)金額,old_price1和和old_price2分別為兩件衣服的原價(jià)。編寫(xiě)程序,計(jì)算顧客的消費(fèi)金額,分別為兩件衣服的原價(jià)。編寫(xiě)程序,計(jì)算顧客的消費(fèi)金額,結(jié)果保留兩

13、位小數(shù)。運(yùn)行結(jié)果示例如圖結(jié)果保留兩位小數(shù)。運(yùn)行結(jié)果示例如圖2-4。 )2_1_(85priceoldpriceoldconsume1案例案例2-4的源程序的源程序/* 計(jì)算顧客的消費(fèi)金額計(jì)算顧客的消費(fèi)金額 */#include int main(void) /* 定義定義3個(gè)雙精度變量,個(gè)雙精度變量,consume表示消費(fèi)金額,表示消費(fèi)金額,old_price1,old_price2表示原價(jià)表示原價(jià) */ double consume, old_price1,old_price2; /* 空行,用于分隔變量定義和可執(zhí)行語(yǔ)句空行,用于分隔變量定義和可執(zhí)行語(yǔ)句 */ printf(請(qǐng)輸入兩件衣服的

14、原價(jià):請(qǐng)輸入兩件衣服的原價(jià):n); /輸入提示輸入提示 scanf(%lf%lf,&old_price1,&old_price2);/* 對(duì)變量對(duì)變量old_price1和和old_price2 賦值賦值 */ consume = (double)5/8 * (old_price1+old_price2); /* 計(jì)算顧客的消費(fèi)金額計(jì)算顧客的消費(fèi)金額 */ printf(第一件衣服原價(jià)第一件衣服原價(jià): %.2f元元n第二件衣服原價(jià)第二件衣服原價(jià):%.2f元元n,old_price1, old_price2); printf(n您的消費(fèi)金額為:您的消費(fèi)金額為:%.2f元元n,co

15、nsume); return 0;2歸納分析歸納分析n基本數(shù)據(jù)類(lèi)型包括整型(表示為基本數(shù)據(jù)類(lèi)型包括整型(表示為int)、字符型(表示為)、字符型(表示為char)、實(shí))、實(shí)型(表示為單精度型(表示為單精度f(wàn)loat、雙精度、雙精度double)、枚舉類(lèi)型(表示為)、枚舉類(lèi)型(表示為enum)。構(gòu)造類(lèi)型包括數(shù)組、結(jié)構(gòu)體和共同體。)。構(gòu)造類(lèi)型包括數(shù)組、結(jié)構(gòu)體和共同體。 n函數(shù)函數(shù)scanf( )通過(guò)鍵盤(pán)輸入數(shù)據(jù)通過(guò)鍵盤(pán)輸入數(shù)據(jù) ,和,和printf( )都是輸入輸出庫(kù)函數(shù)中都是輸入輸出庫(kù)函數(shù)中的函數(shù),在系統(tǒng)文件的函數(shù),在系統(tǒng)文件stdio.h中聲明。該函數(shù)的格式與中聲明。該函數(shù)的格式與printf

16、( )類(lèi)似:類(lèi)似:scanf(格式控制字符串,輸入?yún)?shù)格式控制字符串,輸入?yún)?shù)1,.,輸入?yún)?shù),輸入?yún)?shù)n),其中,格式,其中,格式控制字符串表示輸入的格式,輸入?yún)?shù)是變量的地址(需要在變量名控制字符串表示輸入的格式,輸入?yún)?shù)是變量的地址(需要在變量名前加上前加上&)。格式控制字符串與)。格式控制字符串與printf( )一樣,包括兩部分內(nèi)容:格一樣,包括兩部分內(nèi)容:格式控制說(shuō)明和普通字符。普通字符在輸入時(shí)要原樣輸入的字符,為了式控制說(shuō)明和普通字符。普通字符在輸入時(shí)要原樣輸入的字符,為了減少不必要的輸入,輸入時(shí)盡量不要出現(xiàn)普通字符的原樣輸入,如果減少不必要的輸入,輸入時(shí)盡量不要出現(xiàn)普通

17、字符的原樣輸入,如果意圖要作為提示的話,盡量依照本案例的方式,在意圖要作為提示的話,盡量依照本案例的方式,在scanf( )語(yǔ)句前增語(yǔ)句前增加一個(gè)函數(shù)加一個(gè)函數(shù)printf( )語(yǔ)句作為提示之用。語(yǔ)句作為提示之用。 n強(qiáng)制類(lèi)型轉(zhuǎn)換即在要進(jìn)行轉(zhuǎn)換的數(shù)據(jù)(或表達(dá)式)前用括號(hào)里表示其強(qiáng)制類(lèi)型轉(zhuǎn)換即在要進(jìn)行轉(zhuǎn)換的數(shù)據(jù)(或表達(dá)式)前用括號(hào)里表示其要轉(zhuǎn)換的類(lèi)型關(guān)鍵字,這樣就使該數(shù)據(jù)或表達(dá)式擁有了指定的數(shù)據(jù)類(lèi)要轉(zhuǎn)換的類(lèi)型關(guān)鍵字,這樣就使該數(shù)據(jù)或表達(dá)式擁有了指定的數(shù)據(jù)類(lèi)型參與運(yùn)算,而此轉(zhuǎn)換只是這次運(yùn)算的臨時(shí)行為,對(duì)數(shù)據(jù)定義時(shí)的類(lèi)型參與運(yùn)算,而此轉(zhuǎn)換只是這次運(yùn)算的臨時(shí)行為,對(duì)數(shù)據(jù)定義時(shí)的類(lèi)型并沒(méi)有改變。型并沒(méi)有

18、改變。 n%.2f表示對(duì)表示對(duì)double型數(shù)據(jù)輸出時(shí)保留兩位小數(shù)。型數(shù)據(jù)輸出時(shí)保留兩位小數(shù)。 案例案例2-5:字符和字符串的輸出。:字符和字符串的輸出。 從鍵盤(pán)輸入車(chē)牌號(hào),以字符接收,再?gòu)逆I盤(pán)輸入車(chē)牌號(hào),以字符接收,再輸出它們。運(yùn)行結(jié)果示例如圖輸出它們。運(yùn)行結(jié)果示例如圖2-5。1案例案例2-5的源程序的源程序/* 從鍵盤(pán)輸入車(chē)牌號(hào),再輸出它們。從鍵盤(pán)輸入車(chē)牌號(hào),再輸出它們。 */#include int main(void) char c1,c2,c3,c4,c5,c6; /* 定義定義6個(gè)字符型變量,接收六位車(chē)牌號(hào)個(gè)字符型變量,接收六位車(chē)牌號(hào) */ printf(請(qǐng)輸入車(chē)牌號(hào)請(qǐng)輸入車(chē)牌號(hào)(

19、后六位后六位):n); /輸入提示輸入提示 scanf(%c%c%c%c%c%c,&c1,&c2,&c3,&c4,&c5,&c6); /* 鍵盤(pán)輸入六位號(hào)鍵盤(pán)輸入六位號(hào) */ printf(%s %c%c%c%c%c%cn,車(chē)牌號(hào)為:京車(chē)牌號(hào)為:京,c1,c2,c3,c4,c5,c6); return 0;2歸納分析歸納分析 n字符類(lèi)型的格式說(shuō)明符為字符類(lèi)型的格式說(shuō)明符為“%c”。字符常量是用。字符常量是用單引號(hào)括起來(lái)的單個(gè)字符單引號(hào)括起來(lái)的單個(gè)字符 。n字符串常量是由一對(duì)雙引號(hào)括起來(lái)的字符序列組字符串常量是由一對(duì)雙引號(hào)括起來(lái)的字符序列組成成 。

20、n字符常量只占一個(gè)字節(jié)的內(nèi)存單元,而字符串常字符常量只占一個(gè)字節(jié)的內(nèi)存單元,而字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符個(gè)數(shù)加量占的內(nèi)存字節(jié)數(shù)等于字符串中字符個(gè)數(shù)加1,增加的一個(gè)字節(jié)中存放字符串的結(jié)束標(biāo)志增加的一個(gè)字節(jié)中存放字符串的結(jié)束標(biāo)志“0” 。n格式控制說(shuō)明符格式控制說(shuō)明符“%s”表示輸出一個(gè)字符串。表示輸出一個(gè)字符串。 案例案例2-6:把大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母輸出。:把大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母輸出。 通過(guò)鍵盤(pán)輸入一個(gè)大寫(xiě)字母,把其轉(zhuǎn)換為通過(guò)鍵盤(pán)輸入一個(gè)大寫(xiě)字母,把其轉(zhuǎn)換為小寫(xiě)字母后輸出。運(yùn)行結(jié)果示例如圖小寫(xiě)字母后輸出。運(yùn)行結(jié)果示例如圖2-6。1案例案例2-6的源程序的源程序/* 大寫(xiě)字母轉(zhuǎn)

21、換為小寫(xiě)字母。大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。 */#include int main(void) /* 定義字符型變量,定義字符型變量,lower_letter表示小寫(xiě)字母,表示小寫(xiě)字母,upper_letter表示大寫(xiě)字母表示大寫(xiě)字母 */ char lower_letter,upper_letter; /* 空行,用于分隔變量定義和可執(zhí)行語(yǔ)句空行,用于分隔變量定義和可執(zhí)行語(yǔ)句 */ printf(請(qǐng)輸入一個(gè)大寫(xiě)字母:請(qǐng)輸入一個(gè)大寫(xiě)字母:n); /輸入提示輸入提示 upper_letter=getchar(); /* 調(diào)用函數(shù)調(diào)用函數(shù)getchar()從鍵盤(pán)接收一個(gè)字符從鍵盤(pán)接收一個(gè)字符*/ lo

22、wer_letter=upper_letter-A+a; /*把大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母把大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母*/* 調(diào)用調(diào)用printf函數(shù)輸出結(jié)果函數(shù)輸出結(jié)果 */ printf(大寫(xiě)字母:大寫(xiě)字母:%c 轉(zhuǎn)換為小寫(xiě)字母:轉(zhuǎn)換為小寫(xiě)字母:%cn,upper_letter,lower_letter); return 0;2歸納分析歸納分析n函數(shù)函數(shù)getchar()和和putchar()也是輸入輸出函數(shù),也是輸入輸出函數(shù),使用它們時(shí)需要在程序的開(kāi)頭給出編譯預(yù)處理命使用它們時(shí)需要在程序的開(kāi)頭給出編譯預(yù)處理命令令#include。函數(shù)。函數(shù)getchar()的功能是的功能是從鍵盤(pán)上輸入一個(gè)字符,

23、由它接收。從鍵盤(pán)上輸入一個(gè)字符,由它接收。n無(wú)論是大寫(xiě)字母還是小寫(xiě)字母以及數(shù)字字符,在無(wú)論是大寫(xiě)字母還是小寫(xiě)字母以及數(shù)字字符,在ASCII碼中它們是以相鄰次序排列的碼中它們是以相鄰次序排列的 。 lower_letter=upper_letter-A+a ; upper_letter =lower_letter -a+A;23 有選擇條件的數(shù)據(jù)處理有選擇條件的數(shù)據(jù)處理 案例案例2-7:給蘋(píng)果箱貼標(biāo)簽:給蘋(píng)果箱貼標(biāo)簽。 蘋(píng)果園中的蘋(píng)果按等級(jí)裝箱,若蘋(píng)果的重量大于等蘋(píng)果園中的蘋(píng)果按等級(jí)裝箱,若蘋(píng)果的重量大于等于于1.5斤放入特級(jí)箱,每公斤價(jià)格為斤放入特級(jí)箱,每公斤價(jià)格為5.8元;否則放入普通元;否

24、則放入普通箱,每公斤價(jià)格為箱,每公斤價(jià)格為3.5元。編寫(xiě)程序,從每箱抽樣,根據(jù)元。編寫(xiě)程序,從每箱抽樣,根據(jù)蘋(píng)果等級(jí)給蘋(píng)果箱帖上價(jià)格標(biāo)簽。運(yùn)行結(jié)果示例如圖蘋(píng)果等級(jí)給蘋(píng)果箱帖上價(jià)格標(biāo)簽。運(yùn)行結(jié)果示例如圖2-7。 1案例案例2-7的源程序的源程序/* 蘋(píng)果箱貼標(biāo)簽蘋(píng)果箱貼標(biāo)簽*/# include int main(void) double apple, price; /* 定義定義2個(gè)雙精度浮點(diǎn)型變量個(gè)雙精度浮點(diǎn)型變量 */ printf(請(qǐng)輸入蘋(píng)果的重量請(qǐng)輸入蘋(píng)果的重量:n); /* 輸入提示輸入提示 */ scanf(%lf, &apple); /*調(diào)用調(diào)用scanf函數(shù)輸入數(shù)據(jù),函

25、數(shù)輸入數(shù)據(jù),%lf中的中的l是是long的首字母的首字母*/ /* ifelse語(yǔ)句語(yǔ)句 */ if (apple= 1.5) price = 3.5; printf(此箱每個(gè)蘋(píng)果重量小于此箱每個(gè)蘋(píng)果重量小于%.1f斤斤n , apple ); else price = 5.8; printf(此箱每個(gè)蘋(píng)果重量大于等于此箱每個(gè)蘋(píng)果重量大于等于%.1f斤斤n , apple); printf(每公斤每公斤 %.2f元元n, price); /* 調(diào)用調(diào)用printf函數(shù)輸出結(jié)果函數(shù)輸出結(jié)果 */ return 0;2歸納分析歸納分析nIf-else語(yǔ)句,語(yǔ)句, 如果括號(hào)中的條件表達(dá)式如果括號(hào)中的

26、條件表達(dá)式apple=1.5為真,則執(zhí)行其后的為真,則執(zhí)行其后的語(yǔ)句語(yǔ)句;如果括號(hào)中的條件表達(dá)式如果括號(hào)中的條件表達(dá)式apple=1.5為假,則執(zhí)行為假,則執(zhí)行else后的語(yǔ)句后的語(yǔ)句 : if (apple= 1.5) price = 3.5; printf(此箱每個(gè)蘋(píng)果重量小于此箱每個(gè)蘋(píng)果重量小于%.1f斤斤n , apple ); else price = 5.8; printf(此箱每個(gè)蘋(píng)果重量大于等于此箱每個(gè)蘋(píng)果重量大于等于%.1f斤斤n , apple); n由于特級(jí)蘋(píng)果是少數(shù),因此把它的處理放到由于特級(jí)蘋(píng)果是少數(shù),因此把它的處理放到else分支(條件表達(dá)式為假),分支(條件表達(dá)式

27、為假),而普通級(jí)蘋(píng)果較多,因此放在而普通級(jí)蘋(píng)果較多,因此放在if分支(條件表達(dá)式為真)處理分支(條件表達(dá)式為真)處理。 n選擇結(jié)構(gòu)有三種基本形式:選擇結(jié)構(gòu)有三種基本形式:if結(jié)構(gòu)(單選擇)、結(jié)構(gòu)(單選擇)、if-else結(jié)構(gòu)結(jié)構(gòu)(雙分支選擇雙分支選擇)和和switch(多重選擇多重選擇) 。案例案例2-8:誰(shuí)是優(yōu)勝者。:誰(shuí)是優(yōu)勝者。 在運(yùn)動(dòng)會(huì)的立定跳遠(yuǎn)比賽中,還有兩名運(yùn)動(dòng)員甲和乙在運(yùn)動(dòng)會(huì)的立定跳遠(yuǎn)比賽中,還有兩名運(yùn)動(dòng)員甲和乙在角逐。根據(jù)兩個(gè)人的最后成績(jī)決定誰(shuí)是冠軍,假設(shè)兩個(gè)在角逐。根據(jù)兩個(gè)人的最后成績(jī)決定誰(shuí)是冠軍,假設(shè)兩個(gè)人的成績(jī)不同,請(qǐng)輸出冠軍的成績(jī)。成績(jī)保留兩位小數(shù),人的成績(jī)不同,請(qǐng)輸出冠

28、軍的成績(jī)。成績(jī)保留兩位小數(shù),單位為米。運(yùn)行結(jié)果示例如圖單位為米。運(yùn)行結(jié)果示例如圖2-8。1案例案例2-8的源程序的源程序/* 輸出冠軍成績(jī)輸出冠軍成績(jī) */#include int main(void) /* 定義定義distance_1,distance_2分別表示兩名運(yùn)動(dòng)員的成績(jī),分別表示兩名運(yùn)動(dòng)員的成績(jī),max表示冠軍成表示冠軍成績(jī)績(jī) */ double distance_1,distance_2; double max; /* 空行,用于分隔變量定義和可執(zhí)行語(yǔ)句空行,用于分隔變量定義和可執(zhí)行語(yǔ)句 */ printf(請(qǐng)輸入兩名運(yùn)動(dòng)員的成績(jī):請(qǐng)輸入兩名運(yùn)動(dòng)員的成績(jī):n); /輸入提示輸入

29、提示 scanf(%lf%lf,&distance_1,&distance_2); /* 調(diào)用調(diào)用scanf()從鍵盤(pán)接收兩個(gè)從鍵盤(pán)接收兩個(gè)成績(jī)成績(jī) */ max=(distance_1distance_2)?distance_1:distance_2; /*使用條件運(yùn)算符把兩個(gè)成績(jī)中的大者賦給使用條件運(yùn)算符把兩個(gè)成績(jī)中的大者賦給max*/ printf(冠軍的成績(jī)?yōu)椋汗谲姷某煽?jī)?yōu)椋?.2f 米米n,max); /* 調(diào)用調(diào)用printf函數(shù)輸出結(jié)果函數(shù)輸出結(jié)果 */ return 0;2歸納分析歸納分析 條件運(yùn)算符為三目運(yùn)算符條件運(yùn)算符為三目運(yùn)算符“?:?:”,這是,這是C語(yǔ)

30、句中唯一的語(yǔ)句中唯一的三目運(yùn)算符。其格式如下:三目運(yùn)算符。其格式如下: 表達(dá)式表達(dá)式1?表達(dá)式?表達(dá)式2:表達(dá)式:表達(dá)式3 條件運(yùn)算符的運(yùn)算過(guò)程是:若表達(dá)式條件運(yùn)算符的運(yùn)算過(guò)程是:若表達(dá)式1(判斷條件)的結(jié)(判斷條件)的結(jié)果為真,則運(yùn)算的結(jié)果是表達(dá)式果為真,則運(yùn)算的結(jié)果是表達(dá)式2的值;若表達(dá)式的值;若表達(dá)式1的結(jié)果的結(jié)果為假,則運(yùn)算的結(jié)果為表達(dá)式為假,則運(yùn)算的結(jié)果為表達(dá)式3的值。的值。表達(dá)式表達(dá)式1 1條件表達(dá)式條件表達(dá)式取表達(dá)式取表達(dá)式2 2的值的值條件表達(dá)式條件表達(dá)式取表達(dá)式取表達(dá)式3 3的值的值YN24 有重復(fù)操作的數(shù)據(jù)處理有重復(fù)操作的數(shù)據(jù)處理 n案例案例2-9:統(tǒng)計(jì)調(diào)查參賽人員的平均年

31、齡:統(tǒng)計(jì)調(diào)查參賽人員的平均年齡。 某模特大賽共有某模特大賽共有10人進(jìn)入決賽,統(tǒng)計(jì)參賽人員的人進(jìn)入決賽,統(tǒng)計(jì)參賽人員的平均年齡。運(yùn)行結(jié)果示例如圖平均年齡。運(yùn)行結(jié)果示例如圖2-10。 1案例案例2-9的源程序的源程序/*統(tǒng)計(jì)參賽人員的平均年齡統(tǒng)計(jì)參賽人員的平均年齡 */#include int main(void) int i, age,sum,aver_age; sum = 0; /* 置累加和置累加和sum的初值為的初值為0 */ for (i = 1; i = 10; i+) /* 循環(huán)執(zhí)行循環(huán)執(zhí)行10次次 */ printf(請(qǐng)輸入第請(qǐng)輸入第 %d 個(gè)人的年齡:個(gè)人的年齡:,i); /輸

32、入提示輸入提示 scanf(%d,&age); /*輸入一個(gè)人的年齡輸入一個(gè)人的年齡*/ sum = sum + age; /* 反復(fù)累加年齡的值反復(fù)累加年齡的值 */ aver_age=sum/10; /求平均年齡求平均年齡 printf(10名參賽人員的平均年齡為:名參賽人員的平均年齡為: %d n, aver_age); /* 輸出平均年齡輸出平均年齡 */ return 0;2 歸納分析歸納分析for語(yǔ)句的一般形式為:語(yǔ)句的一般形式為: for(表達(dá)式表達(dá)式1; 表達(dá)式表達(dá)式2 ;表達(dá)式;表達(dá)式3) 循環(huán)體語(yǔ)句;循環(huán)體語(yǔ)句;for語(yǔ)句的功能是:首先計(jì)算表達(dá)式語(yǔ)句的功能是:首先計(jì)

33、算表達(dá)式1;然后把表達(dá);然后把表達(dá)式式2作為條件進(jìn)行判斷,若其值為真,則執(zhí)行循作為條件進(jìn)行判斷,若其值為真,則執(zhí)行循環(huán)語(yǔ)句,接著計(jì)算表達(dá)式環(huán)語(yǔ)句,接著計(jì)算表達(dá)式3,然后繼續(xù)循環(huán);若,然后繼續(xù)循環(huán);若其值為假,則結(jié)束循環(huán),執(zhí)行其值為假,則結(jié)束循環(huán),執(zhí)行for語(yǔ)句的下一條語(yǔ)語(yǔ)句的下一條語(yǔ)句。句。for語(yǔ)句的循環(huán)體語(yǔ)句如果超過(guò)一條,則需要語(yǔ)句的循環(huán)體語(yǔ)句如果超過(guò)一條,則需要用花括號(hào)把它們括起來(lái)形成復(fù)合語(yǔ)句。用花括號(hào)把它們括起來(lái)形成復(fù)合語(yǔ)句。說(shuō)明:說(shuō)明:n賦值語(yǔ)句賦值語(yǔ)句sum = sum + age;中賦值號(hào)中賦值號(hào)“=”右側(cè)的右側(cè)的表達(dá)式中的表達(dá)式中的sum與左側(cè)的變量與左側(cè)的變量sum意義是不同

34、的,意義是不同的,右側(cè)的右側(cè)的sum是取其值與是取其值與age求和運(yùn)算,運(yùn)算的結(jié)求和運(yùn)算,運(yùn)算的結(jié)果(和)再賦給變量果(和)再賦給變量sum,這時(shí),這時(shí)sum里有了新值,里有了新值,在循環(huán)體中反復(fù)這樣做,就使得變量在循環(huán)體中反復(fù)這樣做,就使得變量sum里存放里存放了多次累加的和,因此稱(chēng)了多次累加的和,因此稱(chēng)sum為累加器。為累加器。n自增或自減運(yùn)算符是單目運(yùn)算符,其操作對(duì)象必自增或自減運(yùn)算符是單目運(yùn)算符,其操作對(duì)象必須是變量,不能是常量或表達(dá)式。須是變量,不能是常量或表達(dá)式。+i(或(或-i) 的運(yùn)算規(guī)則:先執(zhí)行的運(yùn)算規(guī)則:先執(zhí)行i=i+1(或或i=i-1),再將,再將i的值作為表達(dá)式的值作為表達(dá)式+i(或或-i)的值。的值。i+(或(或i-)的運(yùn)算規(guī)則:先將)的運(yùn)算規(guī)則:先將i的值作為表達(dá)式的值作為表達(dá)式i+(或(或i-)的值,再執(zhí)行)的值,再執(zhí)行i=i+1。案例案例2-10:超市收銀臺(tái)的收款程序。:超市收銀臺(tái)的收款程序。 某小超市的收銀臺(tái)要求對(duì)每位顧客購(gòu)買(mǎi)的商品進(jìn)行驗(yàn)收,某小超市的收銀臺(tái)要求對(duì)每位顧客購(gòu)買(mǎi)的商品進(jìn)行驗(yàn)收,同時(shí)計(jì)算出顧客的消費(fèi)金額。編寫(xiě)程序,完成對(duì)每個(gè)商品同時(shí)計(jì)算出顧客的消費(fèi)金額。編寫(xiě)程序,完成對(duì)每個(gè)商品價(jià)格的輸入,輸入完成時(shí)輸入價(jià)格的輸入,輸入完成時(shí)輸入-1,計(jì)算該顧客的消費(fèi)總金

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論