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

下載本文檔

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

文檔簡介

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

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

3、d) /*主函數(shù)主函數(shù)main */ printf(我愛你,中國我愛你,中國!n); /* 調(diào)用調(diào)用printf函數(shù)輸出文字函數(shù)輸出文字 */ return 0; /* 返回返回1個整數(shù)個整數(shù)0 */c程序設(shè)計案例匯編2歸納分析歸納分析n用用/*和和*/包含或用包含或用/開頭的文本部分稱為程序注釋。開頭的文本部分稱為程序注釋。 n# include 這是一個編譯預(yù)處理命令,用于包含頭文件這是一個編譯預(yù)處理命令,用于包含頭文件stdio.h(即(即標(biāo)準(zhǔn)輸入輸出函數(shù)的頭文件)。在源程序中調(diào)用的標(biāo)準(zhǔn)輸入輸出函數(shù)的頭文件)。在源程序中調(diào)用的printf( )函數(shù)是函數(shù)是C語言庫函數(shù),在系統(tǒng)頭文件語言庫

4、函數(shù),在系統(tǒng)頭文件stdio.h中聲明,因此中聲明,因此在源程序開頭用在源程序開頭用#include把它包含進(jìn)來。把它包含進(jìn)來。nmain( )函數(shù)是函數(shù)是C語言的主函數(shù),每個語言的主函數(shù),每個C語言程序都是從語言程序都是從main( )開始執(zhí)行的,它是啟動函數(shù)的入口,必須有且只開始執(zhí)行的,它是啟動函數(shù)的入口,必須有且只有一個有一個main( )函數(shù)。函數(shù)。 n“n”是轉(zhuǎn)義字符,表示換行。是轉(zhuǎn)義字符,表示換行。n說明:雙引號、分號必須使用半角狀態(tài)下的符號說明:雙引號、分號必須使用半角狀態(tài)下的符號c程序設(shè)計案例匯編案例案例2-2:控制輸出內(nèi)容使其顯示在不同的行。:控制輸出內(nèi)容使其顯示在不同的行。

5、 在屏幕上輸出兩句話在屏幕上輸出兩句話“剛剛開始學(xué)習(xí)剛剛開始學(xué)習(xí)C語語言言”,“不要著急!不要著急!”。每句顯示在不同的行上。每句顯示在不同的行上。程序運行結(jié)果的輸出示例如圖程序運行結(jié)果的輸出示例如圖2-2。c程序設(shè)計案例匯編1案例案例2-2的源程序的源程序/* 輸出顯示在不同行上輸出顯示在不同行上 ,版本,版本1*/ # include int main(void) /*主函數(shù)主函數(shù)main */ printf(剛剛開始學(xué)習(xí)剛剛開始學(xué)習(xí)C語言語言!n不要著急不要著急!n); /*調(diào)用函數(shù)輸出文字調(diào)用函數(shù)輸出文字 */ return 0; /* 返回返回1個整數(shù)個整數(shù)0 */c程序設(shè)計案例匯編

6、2歸納分析歸納分析 nprintf( )函數(shù)調(diào)用中按原樣輸出的字符串部分,在兩句話中間增加換函數(shù)調(diào)用中按原樣輸出的字符串部分,在兩句話中間增加換行符,此處用轉(zhuǎn)義字符行符,此處用轉(zhuǎn)義字符“n”來實現(xiàn)。來實現(xiàn)。 n也可以用兩個函數(shù)調(diào)用語句來完成此功能。也可以用兩個函數(shù)調(diào)用語句來完成此功能。 /* 輸出顯示在不同行上輸出顯示在不同行上 ,版本,版本2*/ # include int main(void) printf(剛剛開始學(xué)習(xí)剛剛開始學(xué)習(xí)C語言語言!n ); /*調(diào)用函數(shù)輸出文字調(diào)用函數(shù)輸出文字 */ printf(不要著急不要著急!n); return 0; /* 返回返回1個整數(shù)個整數(shù)0 *

