




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Chap 2 用用C語言編寫程序語言編寫程序 2.1 在屏幕上表現(xiàn)在屏幕上表現(xiàn) Hello World!2.2 求華氏溫度求華氏溫度 100F 對應(yīng)的攝氏溫度對應(yīng)的攝氏溫度2.3 統(tǒng)計(jì)分段函數(shù)統(tǒng)計(jì)分段函數(shù)2.4 輸出華氏輸出華氏攝氏溫度變形表攝氏溫度變形表2.5 生成乘方表與階乘表生成乘方表與階乘表 本章要點(diǎn)本章要點(diǎn)n如何編寫程序如何編寫程序,在屏幕上表現(xiàn)部分信息?在屏幕上表現(xiàn)部分信息?n如何編寫程序如何編寫程序,實(shí)現(xiàn)簡單的信息操作實(shí)現(xiàn)簡單的信息操作,例似將例似將華氏溫度變形為攝氏溫度?華氏溫度變形為攝氏溫度?n如何使用如何使用 if 語句統(tǒng)計(jì)分段函數(shù)?語句統(tǒng)計(jì)分段函數(shù)?n如何用如何用 for
2、 語句求語句求 1+2+100?n似何定義和調(diào)用函數(shù)生成一張乘方表?似何定義和調(diào)用函數(shù)生成一張乘方表?2.1 在屏幕上表現(xiàn)在屏幕上表現(xiàn)Hello World! 例例2-1 在屏幕上表現(xiàn)一個短句在屏幕上表現(xiàn)一個短句:Hello World!2.1 在屏幕上表現(xiàn)在屏幕上表現(xiàn)Hello World!* 表現(xiàn)表現(xiàn)“Hello World!” * 注釋文本注釋文本 # include int main(void) 主函數(shù)主函數(shù) printf(“Hello World! n”); 語句結(jié)束語句結(jié)束 return 0; 輸出函數(shù)輸出函數(shù) 換行符換行符1.任何程序都有主函數(shù)任何程序都有主函數(shù)2.程序由如果干語
3、句組程序由如果干語句組成成3.語句由;結(jié)束語句由;結(jié)束2.1 在屏幕上表現(xiàn)部分信息在屏幕上表現(xiàn)部分信息例例2-2 在屏幕上表現(xiàn)在屏幕上表現(xiàn):Programming is fun!And Programming in C is even more fun!# include 編譯預(yù)操作號令編譯預(yù)操作號令int main(void) printf(Programming is fun! n); printf(And Programming in C is even more fun! n); return 0; 2.2 求華氏溫度求華氏溫度 100F 對應(yīng)的對應(yīng)的攝氏溫度攝氏溫度 n攝氏溫度攝氏溫
4、度 C=(59)(F-32)n2.2.1 程序解析程序解析n2.2.2 常量、變量和信息類型常量、變量和信息類型n2.2.3 算術(shù)運(yùn)算和賦值運(yùn)算算術(shù)運(yùn)算和賦值運(yùn)算n2.2.4 標(biāo)準(zhǔn)化輸出函數(shù)標(biāo)準(zhǔn)化輸出函數(shù)printf2.2.1 程序解析程序解析例例2-3 求華氏溫度求華氏溫度 100F 對應(yīng)的攝氏溫度對應(yīng)的攝氏溫度.攝氏溫度攝氏溫度 C=(59)(F-32) #include int main(void) int celsius, fahr; 變量定義變量定義 fahr = 100; 變量使用變量使用 celsius = 5 * (fahr - 32) 9; printf(fahr = %d,
5、 celsius = %dn, fahr, celsius);輸出結(jié)論輸出結(jié)論 return 0;輸出輸出:fahr =100, celsius = :fahr =100, celsius = 37372.2.2 常量、變量和信息類型常量、變量和信息類型int celsius, fahr; celsius = 5 * (fahr - 32) 9;信息信息常量常量:在程序運(yùn)行環(huán)節(jié)中在程序運(yùn)行環(huán)節(jié)中,其值不能被改變其值不能被改變 變量變量:在程序運(yùn)行環(huán)節(jié)中在程序運(yùn)行環(huán)節(jié)中,其值能夠被改變其值能夠被改變 信息類型信息類型常量常量:5 和和 9是整型常量(整數(shù))是整型常量(整數(shù))變量變量:在定義時(shí)指定
6、在定義時(shí)指定變量的定義變量的定義變量定義的一樣形式變量定義的一樣形式:類型名類型名 變量名表;變量名表;例似例似:int celsius, fahr; 定義整型變量定義整型變量float x; 定義單精度浮點(diǎn)型定義單精度浮點(diǎn)型變量變量double area, length; 定義雙精度浮點(diǎn)型變定義雙精度浮點(diǎn)型變量量double型信息比型信息比float精度高精度高,取值范疇大取值范疇大 變量名變量名:小寫字母;見名知義小寫字母;見名知義變量的定義變量的定義n定義變量時(shí)要指定變量名和信息類型定義變量時(shí)要指定變量名和信息類型n類型名類型名 變量名表;變量名表;nint celsius, fahr;
7、 nfloat x;ndouble area, length;n變量名代表內(nèi)存中的一個存儲單元變量名代表內(nèi)存中的一個存儲單元n存放該變量的值存放該變量的值n該存儲單元的大小由變量的信息類型決意該存儲單元的大小由變量的信息類型決意nC語言中的變量代表保留信息的存儲單元語言中的變量代表保留信息的存儲單元n數(shù)學(xué)中的變量代表未知數(shù)數(shù)學(xué)中的變量代表未知數(shù) nx = x+1變量的定義與使用變量的定義與使用變量必須先定義變量必須先定義,后使用后使用.#include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32)
8、 9; printf(fahr = %d, celsius = %dn, fahr, celsius); return 0;一個變量名只能定義一次一個變量名只能定義一次變量一樣都定義在程序的額頭變量一樣都定義在程序的額頭不能定義在程序的中間或背面不能定義在程序的中間或背面應(yīng)該先賦值應(yīng)該先賦值, ,后引用后引用2.2.3 算術(shù)運(yùn)算和賦值運(yùn)算算術(shù)運(yùn)算和賦值運(yùn)算fahr = 100; celsius = 5 * (fahr - 32) 9; 1、算術(shù)運(yùn)算、算術(shù)運(yùn)算雙目算術(shù)運(yùn)算符雙目算術(shù)運(yùn)算符:+ - * %算術(shù)表達(dá)式算術(shù)表達(dá)式:用算術(shù)運(yùn)算符將運(yùn)算對象毗鄰起來用算術(shù)運(yùn)算符將運(yùn)算對象毗鄰起來的吻合的吻合
9、C語言語法法那么的式子語言語法法那么的式子 數(shù)學(xué)式數(shù)學(xué)式:(59)(F-32) C表達(dá)式表達(dá)式:5 * (fahr - 32) 9 大概大概:數(shù)學(xué)式數(shù)學(xué)式:s(s-a)(s-b)(s-c)C表達(dá)式表達(dá)式: s*(s-a)*(s-b)*(s-c)算術(shù)運(yùn)算算術(shù)運(yùn)算雙目算術(shù)運(yùn)算符雙目算術(shù)運(yùn)算符:+ - * %算術(shù)表達(dá)式算術(shù)表達(dá)式:用算術(shù)運(yùn)算符將運(yùn)算對象毗鄰起來用算術(shù)運(yùn)算符將運(yùn)算對象毗鄰起來的吻合的吻合C語言語法法那么的式子語言語法法那么的式子 注重注重 整數(shù)除整數(shù)整數(shù)除整數(shù),得整數(shù)得整數(shù)似似:12 0,94 2 ?5 * (fahr - 32) 9 和和 5 9 * (fahr - 32) 等價(jià)嗎等
10、價(jià)嗎% 面向整型信息面向整型信息似似: 565,941,10040雙目運(yùn)算符兩側(cè)操縱數(shù)的類型要一樣雙目運(yùn)算符兩側(cè)操縱數(shù)的類型要一樣賦值運(yùn)算賦值運(yùn)算n賦值運(yùn)算符賦值運(yùn)算符 =n賦值表達(dá)式賦值表達(dá)式:用用 = 將一個變量和一個表達(dá)式將一個變量和一個表達(dá)式毗鄰起來的式子毗鄰起來的式子 n變量變量 表達(dá)式表達(dá)式n例似例似:nfahr = 100; ncelsius = 5 * (fahr - 32) 9; n統(tǒng)計(jì)賦值運(yùn)算符右側(cè)表達(dá)式的值統(tǒng)計(jì)賦值運(yùn)算符右側(cè)表達(dá)式的值n將賦值運(yùn)算符右側(cè)表達(dá)式的值賦給左側(cè)的將賦值運(yùn)算符右側(cè)表達(dá)式的值賦給左側(cè)的變量變量的左邊必須是一個變量的左邊必須是一個變量2.2.4 標(biāo)準(zhǔn)化
11、輸出函數(shù)標(biāo)準(zhǔn)化輸出函數(shù)printf信息輸出信息輸出:標(biāo)準(zhǔn)化輸出函數(shù)標(biāo)準(zhǔn)化輸出函數(shù) printf #include printf(Hello World! n);printf(fahr = %d, celsius = %fn, fahr, celsius);printf(標(biāo)準(zhǔn)操縱字符串標(biāo)準(zhǔn)操縱字符串, 輸出指標(biāo)輸出指標(biāo)1, , 輸出指標(biāo)輸出指標(biāo)n);用雙引號括起來,示意輸出的標(biāo)準(zhǔn)要輸出的信息printf標(biāo)準(zhǔn)操縱字符串標(biāo)準(zhǔn)操縱字符串printf(Hello World! n); printf(fahr = %d, celsius = %dn, fahr, celsius);printf(Hin,
12、fahr);標(biāo)準(zhǔn)操縱字符串標(biāo)準(zhǔn)操縱字符串:一樣字符一樣字符:原樣輸出原樣輸出標(biāo)準(zhǔn)操縱講明標(biāo)準(zhǔn)操縱講明:按指定的標(biāo)準(zhǔn)輸出信息按指定的標(biāo)準(zhǔn)輸出信息,%與信息類型有關(guān)與信息類型有關(guān)int型型 :%dfloat double型型:%fprintf(fahr = %d, celsius = %dn, fahr, celsius);輸出輸出:fahr =100, celsius = :fahr =100, celsius = 37372.3 統(tǒng)計(jì)分段函數(shù)統(tǒng)計(jì)分段函數(shù) 2.3.1 程序解析程序解析2.3.2 關(guān)系運(yùn)算關(guān)系運(yùn)算2.3.3 if-else語句語句2.3.4 標(biāo)準(zhǔn)化輸入函數(shù)標(biāo)準(zhǔn)化輸入函數(shù)scanf
13、2.3.5 常用數(shù)學(xué)庫函數(shù)常用數(shù)學(xué)庫函數(shù)2.3.1 程序解析程序解析例例2-4 分段統(tǒng)計(jì)水費(fèi)分段統(tǒng)計(jì)水費(fèi)要解決的咨詢題要解決的咨詢題:輸入輸入統(tǒng)計(jì)分段函數(shù)統(tǒng)計(jì)分段函數(shù)輸出輸出,同時(shí)保留同時(shí)保留2位小數(shù)位小數(shù) 415( )32.510.515xxyf xxx2.3.1 程序解析求分段函數(shù)程序解析求分段函數(shù) #include int main(void) double x, y; printf(Enter x (x=0):n); * 輸入提示輸入提示 * scanf(%lf, &x); * 調(diào)用調(diào)用scanf函數(shù)輸入信息函數(shù)輸入信息 * if(x =0):9.5Y=f(9.500000)=
14、12.67Enter x (x=0):15f(15.000000)=20.00信息必須輸入嗎?信息必須輸入嗎?Enter x (x=0):21.3f(21.300000)=42.752.3.2 關(guān)系運(yùn)算關(guān)系運(yùn)算x = 15對比對比 x 和和 15 的大小的大小對比的結(jié)論對比的結(jié)論:真真 假假當(dāng)當(dāng) x 取值取值9.5時(shí)時(shí), x = 15的結(jié)論是的結(jié)論是:?當(dāng)當(dāng) x 取值取值21.3時(shí)時(shí), x = 15的結(jié)論是的結(jié)論是:? 關(guān)系運(yùn)算關(guān)系運(yùn)算 對比運(yùn)算對比運(yùn)算,對比兩個操縱數(shù)對比兩個操縱數(shù)關(guān)系運(yùn)算符關(guān)系運(yùn)算符x y x y x = y x != y關(guān)系表達(dá)式關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將用關(guān)系運(yùn)算符將2
15、個表達(dá)式毗鄰起來的式子個表達(dá)式毗鄰起來的式子.似似:x = 1辨識辨識= = 和和=運(yùn)用關(guān)系表達(dá)式運(yùn)用關(guān)系表達(dá)式示意對比的數(shù)學(xué)式示意對比的數(shù)學(xué)式 C關(guān)系表達(dá)式關(guān)系表達(dá)式x10 x10 x10 x = 10 x = 10 x != 10 x = 10用關(guān)系表達(dá)式描述前提用關(guān)系表達(dá)式描述前提推斷推斷 x 是否為負(fù)數(shù)是否為負(fù)數(shù)x 0推斷推斷 x 是否不為零是否不為零x != 02.3.3 if - else語句語句if (表達(dá)式表達(dá)式) 語句語句1else 語句語句2if(x = 15) y = 4 * x 3; else y = 2.5 * x - 10.5;語句語句1表達(dá)式表達(dá)式語句語句2真真假
16、假統(tǒng)計(jì)二分段函數(shù)統(tǒng)計(jì)二分段函數(shù) if (表達(dá)式表達(dá)式) 語句語句1else 語句語句2if(x != 0) y = 1x;else y = 0;10( )00 xf xxx源程序源程序#include int main(void) double x, y; printf(Enter x:n); scanf(%lf, &x); if(x != 0) y = 1x; else y = 0; printf(f(%.2f) = %.1fn, x, y); return 0;#include *例例2-4 *int main(void) double x, y; printf(Enter x (
17、x=0):n); scanf(%lf, &x); if(x = 15) y = 4 * x 3; else y = 2.5 * x - 10.5; printf(f(%f) = %.2fn, x, y); return 0;運(yùn)行結(jié)論運(yùn)行結(jié)論#include int main(void) double x, y; printf(Enter x:n); scanf(%lf, &x); if(x != 0) y = 1x; else y = 0; printf(f(%.2f) = %.1fn, x, y); return 0;input x:2.5f(2.50)=0.4input x
18、:0f(0.00)=0.0軟件檢驗(yàn)的根基理念軟件檢驗(yàn)的根基理念 軟件檢驗(yàn)軟件檢驗(yàn)精心設(shè)計(jì)一批檢驗(yàn)用例精心設(shè)計(jì)一批檢驗(yàn)用例 輸入信息輸入信息,預(yù)期輸出結(jié)論預(yù)期輸出結(jié)論 ,接著接著分不用這些檢驗(yàn)用例運(yùn)行程序分不用這些檢驗(yàn)用例運(yùn)行程序,看程序的現(xiàn)實(shí)運(yùn)行結(jié)看程序的現(xiàn)實(shí)運(yùn)行結(jié)論與預(yù)期輸出結(jié)論是否一致論與預(yù)期輸出結(jié)論是否一致.input x:2.5f(2.50)=0.4input x:0f(0.00)=0.0if(x != 0) y = 1x;else y = 0;if(x =0):9.5f(9.500000)=12.67Enter x (x=0):15f(15.000000)=20.00Enter x
19、(x=0):21.3f(21.300000)=42.752.3.4 標(biāo)準(zhǔn)化輸入函數(shù)標(biāo)準(zhǔn)化輸入函數(shù)scanf信息輸入信息輸入:標(biāo)準(zhǔn)化輸入函數(shù)標(biāo)準(zhǔn)化輸入函數(shù) scanf #include scanf(%lf, &x);scanf(標(biāo)準(zhǔn)操縱字符串標(biāo)準(zhǔn)操縱字符串, 輸入指標(biāo)輸入指標(biāo)1, , 輸入指標(biāo)輸入指標(biāo)n);用雙引號括起來用雙引號括起來, ,示意輸入的標(biāo)準(zhǔn)示意輸入的標(biāo)準(zhǔn)變量地址變量地址scanf標(biāo)準(zhǔn)操縱字符串標(biāo)準(zhǔn)操縱字符串標(biāo)準(zhǔn)操縱字符串標(biāo)準(zhǔn)操縱字符串:標(biāo)準(zhǔn)操縱講明標(biāo)準(zhǔn)操縱講明: 按指定的標(biāo)準(zhǔn)輸入信息按指定的標(biāo)準(zhǔn)輸入信息, %與信息類型有關(guān)與信息類型有關(guān)int型型 :%dfloat型型:%f
20、double型型:%lf一樣字符一樣字符:原樣輸入原樣輸入例似例似:scanf(%lf, &x);輸入輸入: 9.5: 9.5scanf(x=%lf, &x);輸入輸入: x=9.5完量不要表現(xiàn)一樣字符完量不要表現(xiàn)一樣字符改進(jìn)例改進(jìn)例2-3的程序的程序例例2-3 求華氏溫度求華氏溫度 100F 對應(yīng)的攝氏溫度對應(yīng)的攝氏溫度.攝氏溫度攝氏溫度 C=(59)(F-32) #include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) 9; printf(fahr = %d, celsi
21、us = %dn, fahr, celsius); return 0;scanf(%d, &fahr);printf(“Enter fahr: n);Enter fahr:100fahr =100, celsius = 372.3.5 常用數(shù)學(xué)庫函數(shù)常用數(shù)學(xué)庫函數(shù)n庫函數(shù)庫函數(shù)nC語言操作系統(tǒng)提供事先編好的函數(shù)語言操作系統(tǒng)提供事先編好的函數(shù),供用戶供用戶在編程時(shí)調(diào)用在編程時(shí)調(diào)用.scanf(), printf(), exp()n在相應(yīng)的系統(tǒng)文件(頭文件)中定義部分必在相應(yīng)的系統(tǒng)文件(頭文件)中定義部分必須的信息須的信息.n#include號令號令n用戶調(diào)用庫函數(shù)時(shí)用戶調(diào)用庫函數(shù)時(shí),將相
22、應(yīng)的頭文件見諒到源將相應(yīng)的頭文件見諒到源程序中程序中.n例似例似n調(diào)用調(diào)用scanf, printf,需要需要 #include n調(diào)用調(diào)用sqrt,需要需要 #include 常用數(shù)學(xué)庫函數(shù)常用數(shù)學(xué)庫函數(shù)n平方根函數(shù)平方根函數(shù) sqrt(x) n絕對值函數(shù)絕對值函數(shù) fabs(x)nfabs(-3.56) 的值為的值為3.56n冪函數(shù)冪函數(shù) pow(x, n) :xnnpow(1.1, 2) 的值為的值為1.21(即(即1.12)n指數(shù)函數(shù)指數(shù)函數(shù) exp(x):exnexp(2.3) 的值為的值為e2.3n以以e為底的對數(shù)函數(shù)為底的對數(shù)函數(shù) log(x):ln xnlog(123.45)
23、的值為的值為4.815836n以以10為底的對數(shù)函數(shù)為底的對數(shù)函數(shù) log10(x):log10 xnlog10(123.45) 的值為的值為2.091491. 例例2-5 統(tǒng)計(jì)存款的本息統(tǒng)計(jì)存款的本息輸入存款金額輸入存款金額 money、存期、存期 year 和年利率和年利率 rate,依照程式統(tǒng)計(jì)存款到期時(shí)的本息合計(jì)依照程式統(tǒng)計(jì)存款到期時(shí)的本息合計(jì)sum(稅前)(稅前),輸出時(shí)保留輸出時(shí)保留2位小數(shù)位小數(shù).sum = money ( 1 + rate)yearsum = money * pow(1 + rate), year)例例2-5 程序程序# include # include in
24、t main(void) int money, year; double rate, sum; 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.02
25、5sum = 1076.89scanf(%d%d%lf, &money, &year, &rate);調(diào)用調(diào)用scanf函數(shù)輸入多個信息函數(shù)輸入多個信息scanf(%d%d%lf, &money, &year, &rate); 輸入輸入:1000 3 0.025scanf需要多個輸入指標(biāo)和多個標(biāo)準(zhǔn)操縱講明需要多個輸入指標(biāo)和多個標(biāo)準(zhǔn)操縱講明輸入指標(biāo)的類型、個數(shù)和位置要與標(biāo)準(zhǔn)操縱講明一一輸入指標(biāo)的類型、個數(shù)和位置要與標(biāo)準(zhǔn)操縱講明一一對應(yīng)對應(yīng) ? scanf(%d%lf%d , &money, &year, &rate);程序運(yùn)
26、行時(shí)程序運(yùn)行時(shí),輸入的多個信息之間必須有間隔輸入的多個信息之間必須有間隔.scanf(%d%lf%d , &money, &rate , &year);似何輸入?似何輸入?輸入指標(biāo)、標(biāo)準(zhǔn)操縱講明、輸入信息輸入指標(biāo)、標(biāo)準(zhǔn)操縱講明、輸入信息2.4 輸出華氏攝氏溫度變形表輸出華氏攝氏溫度變形表2.4.1 程序解析程序解析2.4.2 for語句語句2.4.3 指定次數(shù)的循環(huán)程序設(shè)計(jì)指定次數(shù)的循環(huán)程序設(shè)計(jì)2.4.1 程序解析程序解析例例2-6輸入輸入2個整數(shù)個整數(shù)lower和和 upper,輸出一張華輸出一張華氏攝氏溫度變形表氏攝氏溫度變形表,華氏溫度的取值范疇是華氏溫度的取值范
27、疇是lower, upper,每次增加每次增加1F. fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.72.4.1 程序解析程序解析-溫度變形表溫度變形表#include int main(void) int fahr, lower, upper; double celsius; printf(Enter lower:); scanf(%d, &lower); printf(Enter upper:); scanf(%d, &upper); printf(fahr celsiusn); 溫度重復(fù)變形溫度重復(fù)變形:華氏
28、溫度從華氏溫度從lower最先最先,到到upper結(jié)束結(jié)束,每次增加每次增加1F for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 9.0) * (fahr - 32); printf(%d %6.1fn, fahr, celsius); 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-8中中for語句的流程語句的流程for (fahr = lower; f
29、ahr = upper; fahr +) celsius = (5.0 9.0) * (fahr - 32); printf(%d %6.1fn, fahr, celsius); fahr = fahr+2輸出?輸出?Enter lower: 30Enter upper: 35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7for(for(表達(dá)式表達(dá)式1 1;表達(dá)式;表達(dá)式2 2;表達(dá)式;表達(dá)式3)3) 循環(huán)體語句循環(huán)體語句實(shí)現(xiàn)實(shí)現(xiàn)C C語句的重復(fù)履行語句的重復(fù)履行2.4.2 for語句循環(huán)語句語句循環(huán)語句3個表達(dá)式、循環(huán)體語句個
30、表達(dá)式、循環(huán)體語句!書寫次序和履行次序差別!書寫次序和履行次序差別!表達(dá)式!表達(dá)式1只履行一次只履行一次循環(huán)循環(huán)(操縱操縱)變量變量:for語句中語句中,通過改變或推斷某個變通過改變或推斷某個變量的值來操縱循環(huán)的履行量的值來操縱循環(huán)的履行for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); for語句中的循環(huán)變量語句中的循環(huán)變量賦初值賦初值推斷其值推斷其值改變其值改變其值for (fahr = lower; fahr = up
31、per; fahr +) celsius = (5.0 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); 表達(dá)式表達(dá)式1:給循環(huán)變量賦初值給循環(huán)變量賦初值,指定循環(huán)的起點(diǎn)指定循環(huán)的起點(diǎn).fahr = lower表達(dá)式表達(dá)式2:給出循環(huán)的前提給出循環(huán)的前提,決意循環(huán)的接著或結(jié)束決意循環(huán)的接著或結(jié)束.fahr = upper表達(dá)式表達(dá)式3:設(shè)置循環(huán)的步長設(shè)置循環(huán)的步長,改變循環(huán)變量的值改變循環(huán)變量的值,從而可改變表達(dá)從而可改變表達(dá)式式2的真假性的真假性.fahr+語句語句:被反復(fù)履行的語句被反復(fù)履行的語句,一條語句一條語句.for語句的
32、講明語句的講明for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); for (fahr = lower ; fahr = upper; fahr = fahr + 1) celsius = (5.0 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); 復(fù)合語句復(fù)合語句 和空語句和空語句 ;for (fahr = lower ; fahr = upper; fahr =
33、 fahr + 1); celsius = (5.0 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); !不要在!不要在for語句中隨意加分號語句中隨意加分號求求 1+2+100抽取具有共性的算式抽取具有共性的算式:sum = sum + i sum初值為初值為0,該算式重復(fù)該算式重復(fù)100次次,i從從1變到變到100設(shè)設(shè)i為循環(huán)變量為循環(huán)變量,那么那么:指定循環(huán)起點(diǎn)的表達(dá)式指定循環(huán)起點(diǎn)的表達(dá)式1:i = 1給出循環(huán)前提的表達(dá)式給出循環(huán)前提的表達(dá)式2:i = 100設(shè)置循環(huán)步長的表達(dá)式設(shè)置循環(huán)步長的表達(dá)式3:i+循環(huán)體語句循環(huán)體語句
34、:sum = sum + i;for(i=1; i=100; i+)sum =sum+i;2.4.3 指定次數(shù)的循環(huán)程序設(shè)計(jì)指定次數(shù)的循環(huán)程序設(shè)計(jì)* 統(tǒng)計(jì)統(tǒng)計(jì)1 + 2 + 3 + + 100 *#include int main(void) int i, sum,flag;flag=1; sum = 0; * 置累加和置累加和sum的初值為的初值為0 * for ( i = 2; i = 1000; i=i+2 ) * 循環(huán)重復(fù)循環(huán)重復(fù)100次次 * sum = sum +flag* i; flag=flag*(-1); * 反復(fù)累加反復(fù)累加 * printf( “sum = %dn”, s
35、um); * 輸出累加和輸出累加和 * return 0;源程序求源程序求 1+2+100for(i=1; i=100; i+) sum=0; sum=sum+i;sum=5050#include int main(void) int i, sum; sum = 0; for ( i = 1; i = 100; i+ ) sum = sum + i; printf( “sum = %dn”, sum); return 0;求求 1+12+13+ 1100for(i=1; i=100; i+) sum=sum+1.0i;int i;double sum;printf( “sum = %fn”,
36、sum);一樣見諒四個部分一樣見諒四個部分:初始化初始化:指定循環(huán)起點(diǎn)指定循環(huán)起點(diǎn)給循環(huán)變量賦初值給循環(huán)變量賦初值,似似i = 1;進(jìn)入循環(huán)之前進(jìn)入循環(huán)之前,設(shè)置相關(guān)變量的初值設(shè)置相關(guān)變量的初值,似似sum = 0.前提操縱前提操縱:只要只要i 100,循環(huán)結(jié)束循環(huán)結(jié)束.指定次數(shù)的循環(huán)程序設(shè)計(jì)指定次數(shù)的循環(huán)程序設(shè)計(jì)輸入一個正整數(shù)輸入一個正整數(shù)n,求前求前n項(xiàng)和項(xiàng)和,即循環(huán)即循環(huán)n次次#include int main(void) int i, sum; sum = 0; for ( i = 1; i = 100; i+ ) sum = sum + i; printf( “sum = %dn”,
37、 sum); return 0;例例2-7 求求 1+2+3+n for(i=1; i=n; i+) sum=sum+i;printf(“Enter n:); scanf(%d, &n); Enter n: 100Sum = 5050#include int main(void) int i, sum; printf(“Enter n: ); scanf(%d, &n); sum = 0; for ( i = 1; i = n; i+ ) sum = sum + i; printf( “sum = %dn”, sum); return 0;求求1+12+13+ 1n #incl
38、ude int main(void) int i; double sum; printf(“Enter n: ); scanf(%d, &n); sum = 0; for ( i = 1; i = n; i+ ) sum = sum + 1.0i; printf( “sum = %fn”, sum); return 0;求前求前n項(xiàng)和項(xiàng)和,即循環(huán)即循環(huán)n次次,每次累加每次累加1項(xiàng)項(xiàng).for (i = 1; i = n ; i=i+2) sum = sum + item (第第i項(xiàng)項(xiàng))item = 1.0 ( i )求求 1+13+15+ 的前的前n項(xiàng)和項(xiàng)和#include int ma
39、in(void) int i, n; double item, sum; printf(“Enter n: ); scanf (%d, &n);sum = 0 ; for ( i = 1; i = n; i+ ) item = 1.0 (2 * i - 1); * 統(tǒng)計(jì)第統(tǒng)計(jì)第i項(xiàng)的值項(xiàng)的值 * sum = sum + item ; * 累加第累加第i項(xiàng)的值項(xiàng)的值 * printf ( sum = %fn, sum); return 0;源程序求源程序求 1+13+15+ 求前求前n項(xiàng)和項(xiàng)和,即循環(huán)即循環(huán)n次次,每次累加每次累加1項(xiàng)項(xiàng).for (i = 1; i = n ; i+) s
40、um = sum + item (第第i項(xiàng)項(xiàng))item = flag * 1.0 denominator denominator = denominator + 2flag = -flag例例2-8 求求 1-13+15- 的前的前n項(xiàng)和項(xiàng)和item = flag*1.0(2 * i - 1)#include int main(void) int denominator, flag, i, n; double item, sum; printf(“Enter n: ); scanf (%d, &n);flag=1; denominator =1;sum = 0 ; for ( i =
41、1; i = n; i+ ) item = flag * 1.0 denominator; * 統(tǒng)計(jì)第統(tǒng)計(jì)第i項(xiàng)的值項(xiàng)的值 * sum = sum + item ; * 累加第累加第i項(xiàng)的值項(xiàng)的值 * flag = -flag; * 籌辦下一次循環(huán)籌辦下一次循環(huán) * denominator = denominator +2; printf ( sum = %fn, sum); return 0;例例2-8 源程序源程序n! = 1*2*nfor (i = 1; i = n ; i+) product = product * item (第第i項(xiàng)項(xiàng))item=i例例2-9 求求n!product
42、 = ?#include int main(void) int i, n; double product; printf(input n: n); scanf (%d, &n) ; product=1; * 置階乘置階乘product的初值為的初值為1 * for ( i = 1; i = n; i+ ) * 循環(huán)重復(fù)循環(huán)重復(fù)n次次,統(tǒng)計(jì)統(tǒng)計(jì)n! * product = product * i ; printf ( product = %.0fn, product ); return 0;例例2-9 源程序源程序輸入實(shí)數(shù)輸入實(shí)數(shù)x和正整數(shù)和正整數(shù)n,統(tǒng)計(jì)統(tǒng)計(jì)xn = x * x * *
43、 xfor (i = 1; i = n ; i+) power = power * item (第第i項(xiàng)項(xiàng))item=?求求 xn #include int main(void) int i, n; double x, power ; printf(“Enter x, n: n); scanf (%lf%d, &x, &n) ; power = 1; * 置置power的初值為的初值為1 * for ( i = 1; i = n; i+ ) * 循環(huán)重復(fù)循環(huán)重復(fù)n次次,統(tǒng)計(jì)統(tǒng)計(jì)x的的n次冪次冪 * power = power * x; printf( %0.fn, power)
44、;源程序求源程序求 xn 2.5 生成乘方表和階乘表生成乘方表和階乘表2.5.1 程序解析程序解析2.5.2 結(jié)構(gòu)化程序設(shè)計(jì)理念結(jié)構(gòu)化程序設(shè)計(jì)理念2.5.1 程序解析程序解析例例2-10(1)輸入一個正整數(shù)輸入一個正整數(shù)n,生成一張生成一張2的乘方表的乘方表,輸出輸出20到到2n的值的值,能夠調(diào)用冪函數(shù)統(tǒng)計(jì)能夠調(diào)用冪函數(shù)統(tǒng)計(jì)2的乘方的乘方.for (i = 0; i = n ; i+) power = pow(2, i); *調(diào)用冪函數(shù)調(diào)用冪函數(shù)pow(2,i)統(tǒng)計(jì)統(tǒng)計(jì)2的的i次次方方* 輸出輸出power的值的值;源程序生成乘方表源程序生成乘方表#include #include int m
45、ain(void) int i, n; double power; printf(Enter n:); scanf(%d, &n); for (i = 0; i = n ; i+) power = pow(2, i); * 調(diào)用冪函數(shù)調(diào)用冪函數(shù)pow(2,i)統(tǒng)計(jì)統(tǒng)計(jì)2的的i次方次方 * printf(pow(2,%d)= %.0fn, i, power); return 0;Enter n: 4pow(2,0)= 1pow(2,1)= 2pow(2,2)= 4pow(2,3)= 8pow(2,4)= 16 例例2-10(2)生成階乘表)生成階乘表輸入一個正整數(shù)輸入一個正整數(shù)n,生成一
46、張階乘表生成一張階乘表,輸出輸出0!到!到n!的值!的值.要求定義和調(diào)用函數(shù)要求定義和調(diào)用函數(shù)fact(n)統(tǒng)計(jì)統(tǒng)計(jì)n!,函數(shù)類型是函數(shù)類型是double. for (i = 0; i = n ; i+) power = pow(2, i); *調(diào)用冪函數(shù)調(diào)用冪函數(shù)pow(2,i)統(tǒng)計(jì)統(tǒng)計(jì)2的的i次次方方* 輸出輸出power的值的值;for (i = 0; i = n ; i+) product = fact(i); * 調(diào)用自定義函數(shù)調(diào)用自定義函數(shù)fact(i)統(tǒng)計(jì)統(tǒng)計(jì)i! * 輸出輸出product的值的值;源程序生成階乘表源程序生成階乘表#include double fact(int n); * 自定義函數(shù)的表明自定義函數(shù)的表明 *int main(void) int i, n; double result; printf(Enter n:); scanf(%d, &n); for (i = 0; i = n ; i+) result = fact(i); * 調(diào)用自定義函數(shù)調(diào)用自定義函數(shù)fact(i)統(tǒng)計(jì)統(tǒng)計(jì)i! * printf(%d!=%.0fn, i, result); return 0;Enter n: 30!=11!=12!=23!=6double fact(int 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樓宇贖回貸款合同模板
- 銷售合同范本正規(guī)范本
- 社區(qū)科學(xué)理論知識
- 組建與管理創(chuàng)業(yè)團(tuán)隊(duì)
- 房屋轉(zhuǎn)讓合同范本大全
- 運(yùn)動解剖學(xué)練習(xí)題庫含參考答案
- 租賃合同的可變性與調(diào)整策略
- 等待戈多課件
- 簡約商務(wù)述職報(bào)告
- 航空貨物運(yùn)輸代理合同
- 2024-2025學(xué)年下學(xué)期高一語文期中必刷常考題之作文
- 2025北京豐臺高三一模化學(xué)試題及答案
- 安徽省示范高中皖北協(xié)作區(qū)2025屆高三3月聯(lián)考試卷語文試題(含答案)
- 兒童福利政策課件解讀
- 公司關(guān)聯(lián)擔(dān)保效力裁判規(guī)則完善研究
- 茶臺買賣合同5篇
- 遼寧省營口市大石橋市第二初級中學(xué)2024-2025學(xué)年九年級下學(xué)期開學(xué)考試數(shù)學(xué)試卷
- 2025年法治素養(yǎng)考試試題及答案
- 居室空間設(shè)計(jì) 課件 項(xiàng)目一居室空間設(shè)計(jì)概述
- 2024年北京市中考滿分作文《盤中餐》
- 沖床基礎(chǔ)板施工方案
評論
0/150
提交評論