




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Chap 2 用C語言編寫程序 2.1 在屏幕上顯示 Hello World!2.2 求華氏溫度 100F 對應(yīng)的攝氏溫度2.3 計算分段函數(shù)2.4 輸出華氏攝氏溫度轉(zhuǎn)換表2.5 生成乘方表與階乘表 本章要點 怎樣編寫程序,在屏幕上顯示一些信息? 怎樣編寫程序,實現(xiàn)簡單的數(shù)據(jù)處理,例如將華氏溫度轉(zhuǎn)換為攝氏溫度? 怎樣使用 if 語句計算分段函數(shù)? 怎樣用 for 語句求 1+2+100? 如何定義和調(diào)用函數(shù)生成一張乘方表?2.1 在屏幕上顯示Hello World! 例2-1 在屏幕上顯示一個短句:Hello World!2.1 在屏幕上顯示Hello World!/* 顯示“Hello Wo
2、rld!” */ 注釋文本 # include int main(void) 主函數(shù) printf(“Hello World! n”); 語句結(jié)束 return 0; 輸出函數(shù) 換行符1.任何程序都有主函數(shù)2.程序由若干語句組成3.語句由;結(jié)束2.1 在屏幕上顯示一些信息例2-2 在屏幕上顯示:Programming is fun!And Programming in C is even more fun!# include int main(void) printf(Programming is fun! n); printf(And Programming in C is even mor
3、e fun! n); return 0; 2.2 求華氏溫度 100F 對應(yīng)的攝氏溫度 攝氏溫度 C=(5/9)(F-32)2.2.1 程序解析2.2.2 常量、變量和數(shù)據(jù)類型2.2.3 算術(shù)運算和賦值運算2.2.4 格式化輸出函數(shù)printf2.2.1 程序解析例2-3 求華氏溫度 100F 對應(yīng)的攝氏溫度。 C=5*(F-32)/9 #include int main(void) /*定義兩個整形變量celsius表示攝氏度,fahr表示華氏度*/ int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; printf(fa
4、hr = %d, celsius = %dn, fahr, celsius);輸出結(jié)果 return 0;輸出: :fahr =100, celsius = 37變量使用2.2.2 常量、變量和數(shù)據(jù)類型int celsius, fahr; celsius = 5 * (fahr - 32) / 9;數(shù)據(jù) 常量:在程序運行過程中,其值不能被改變常量:在程序運行過程中,其值不能被改變 變量:在程序運行過程中,其值可以被改變變量:在程序運行過程中,其值可以被改變 數(shù)據(jù)類型 常量:常量:5 5 和和 9 9是整型常量(整數(shù))是整型常量(整數(shù)) 變量:在定義時指定變量:在定義時指定變量的定義變量定義的一
5、般形式:類型名類型名 變量名表;變量名表;例如:intint celsius, fahr; celsius, fahr; 定義整型變量定義整型變量floatfloat x; x; 定義單精度浮定義單精度浮點型變量點型變量doubledouble area, length; area, length; 定義雙精度浮點型變量定義雙精度浮點型變量doubledouble型數(shù)據(jù)比型數(shù)據(jù)比floatfloat精度高,取值范圍大精度高,取值范圍大 變量名:小寫字母;見名知義變量的定義 定義變量時要指定變量名和數(shù)據(jù)類型類型名類型名 變量名表;變量名表;intint celsius, fahr; celsiu
6、s, fahr; floatfloat x; x;doubledouble area, length; area, length; 變量名代表內(nèi)存中的一個存儲單元存放該變量的值存放該變量的值 該存儲單元的大小由變量的數(shù)據(jù)類型決定改造例2-3,使其溫度顯示能顯示小數(shù)部分變量的定義與使用變量必須先定義,后使用。#include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius); return 0;一個
7、變量名只能定義一次變量一般都定義在程序的頭上不能定義在程序的中間或后面應(yīng)該先賦值,后引用2.2.3 算術(shù)運算和賦值運算fahr fahr = = 100; 100; celsius = 5 celsius = 5 * * (fahr (fahr - - 32) 32) / / 9; 9; 1、算術(shù)運算 雙目算術(shù)運算符:雙目算術(shù)運算符:+ - + - * * / % / % 算術(shù)表達式:用算術(shù)表達式:用算術(shù)運算符算術(shù)運算符將將運算對象運算對象連接起來的符連接起來的符合合C C語言語法規(guī)則的式子語言語法規(guī)則的式子 數(shù)學式:數(shù)學式:5 5(F-32) /9 (F-32) /9 C C表達式:表達式:
8、數(shù)學式:數(shù)學式:s(s-a)(s-b)(s-c)s(s-a)(s-b)(s-c)C C表達式:表達式:s s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c)(s-c)5 * (fahr - 32) / 9 算術(shù)運算 雙目算術(shù)運算符:雙目算術(shù)運算符:+ - + - * * / % / % 算術(shù)表達式:用算術(shù)表達式:用算術(shù)運算符算術(shù)運算符將將運算對象運算對象連接起來的符連接起來的符合合C C語言語法規(guī)則的式子語言語法規(guī)則的式子 注意 / 整數(shù)除整數(shù),得整數(shù)如:如:1/2 1/2 0 0,9/4 9/4 2 2 ?5 5 * * ( (fahr - 32) / 9 fahr -
9、32) / 9 和和 5 / 9 5 / 9 * * (fahr - 32) (fahr - 32) 等等價嗎價嗎 % 針對整型數(shù)據(jù)如:如: 5 56 65 5,9 94 41 1,1001004 40 0 雙目運算符兩側(cè)操作數(shù)的類型要相同賦值運算 賦值運算符 = 賦值表達式:用 = 將一個變量和一個表達式連接起來的式子 變量變量 表達式表達式例如:fahr = 100; fahr = 100; celsius = 5 celsius = 5 * * (fahr - 32) / 9; (fahr - 32) / 9; 計算賦值運算符右側(cè)計算賦值運算符右側(cè)表達式表達式的值的值1.1.將賦值運算符
10、右側(cè)將賦值運算符右側(cè)表達式表達式的值賦給左側(cè)的的值賦給左側(cè)的變量變量的左邊必須是一個變量2.2.4 格式化輸出函數(shù)printf數(shù)據(jù)輸出:格式化輸出函數(shù) printf #include printf(Hello World! n);printf(Hello World! n);printf(fahr = %d, celsius = %dn, fahr, celsius);printf(fahr = %d, celsius = %dn, fahr, celsius);printf(格式控制字符串, 輸出參數(shù)1, , 輸出參數(shù)n);用雙引號括起來,表示輸出的格式要輸出的數(shù)據(jù)printf格式控制字符串
11、printf(格式控制字符串, 輸出參數(shù)1, , 輸出參數(shù)n);格式控制字符串: 普通字符:原樣輸出普通字符:原樣輸出 格式控制說明格式控制說明: :按指定的格式輸出數(shù)據(jù)按指定的格式輸出數(shù)據(jù), ,% %與數(shù)據(jù)類型有關(guān) int型 :%d float double型:%fint x=6;printf(9/5=%d ,3.4is%f ,x+3=%d,9/5,3.4,x+3);2.2 求華氏溫度 100F 對應(yīng)的攝氏溫度 攝氏溫度 C=(5/9)(F-32)相關(guān)知識: 常量、變量和數(shù)據(jù)類型 算術(shù)運算和賦值運算 格式化輸出函數(shù)printf2.3 計算分段函數(shù) 2.3.1 程序解析2.3.2 關(guān)系運算2.
12、3.3 if-else語句2.3.4 格式化輸入函數(shù)scanf2.3.5 常用數(shù)學庫函數(shù)2.3.1 程序解析例2-4 分段計算水費輸入用戶的月用水量x(噸),計算并輸出該用戶應(yīng)支付的水費y(元)(保留2位小數(shù)) 要解決的問題: 輸入輸入 計算分段函數(shù)計算分段函數(shù) 輸出,并保留輸出,并保留2 2位小數(shù)位小數(shù)415( )32.510.515xxyf xxx2.3.1 程序解析求分段函數(shù) #include int main(void) double x, y; printf(Enter x (x=0):n); /* 輸入提示 */ scanf(%lf, &x); /* 調(diào)用scanf函數(shù)輸入
13、數(shù)據(jù) */ if(x =0):9.5f(9.500000)=12.67Enter x (x=0):15f(15.000000)=20.00Enter x (x=0):21.3f(21.300000)=42.752.3.2 關(guān)系運算x x = = 1515比較 x 和 15 的大小比較的結(jié)果:真 假 關(guān)系運算符x x y x y x = y x y x = y x y x !=!= y y 關(guān)系表達式:用關(guān)系運算符將2個表達式連接起來的式子。區(qū)分= 和=2.3.3 if - else語句ifif ( (表達式表達式) ) 語句語句1 1elseelse 語句語句2 2if(x = 15) y =
14、 4 * x / 3; else y = 2.5 * x - 10.5;語句1表達式語句2真假計算二分段函數(shù) if (表達式) 語句1else 語句2if(x != 0) y = 1/x;else y = 0;10( )00 xf xxx軟件測試的基本思想 軟件測試精心設(shè)計一批精心設(shè)計一批測試用例測試用例 輸入數(shù)據(jù),預期輸出結(jié)果輸入數(shù)據(jù),預期輸出結(jié)果 ,然后分別,然后分別用這些測試用例運行程序,看程序的實際運行結(jié)果與預期輸出用這些測試用例運行程序,看程序的實際運行結(jié)果與預期輸出結(jié)果是否一致。結(jié)果是否一致。input x:2.5f(2.50)=0.4input x:0f(0.00)=0.0if(
15、x != 0) y = 1/x;else y = 0;if(x =0):9.5f(9.500000)=12.67Enter x (x=0):15f(15.000000)=20.00Enter x (x=0):21.3f(21.300000)=42.752.3.4 格式化輸入函數(shù)scanf數(shù)據(jù)輸入:格式化輸入函數(shù) scanf #include scanf(%lf, &x);scanf(%lf, &x);scanf(格式控制字符串, 輸入?yún)?shù)1, , 輸入?yún)?shù)n);用雙引號括起來,表示輸入的格式變量地址scanf格式控制字符串scanf(格式控制字符串, 輸入?yún)?shù)1, , 輸入?yún)?shù)
16、n); 格式控制字符串 按指定的格式輸入數(shù)據(jù), %與數(shù)據(jù)類型有關(guān)與數(shù)據(jù)類型有關(guān) intint型型 :%d%d floatfloat型:型:%f%f doubledouble型:型:%lf%lf輸入: : 9.5例如:例如:scanf(%lf, &x);例2-5 計算存款的本息輸入存款金額輸入存款金額 money money、存期、存期 year year 和年利率和年利率 rate rate,根,根據(jù)公式計算存款到期時的本息合計據(jù)公式計算存款到期時的本息合計sumsum(稅前),輸(稅前),輸出時保留出時保留2 2位小數(shù)。位小數(shù)。sum = money ( 1 + rate)sum =
17、 money ( 1 + rate)yearyearsum = money * pow(1 + rate), year)2.3.5 常用數(shù)學庫函數(shù) 庫函數(shù) C C語言處理系統(tǒng)提供事先編好的函數(shù),供用戶在編程時語言處理系統(tǒng)提供事先編好的函數(shù),供用戶在編程時調(diào)用。調(diào)用。scanf(), printf(), exp()scanf(), printf(), exp() 在相應(yīng)的系統(tǒng)文件(頭文件)中定義一些必需的信息。在相應(yīng)的系統(tǒng)文件(頭文件)中定義一些必需的信息。 #include命令 用戶調(diào)用庫函數(shù)時,將相應(yīng)的頭文件包含到源程序中。用戶調(diào)用庫函數(shù)時,將相應(yīng)的頭文件包含到源程序中。例如 調(diào)用調(diào)用sca
18、nf, printfscanf, printf,需要,需要 #include #include 調(diào)用調(diào)用powpow,需要,需要 #include #include 常用數(shù)學庫函數(shù) 平方根函數(shù) sqrt(x) 絕對值函數(shù) fabs(x)fabs(-3.56) fabs(-3.56) 的值為的值為3.563.56 冪函數(shù) pow(x, n) :xnpow(1.1, 2) pow(1.1, 2) 的值為的值為1.211.21(即(即1.121.12) 例2-5 程序# include # include int main(void) int money, year; double rate, su
19、m; printf(“Enter money:); scanf(%d, &money); printf(“Enter year: ); scanf(%d, &year); printf(“Enter rate:); scanf(%lf, &rate); sum = money * pow(1 + rate), year); printf(sum = %.2f, sum); return 0;Enter money: 1000Enter year: 3Enter rate: 0.025sum = 1076.89scanf(%d%d%lf, &money, &
20、;year, &rate);調(diào)用scanf函數(shù)輸入多個數(shù)據(jù)scanf(scanf(%d%d%d%d%lf%lf, , &money&money, &year, , &year, &rate&rate); ); 輸入:輸入:10001000 3 3 0.0250.025 程序運行時,輸入的多個數(shù)據(jù)之間必須有間隔。 scanf需要多個輸入?yún)?shù)和多個格式控制說明輸入?yún)?shù)的類型、個數(shù)和位置要與格式控制說明一一對應(yīng)輸入?yún)?shù)的類型、個數(shù)和位置要與格式控制說明一一對應(yīng) scanf( scanf(%d%d%lf%lf%d , %d , &mone
21、y&money, &year, , &year, &rate&rate););改進例2-3的程序例2-3 求華氏溫度 100F 對應(yīng)的攝氏溫度。攝氏溫度攝氏溫度 C=5C=5* *(F-32)/9 (F-32)/9 #include #include int main(void)int main(void) int int celsiuscelsius, fahr;, fahr; fahr = 100; fahr = 100; celsius = 5 celsius = 5 * * (fahr - 32) / 9; (fahr - 32) / 9; pr
22、intf(fahr = %d, celsius = %dn, fahr, celsius); printf(fahr = %d, celsius = %dn, fahr, celsius); return 0; return 0; 2.4 輸出華氏攝氏溫度轉(zhuǎn)換表2.4.1 程序解析2.4.2 for語句2.4.3 指定次數(shù)的循環(huán)程序設(shè)計2.4.1 程序解析例2-6輸入2個整數(shù)lower和 upper,輸出一張華氏攝氏溫度轉(zhuǎn)換表,華氏溫度的取值范圍是lower, upper,每次增加1F。 fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35
23、1.7例例2-3升級版升級版2.4.1 程序解析-溫度轉(zhuǎn)換表#include #include int main(void)int main(void) int fahr, lower, upper; int fahr, lower, upper; double celsius; double celsius; printf(Enter lower:); printf(Enter lower:); scanf(%d, &lower); scanf(%d, &lower); printf(Enter upper:); printf(Enter upper:); scanf(%d,
24、 &upper); scanf(%d, &upper); printf(fahr celsiusn); printf(fahr celsiusn);/ 溫度重復轉(zhuǎn)換:華氏溫度從lower開始,到upper結(jié)束,每次增加1F for (fahr = lower; fahr = upper; fahr +)for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) celsius = (5.0 / 9.0) * * (fahr - 32); (fahr - 32); printf(%4d %6.1fn, fahr,
25、celsius); printf(%4d %6.1fn, fahr, celsius); return 0; return 0; fahr = fahr+1Enter lower: 30Enter upper: 35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7例2-6中for語句的流程for (fahr = lower; fahr = upper; fahr +)for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) celsius = (5.0 / 9.0
26、) * * (fahr - (fahr - 32); 32); printf(% printf(%4 4d %6.1fn, fahr, d %6.1fn, fahr, celsius); celsius); Enter lower: 30Enter upper: 35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7forfor( (表達式1 1;表達式2 2;表達式3 3) ) 循環(huán)體語句實現(xiàn)C語句的重復執(zhí)行2.4.2 for語句循環(huán)語句3個表達式、循環(huán)體語句!書寫順序和執(zhí)行順序不同!表達式1只執(zhí)行一次循環(huán)(控制)變量:for語句
27、中,通過改變或判斷某個變量的值來控制循環(huán)的執(zhí)行for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) celsius = (5.0 / 9.0) * * (fahr - 32.0); (fahr - 32.0); printf(%printf(%4 4d %6.1fn, fahr, celsius); d %6.1fn, fahr, celsius); for語句中的循環(huán)變量賦初值判斷其值改變其值for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) ce
28、lsius = (5.0 / 9.0) * * (fahr - 32.0); (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); printf(%d %6.1fn, fahr, celsius); 表達式1:給循環(huán)變量賦初值,指定循環(huán)的起點。fahr = lowerfahr = lower表達式2:給出循環(huán)的條件,判斷循環(huán)是否達到終點?fahr = upperfahr = upper表達式3:設(shè)置循環(huán)的步長,改變循環(huán)變量的值,從而可改變表達式2的真假性。fahr+fahr+循環(huán)體語句:被反復執(zhí)行的語句,一條語句。for語句的說明 celsius = (5.0 / 9.0) celsius = (5.0 / 9.0) * * (fahr - 32.0); (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); printf(%d %6.1fn, fahr, celsius); for (fahr = lower ; fahr = upper; fahr = fahr + 1) celsius = (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年需求開發(fā)面試題及答案
- 6年級上冊數(shù)學位置與方向知識點
- 5年數(shù)學公式口袋書
- 低密度脂肪蛋白0.6
- c++ 繼承 構(gòu)造析構(gòu)順序
- 重點營業(yè)線施工方案
- 2025年上海工程技術(shù)大學單招職業(yè)適應(yīng)性測試題庫1套
- 2025年包頭職業(yè)技術(shù)學院單招職業(yè)傾向性測試題庫及參考答案
- 2025年甘肅警察職業(yè)學院單招職業(yè)傾向性測試題庫新版
- 2025年蘇州托普信息職業(yè)技術(shù)學院單招職業(yè)技能測試題庫完美版
- (已壓縮)礦產(chǎn)資源儲量技術(shù)標準解讀300問-1-90
- 電工(高級技師)理論知識試題庫+參考答案
- 滬教版小學五年級數(shù)學上冊教案 全冊
- 《新時代大學生勞動教育與實踐》全套教學課件
- 《鐵路軌道維護》課件-道岔起道作業(yè)
- 煤礦班隊長培訓
- 精神病物理治療
- 北京化工大學《電路與模擬電子技術(shù)》2021-2022學年第一學期期末試卷
- 如何發(fā)現(xiàn)腎臟病
- GB/T 44537-2024精細陶瓷室溫斷裂韌性試驗方法表面裂紋彎曲梁(SCF)法
- 證券分析(第6版)下部
評論
0/150
提交評論