7、/ n轉(zhuǎn)義字符轉(zhuǎn)義字符“n”在在printf( )中起到了控制輸出顯示內(nèi)容在不同行上的功中起到了控制輸出顯示內(nèi)容在不同行上的功能,它使得光標(biāo)移到下一行的開始位置,如果連續(xù)使用,就可以得到能,它使得光標(biāo)移到下一行的開始位置,如果連續(xù)使用,就可以得到空行的顯示效果??招械娘@示效果。 c程序設(shè)計案例匯編22 簡單數(shù)據(jù)處理簡單數(shù)據(jù)處理 案例案例2-3:計算實際銷售價格。:計算實際銷售價格。 某百貨商場讓利促銷,某品牌的衣服打折銷售,每件某百貨商場讓利促銷,某品牌的衣服打折銷售,每件衣服原價為衣服原價為358元,每件衣服的現(xiàn)售價格為原價的元,每件衣服的現(xiàn)售價格為原價的5/8折,折,即:即: 其中,其中,

8、price為現(xiàn)價,為現(xiàn)價,old_price為原價。編寫程序,計算為原價。編寫程序,計算衣服的實際銷售價格,結(jié)果精確到元。運行結(jié)果示例如圖衣服的實際銷售價格,結(jié)果精確到元。運行結(jié)果示例如圖2-3。priceoldprice_85c程序設(shè)計案例匯編1案例案例2-3的源程序的源程序/* 計算現(xiàn)價計算現(xiàn)價 */#include int main(void) int price, old_price; /* 定義定義2個整型變量,個整型變量,price表示現(xiàn)價,表示現(xiàn)價,old_price表示原價表示原價 */ /* 空行,用于分隔變量定義和可執(zhí)行語句空行,用于分隔變量定義和可執(zhí)行語句 */ old_

9、price = 358; /* 對變量對變量old_price 賦值賦值 */ price = 5 * old_price/ 8; /* 計算衣服的現(xiàn)價計算衣服的現(xiàn)價 */ printf(原價原價 = %d元元, 現(xiàn)價現(xiàn)價 = %d元元n, old_price, price); /* 輸出結(jié)果輸出結(jié)果 */ return 0;c程序設(shè)計案例匯編2歸納分析歸納分析nint price, old_price; 定義了兩個整型變量定義了兩個整型變量price和和old_price,分別表示衣服的現(xiàn)價和原價。,分別表示衣服的現(xiàn)價和原價。在在C語言中對變量一定要依照語言中對變量一定要依照“先定義后使用先

10、定義后使用”的原則,在定義時確的原則,在定義時確定其數(shù)據(jù)類型。定其數(shù)據(jù)類型。 nC語言中在函數(shù)外面定義的全局變量或在函數(shù)內(nèi)定義的靜態(tài)局部變量,語言中在函數(shù)外面定義的全局變量或在函數(shù)內(nèi)定義的靜態(tài)局部變量,它們存放在程序的靜態(tài)數(shù)據(jù)區(qū)。它們存放在程序的靜態(tài)數(shù)據(jù)區(qū)。C語言中在函數(shù)內(nèi)定義的自動變量即語言中在函數(shù)內(nèi)定義的自動變量即局部變量存放在程序的動態(tài)數(shù)據(jù)區(qū),它們的有效范圍只局限于所在的局部變量存放在程序的動態(tài)數(shù)據(jù)區(qū),它們的有效范圍只局限于所在的函數(shù)內(nèi)部。函數(shù)內(nèi)部。 nold_price = 358; price = 5 * old_price/ 8; 上述兩個語句均為賦值語句上述兩個語句均為賦值語句

11、,把值賦給賦值號,把值賦給賦值號“=”的左邊的變量中。的左邊的變量中。n函數(shù)函數(shù)printf( )的一般格式為的一般格式為printf(格式控制字符串,輸出參數(shù)格式控制字符串,輸出參數(shù)1,輸出,輸出參數(shù)參數(shù)2,, 輸出參數(shù)輸出參數(shù)n),其中,格式控制字符串用雙引號括起來,雙,其中,格式控制字符串用雙引號括起來,雙引號中包括兩部分:格式控制說明和普通字符。普通字符按原樣輸出;引號中包括兩部分:格式控制說明和普通字符。普通字符按原樣輸出;格式控制說明則對輸出數(shù)據(jù)指定具體輸出格式,本案例中格式控制說明則對輸出數(shù)據(jù)指定具體輸出格式,本案例中%d為輸出為輸出整型數(shù)據(jù),類似地,還有整型數(shù)據(jù),類似地,還有%

12、f輸出輸出float和和double型數(shù)據(jù),型數(shù)據(jù),%c輸出字符輸出字符型數(shù)據(jù),等等,輸出參數(shù)序列的次序與在雙引號里的格式控制說明要型數(shù)據(jù),等等,輸出參數(shù)序列的次序與在雙引號里的格式控制說明要一致,即輸出參數(shù)的類型、個數(shù)和位置要一一對應(yīng)。一致,即輸出參數(shù)的類型、個數(shù)和位置要一一對應(yīng)。c程序設(shè)計案例匯編案例案例2-4:計算顧客的消費金額。:計算顧客的消費金額。 某百貨商場讓利促銷,某品牌的衣服打折銷售,每件某百貨商場讓利促銷,某品牌的衣服打折銷售,每件衣服的現(xiàn)售價格為原價的衣服的現(xiàn)售價格為原價的5/8折,輸入兩件衣服原價,計折,輸入兩件衣服原價,計算這兩件衣服共需要花費的總金額。即:算這兩件衣服

13、共需要花費的總金額。即: 其中,其中,consume為消費金額,為消費金額,old_price1和和old_price2分別為兩件衣服的原價。編寫程序,計算顧客的消費金額,分別為兩件衣服的原價。編寫程序,計算顧客的消費金額,結(jié)果保留兩位小數(shù)。運行結(jié)果示例如圖結(jié)果保留兩位小數(shù)。運行結(jié)果示例如圖2-4。 )2_1_(85priceoldpriceoldconsumec程序設(shè)計案例匯編1案例案例2-4的源程序的源程序/* 計算顧客的消費金額計算顧客的消費金額 */#include int main(void) /* 定義定義3個雙精度變量,個雙精度變量,consume表示消費金額,表示消費金額,ol

14、d_price1,old_price2表示原價表示原價 */ double consume, old_price1,old_price2; /* 空行,用于分隔變量定義和可執(zhí)行語句空行,用于分隔變量定義和可執(zhí)行語句 */ printf(請輸入兩件衣服的原價:請輸入兩件衣服的原價:n); /輸入提示輸入提示 scanf(%lf%lf,&old_price1,&old_price2);/* 對變量對變量old_price1和和old_price2 賦值賦值 */ consume = (double)5/8 * (old_price1+old_price2); /* 計算顧客的消費金

15、額計算顧客的消費金額 */ printf(第一件衣服原價第一件衣服原價: %.2f元元n第二件衣服原價第二件衣服原價:%.2f元元n,old_price1, old_price2); printf(n您的消費金額為:您的消費金額為:%.2f元元n,consume); return 0;c程序設(shè)計案例匯編2歸納分析歸納分析n基本數(shù)據(jù)類型包括整型(表示為基本數(shù)據(jù)類型包括整型(表示為int)、字符型(表示為)、字符型(表示為char)、實)、實型(表示為單精度型(表示為單精度float、雙精度、雙精度double)、枚舉類型(表示為)、枚舉類型(表示為enum)。構(gòu)造類型包括數(shù)組、結(jié)構(gòu)體和共同體。)

16、。構(gòu)造類型包括數(shù)組、結(jié)構(gòu)體和共同體。 n函數(shù)函數(shù)scanf( )通過鍵盤輸入數(shù)據(jù)通過鍵盤輸入數(shù)據(jù) ,和,和printf( )都是輸入輸出庫函數(shù)中都是輸入輸出庫函數(shù)中的函數(shù),在系統(tǒng)文件的函數(shù),在系統(tǒng)文件stdio.h中聲明。該函數(shù)的格式與中聲明。該函數(shù)的格式與printf( )類似:類似:scanf(格式控制字符串,輸入?yún)?shù)格式控制字符串,輸入?yún)?shù)1,.,輸入?yún)?shù),輸入?yún)?shù)n),其中,格式,其中,格式控制字符串表示輸入的格式,輸入?yún)?shù)是變量的地址(需要在變量名控制字符串表示輸入的格式,輸入?yún)?shù)是變量的地址(需要在變量名前加上前加上&)。格式控制字符串與)。格式控制字符串與printf(

17、)一樣,包括兩部分內(nèi)容:格一樣,包括兩部分內(nèi)容:格式控制說明和普通字符。普通字符在輸入時要原樣輸入的字符,為了式控制說明和普通字符。普通字符在輸入時要原樣輸入的字符,為了減少不必要的輸入,輸入時盡量不要出現(xiàn)普通字符的原樣輸入,如果減少不必要的輸入,輸入時盡量不要出現(xiàn)普通字符的原樣輸入,如果意圖要作為提示的話,盡量依照本案例的方式,在意圖要作為提示的話,盡量依照本案例的方式,在scanf( )語句前增語句前增加一個函數(shù)加一個函數(shù)printf( )語句作為提示之用。語句作為提示之用。 n強制類型轉(zhuǎn)換即在要進(jìn)行轉(zhuǎn)換的數(shù)據(jù)(或表達(dá)式)前用括號里表示其強制類型轉(zhuǎn)換即在要進(jìn)行轉(zhuǎn)換的數(shù)據(jù)(或表達(dá)式)前用括號

18、里表示其要轉(zhuǎn)換的類型關(guān)鍵字,這樣就使該數(shù)據(jù)或表達(dá)式擁有了指定的數(shù)據(jù)類要轉(zhuǎn)換的類型關(guān)鍵字,這樣就使該數(shù)據(jù)或表達(dá)式擁有了指定的數(shù)據(jù)類型參與運算,而此轉(zhuǎn)換只是這次運算的臨時行為,對數(shù)據(jù)定義時的類型參與運算,而此轉(zhuǎn)換只是這次運算的臨時行為,對數(shù)據(jù)定義時的類型并沒有改變。型并沒有改變。 n%.2f表示對表示對double型數(shù)據(jù)輸出時保留兩位小數(shù)。型數(shù)據(jù)輸出時保留兩位小數(shù)。 c程序設(shè)計案例匯編案例案例2-5:字符和字符串的輸出。:字符和字符串的輸出。 從鍵盤輸入車牌號,以字符接收,再從鍵盤輸入車牌號,以字符接收,再輸出它們。運行結(jié)果示例如圖輸出它們。運行結(jié)果示例如圖2-5。c程序設(shè)計案例匯編1案例案例2-

19、5的源程序的源程序/* 從鍵盤輸入車牌號,再輸出它們。從鍵盤輸入車牌號,再輸出它們。 */#include int main(void) char c1,c2,c3,c4,c5,c6; /* 定義定義6個字符型變量,接收六位車牌號個字符型變量,接收六位車牌號 */ printf(請輸入車牌號請輸入車牌號(后六位后六位):n); /輸入提示輸入提示 scanf(%c%c%c%c%c%c,&c1,&c2,&c3,&c4,&c5,&c6); /* 鍵盤輸入六位號鍵盤輸入六位號 */ printf(%s %c%c%c%c%c%cn,車牌號為:京車牌號為:

20、京,c1,c2,c3,c4,c5,c6); return 0;c程序設(shè)計案例匯編2歸納分析歸納分析 n字符類型的格式說明符為字符類型的格式說明符為“%c”。字符常量是用。字符常量是用單引號括起來的單個字符單引號括起來的單個字符 。n字符串常量是由一對雙引號括起來的字符序列組字符串常量是由一對雙引號括起來的字符序列組成成 。n字符常量只占一個字節(jié)的內(nèi)存單元,而字符串常字符常量只占一個字節(jié)的內(nèi)存單元,而字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符個數(shù)加量占的內(nèi)存字節(jié)數(shù)等于字符串中字符個數(shù)加1,增加的一個字節(jié)中存放字符串的結(jié)束標(biāo)志增加的一個字節(jié)中存放字符串的結(jié)束標(biāo)志“0” 。n格式控制說明符格式控制說明

21、符“%s”表示輸出一個字符串。表示輸出一個字符串。 c程序設(shè)計案例匯編案例案例2-6:把大寫字母轉(zhuǎn)換為小寫字母輸出。:把大寫字母轉(zhuǎn)換為小寫字母輸出。 通過鍵盤輸入一個大寫字母,把其轉(zhuǎn)換為通過鍵盤輸入一個大寫字母,把其轉(zhuǎn)換為小寫字母后輸出。運行結(jié)果示例如圖小寫字母后輸出。運行結(jié)果示例如圖2-6。c程序設(shè)計案例匯編1案例案例2-6的源程序的源程序/* 大寫字母轉(zhuǎn)換為小寫字母。大寫字母轉(zhuǎn)換為小寫字母。 */#include int main(void) /* 定義字符型變量,定義字符型變量,lower_letter表示小寫字母,表示小寫字母,upper_letter表示大寫字母表示大寫字母 */ c

22、har lower_letter,upper_letter; /* 空行,用于分隔變量定義和可執(zhí)行語句空行,用于分隔變量定義和可執(zhí)行語句 */ printf(請輸入一個大寫字母:請輸入一個大寫字母:n); /輸入提示輸入提示 upper_letter=getchar(); /* 調(diào)用函數(shù)調(diào)用函數(shù)getchar()從鍵盤接收一個字符從鍵盤接收一個字符*/ lower_letter=upper_letter-A+a; /*把大寫字母轉(zhuǎn)換為小寫字母把大寫字母轉(zhuǎn)換為小寫字母*/* 調(diào)用調(diào)用printf函數(shù)輸出結(jié)果函數(shù)輸出結(jié)果 */ printf(大寫字母:大寫字母:%c 轉(zhuǎn)換為小寫字母:轉(zhuǎn)換為小寫字母

23、:%cn,upper_letter,lower_letter); return 0;c程序設(shè)計案例匯編2歸納分析歸納分析n函數(shù)函數(shù)getchar()和和putchar()也是輸入輸出函數(shù),也是輸入輸出函數(shù),使用它們時需要在程序的開頭給出編譯預(yù)處理命使用它們時需要在程序的開頭給出編譯預(yù)處理命令令#include。函數(shù)。函數(shù)getchar()的功能是的功能是從鍵盤上輸入一個字符,由它接收。從鍵盤上輸入一個字符,由它接收。n無論是大寫字母還是小寫字母以及數(shù)字字符,在無論是大寫字母還是小寫字母以及數(shù)字字符,在ASCII碼中它們是以相鄰次序排列的碼中它們是以相鄰次序排列的 。 lower_letter=

24、upper_letter-A+a ; upper_letter =lower_letter -a+A;c程序設(shè)計案例匯編23 有選擇條件的數(shù)據(jù)處理有選擇條件的數(shù)據(jù)處理 案例案例2-7:給蘋果箱貼標(biāo)簽:給蘋果箱貼標(biāo)簽。 蘋果園中的蘋果按等級裝箱,若蘋果的重量大于等蘋果園中的蘋果按等級裝箱,若蘋果的重量大于等于于1.5斤放入特級箱,每公斤價格為斤放入特級箱,每公斤價格為5.8元;否則放入普通元;否則放入普通箱,每公斤價格為箱,每公斤價格為3.5元。編寫程序,從每箱抽樣,根據(jù)元。編寫程序,從每箱抽樣,根據(jù)蘋果等級給蘋果箱帖上價格標(biāo)簽。運行結(jié)果示例如圖蘋果等級給蘋果箱帖上價格標(biāo)簽。運行結(jié)果示例如圖2-

25、7。 c程序設(shè)計案例匯編1案例案例2-7的源程序的源程序/* 蘋果箱貼標(biāo)簽蘋果箱貼標(biāo)簽*/# include int main(void) double apple, price; /* 定義定義2個雙精度浮點型變量個雙精度浮點型變量 */ printf(請輸入蘋果的重量請輸入蘋果的重量:n); /* 輸入提示輸入提示 */ scanf(%lf, &apple); /*調(diào)用調(diào)用scanf函數(shù)輸入數(shù)據(jù),函數(shù)輸入數(shù)據(jù),%lf中的中的l是是long的首字母的首字母*/ /* ifelse語句語句 */ if (apple= 1.5) price = 3.5; printf(此箱每個蘋果重量小

26、于此箱每個蘋果重量小于%.1f斤斤n , apple ); else price = 5.8; printf(此箱每個蘋果重量大于等于此箱每個蘋果重量大于等于%.1f斤斤n , apple); printf(每公斤每公斤 %.2f元元n, price); /* 調(diào)用調(diào)用printf函數(shù)輸出結(jié)果函數(shù)輸出結(jié)果 */ return 0;c程序設(shè)計案例匯編2歸納分析歸納分析nIf-else語句,語句, 如果括號中的條件表達(dá)式如果括號中的條件表達(dá)式apple=1.5為真,則執(zhí)行其后的為真,則執(zhí)行其后的語句語句;如果括號中的條件表達(dá)式如果括號中的條件表達(dá)式apple=1.5為假,則執(zhí)行為假,則執(zhí)行else

27、后的語句后的語句 : if (apple= 1.5) price = 3.5; printf(此箱每個蘋果重量小于此箱每個蘋果重量小于%.1f斤斤n , apple ); else price = 5.8; printf(此箱每個蘋果重量大于等于此箱每個蘋果重量大于等于%.1f斤斤n , apple); n由于特級蘋果是少數(shù),因此把它的處理放到由于特級蘋果是少數(shù),因此把它的處理放到else分支(條件表達(dá)式為假),分支(條件表達(dá)式為假),而普通級蘋果較多,因此放在而普通級蘋果較多,因此放在if分支(條件表達(dá)式為真)處理分支(條件表達(dá)式為真)處理。 n選擇結(jié)構(gòu)有三種基本形式:選擇結(jié)構(gòu)有三種基本形式

28、:if結(jié)構(gòu)(單選擇)、結(jié)構(gòu)(單選擇)、if-else結(jié)構(gòu)結(jié)構(gòu)(雙分支選擇雙分支選擇)和和switch(多重選擇多重選擇) 。c程序設(shè)計案例匯編案例案例2-8:誰是優(yōu)勝者。:誰是優(yōu)勝者。 在運動會的立定跳遠(yuǎn)比賽中,還有兩名運動員甲和乙在運動會的立定跳遠(yuǎn)比賽中,還有兩名運動員甲和乙在角逐。根據(jù)兩個人的最后成績決定誰是冠軍,假設(shè)兩個在角逐。根據(jù)兩個人的最后成績決定誰是冠軍,假設(shè)兩個人的成績不同,請輸出冠軍的成績。成績保留兩位小數(shù),人的成績不同,請輸出冠軍的成績。成績保留兩位小數(shù),單位為米。運行結(jié)果示例如圖單位為米。運行結(jié)果示例如圖2-8。c程序設(shè)計案例匯編1案例案例2-8的源程序的源程序/* 輸出冠

29、軍成績輸出冠軍成績 */#include int main(void) /* 定義定義distance_1,distance_2分別表示兩名運動員的成績,分別表示兩名運動員的成績,max表示冠軍成表示冠軍成績績 */ double distance_1,distance_2; double max; /* 空行,用于分隔變量定義和可執(zhí)行語句空行,用于分隔變量定義和可執(zhí)行語句 */ printf(請輸入兩名運動員的成績:請輸入兩名運動員的成績:n); /輸入提示輸入提示 scanf(%lf%lf,&distance_1,&distance_2); /* 調(diào)用調(diào)用scanf()從鍵

30、盤接收兩個從鍵盤接收兩個成績成績 */ max=(distance_1distance_2)?distance_1:distance_2; /*使用條件運算符把兩個成績中的大者賦給使用條件運算符把兩個成績中的大者賦給max*/ printf(冠軍的成績?yōu)椋汗谲姷某煽優(yōu)椋?.2f 米米n,max); /* 調(diào)用調(diào)用printf函數(shù)輸出結(jié)果函數(shù)輸出結(jié)果 */ return 0;c程序設(shè)計案例匯編2歸納分析歸納分析 條件運算符為三目運算符條件運算符為三目運算符“?:?:”,這是,這是C語句中唯一的語句中唯一的三目運算符。其格式如下:三目運算符。其格式如下: 表達(dá)式表達(dá)式1?表達(dá)式?表達(dá)式2:表達(dá)式:

31、表達(dá)式3 條件運算符的運算過程是:若表達(dá)式條件運算符的運算過程是:若表達(dá)式1(判斷條件)的結(jié)(判斷條件)的結(jié)果為真,則運算的結(jié)果是表達(dá)式果為真,則運算的結(jié)果是表達(dá)式2的值;若表達(dá)式的值;若表達(dá)式1的結(jié)果的結(jié)果為假,則運算的結(jié)果為表達(dá)式為假,則運算的結(jié)果為表達(dá)式3的值。的值。表達(dá)式表達(dá)式1 1條件表達(dá)式條件表達(dá)式取表達(dá)式取表達(dá)式2 2的值的值條件表達(dá)式條件表達(dá)式取表達(dá)式取表達(dá)式3 3的值的值YNc程序設(shè)計案例匯編24 有重復(fù)操作的數(shù)據(jù)處理有重復(fù)操作的數(shù)據(jù)處理 n案例案例2-9:統(tǒng)計調(diào)查參賽人員的平均年齡:統(tǒng)計調(diào)查參賽人員的平均年齡。 某模特大賽共有某模特大賽共有10人進(jìn)入決賽,統(tǒng)計參賽人員的人進(jìn)

32、入決賽,統(tǒng)計參賽人員的平均年齡。運行結(jié)果示例如圖平均年齡。運行結(jié)果示例如圖2-10。 c程序設(shè)計案例匯編1案例案例2-9的源程序的源程序/*統(tǒng)計參賽人員的平均年齡統(tǒng)計參賽人員的平均年齡 */#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(請輸入第請輸入第 %d 個人的年齡:個人的年齡:,i); /輸入提示輸入提示 scanf(%d,&age); /*輸入一個人的年齡輸

33、入一個人的年齡*/ sum = sum + age; /* 反復(fù)累加年齡的值反復(fù)累加年齡的值 */ aver_age=sum/10; /求平均年齡求平均年齡 printf(10名參賽人員的平均年齡為:名參賽人員的平均年齡為: %d n, aver_age); /* 輸出平均年齡輸出平均年齡 */ return 0;c程序設(shè)計案例匯編2 歸納分析歸納分析for語句的一般形式為:語句的一般形式為: for(表達(dá)式表達(dá)式1; 表達(dá)式表達(dá)式2 ;表達(dá)式;表達(dá)式3) 循環(huán)體語句;循環(huán)體語句;for語句的功能是:首先計算表達(dá)式語句的功能是:首先計算表達(dá)式1;然后把表達(dá);然后把表達(dá)式式2作為條件進(jìn)行判斷,若

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論