chap02_用C語(yǔ)言編寫(xiě)程序_第1頁(yè)
chap02_用C語(yǔ)言編寫(xiě)程序_第2頁(yè)
chap02_用C語(yǔ)言編寫(xiě)程序_第3頁(yè)
chap02_用C語(yǔ)言編寫(xiě)程序_第4頁(yè)
chap02_用C語(yǔ)言編寫(xiě)程序_第5頁(yè)
已閱讀5頁(yè),還剩110頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Chap 2 用用C語(yǔ)言編寫(xiě)程序語(yǔ)言編寫(xiě)程序 2.1 在屏幕上顯示在屏幕上顯示 Hello World!2.2 求華氏溫度求華氏溫度 100F 對(duì)應(yīng)的攝氏溫度對(duì)應(yīng)的攝氏溫度2.3 計(jì)算分段函數(shù)計(jì)算分段函數(shù)2.4 輸出華氏輸出華氏攝氏溫度轉(zhuǎn)換表攝氏溫度轉(zhuǎn)換表2.5 生成乘方表與階乘表生成乘方表與階乘表 1:17本章要點(diǎn)本章要點(diǎn)n怎樣編寫(xiě)程序,在屏幕上顯示一些信息?怎樣編寫(xiě)程序,在屏幕上顯示一些信息?n怎樣編寫(xiě)程序,實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)處理,例如怎樣編寫(xiě)程序,實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)處理,例如將華氏溫度轉(zhuǎn)換為攝氏溫度?將華氏溫度轉(zhuǎn)換為攝氏溫度?n怎樣使用怎樣使用 if 語(yǔ)句計(jì)算分段函數(shù)?語(yǔ)句計(jì)算分段函數(shù)?n怎樣用

2、怎樣用 for 語(yǔ)句求語(yǔ)句求 1+2+100?n如何定義和調(diào)用函數(shù)生成一張乘方表?如何定義和調(diào)用函數(shù)生成一張乘方表?1:172.1 在屏幕上顯示在屏幕上顯示Hello World! 例例2-1 在屏幕上顯示一個(gè)短句在屏幕上顯示一個(gè)短句:Hello World!1:172.1 在屏幕上顯示在屏幕上顯示Hello World!/* 顯示顯示“Hello World!” */ 注釋文本注釋文本 # include int main(void) 主函數(shù)主函數(shù) printf(“Hello World! n”); 語(yǔ)句結(jié)束語(yǔ)句結(jié)束 return 0; 輸出函數(shù)輸出函數(shù) 換行符換行符1.任何程序都有任何程序

3、都有主函數(shù)主函數(shù)2.程序由若干程序由若干語(yǔ)句語(yǔ)句組成組成3.語(yǔ)句由語(yǔ)句由;結(jié)束結(jié)束1:172.1 在屏幕上顯示一些信息在屏幕上顯示一些信息例例2-2 在屏幕上顯示在屏幕上顯示: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; 1:172.2 求華氏溫度求華氏溫度 100F 對(duì)

4、應(yīng)的對(duì)應(yīng)的攝氏溫度攝氏溫度 攝氏溫度攝氏溫度 C=(5/9)(F-32)2.2.1 程序解析程序解析2.2.2 常量、變量和數(shù)據(jù)類(lèi)型常量、變量和數(shù)據(jù)類(lèi)型2.2.3 算術(shù)運(yùn)算和賦值運(yùn)算算術(shù)運(yùn)算和賦值運(yùn)算2.2.4 格式化輸出函數(shù)格式化輸出函數(shù)printf1:172.2.1 程序解析程序解析例例2-3 求華氏溫度求華氏溫度 100F 對(duì)應(yīng)的攝氏溫度。對(duì)應(yīng)的攝氏溫度。攝氏溫度攝氏溫度 C=5*(F-32)/9 #include int main(void) int celsius, fahr; 變量定義變量定義 fahr = 100; 變量使用變量使用 celsius = 5 * (fahr - 3

5、2) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius);輸出結(jié)果輸出結(jié)果 return 0;輸出輸出: :fahr =100, celsius = 371:172.2.2 常量、變量和數(shù)據(jù)類(lèi)型常量、變量和數(shù)據(jù)類(lèi)型int celsius, fahr; celsius = 5 * (fahr - 32) / 9;n數(shù)據(jù)數(shù)據(jù)常量:在程序運(yùn)行過(guò)程中,其值不能被改變常量:在程序運(yùn)行過(guò)程中,其值不能被改變 變量:在程序運(yùn)行過(guò)程中,其值可以被改變變量:在程序運(yùn)行過(guò)程中,其值可以被改變 n數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型常量:常量:5 和和 9是整型常量(整數(shù))是整型常

6、量(整數(shù))變量:在定義時(shí)指定變量:在定義時(shí)指定1:17數(shù)據(jù)類(lèi)型和表達(dá)式數(shù)據(jù)類(lèi)型和表達(dá)式n數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型n整型整型intn實(shí)型(浮點(diǎn)型)實(shí)型(浮點(diǎn)型)float doublen字符型字符型char構(gòu)造數(shù)據(jù)類(lèi)型構(gòu)造數(shù)據(jù)類(lèi)型數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉指針類(lèi)型指針類(lèi)型空類(lèi)型空類(lèi)型n運(yùn)算:對(duì)數(shù)據(jù)的操作運(yùn)算:對(duì)數(shù)據(jù)的操作運(yùn)算符數(shù)據(jù)運(yùn)算符數(shù)據(jù) 表達(dá)式表達(dá)式1:17基本基本數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型n整型整型有符號(hào)整型有符號(hào)整型 無(wú)符號(hào)整型無(wú)符號(hào)整型 數(shù)據(jù)長(zhǎng)度數(shù)據(jù)長(zhǎng)度int unsigned int 16或或32位位short int unsigned short int 1

7、6位位long int unsigned long int 32位位n字符型字符型char 8位位n實(shí)型(浮點(diǎn)型)實(shí)型(浮點(diǎn)型)單精度浮點(diǎn)型單精度浮點(diǎn)型 float 32位位雙精度浮點(diǎn)型雙精度浮點(diǎn)型 double 64位位1:17基本基本數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型整型整型擴(kuò)展的整數(shù)類(lèi)型:擴(kuò)展的整數(shù)類(lèi)型:short long unsigned int有符號(hào)整型有符號(hào)整型 無(wú)符號(hào)整型無(wú)符號(hào)整型 數(shù)據(jù)長(zhǎng)度數(shù)據(jù)長(zhǎng)度int unsigned int 16或或32位位short int unsigned short int 16位位long int unsigned long int 32位位有符號(hào)有符號(hào) shor

8、t 1 000 0000 0000 0000 -32768 -2150 111 1111 1111 1111 32767 215-1無(wú)符號(hào)無(wú)符號(hào) unsigned short0000 0000 0000 0000 01111 1111 1111 1111 65535 216-11:17整數(shù)類(lèi)型的取值范圍整數(shù)類(lèi)型的取值范圍int 32位位 -2147483648 2147483647 -231 231-1short int 16位位 -32768 32767 -215 215-1long int 32位位 -2147483648 2147483647 -231 231-1unsigned int

9、 32位位 0 4294967295 0 232-1unsigned short int 16位位 0 65535 0 216-1unsigned long int 32位位 0 4294967295 0 232-11:17整型常量(整數(shù))整型常量(整數(shù))n整數(shù)的表示整數(shù)的表示三種表現(xiàn)形式:三種表現(xiàn)形式:十進(jìn)制整數(shù):正、負(fù)號(hào),十進(jìn)制整數(shù):正、負(fù)號(hào),09,首位不是,首位不是0例:例: 10,123八進(jìn)制整數(shù):正、負(fù)號(hào),八進(jìn)制整數(shù):正、負(fù)號(hào),07,首位是,首位是0例:例: 010,0123十六進(jìn)制整數(shù):正、負(fù)號(hào),十六進(jìn)制整數(shù):正、負(fù)號(hào),09,af,AF,前綴是,前綴是0 x,0X例:例:0 x10

10、,0X1231:17整數(shù)的表示整數(shù)的表示123 = 01111011 (B) 二進(jìn)制二進(jìn)制 =173 (O) 八進(jìn)制八進(jìn)制 =7B (X) 十六進(jìn)制十六進(jìn)制123 0173 0 x7b16 020 0 x1010 012 0XAn不能超出整型數(shù)據(jù)的取值范圍不能超出整型數(shù)據(jù)的取值范圍n比長(zhǎng)整型數(shù)還要大的數(shù)只能用實(shí)數(shù)來(lái)表示比長(zhǎng)整型數(shù)還要大的數(shù)只能用實(shí)數(shù)來(lái)表示1:17數(shù)制的轉(zhuǎn)換 基數(shù) 權(quán)1、十進(jìn)制轉(zhuǎn)非十進(jìn)制口訣:除基取余,商0為止,從下到上將十進(jìn)制108轉(zhuǎn)換成十六進(jìn)制(6C)2、非十進(jìn)制轉(zhuǎn)十進(jìn)制口訣:每位乘權(quán)再相加(16A)16=1*16*16+6*16+10=(362)103、非十進(jìn)制之間的轉(zhuǎn)換口

11、訣:變二進(jìn)制重分節(jié)16轉(zhuǎn)8:變二進(jìn)制重分節(jié),3位一節(jié)從右數(shù)8轉(zhuǎn)16:變二進(jìn)制重分節(jié),4位一節(jié)從右數(shù)(B5)16=10110101=10 110 101=(265)81:17整數(shù)的類(lèi)型整數(shù)的類(lèi)型判斷整數(shù)的類(lèi)型判斷整數(shù)的類(lèi)型n整數(shù)后的字母后綴整數(shù)后的字母后綴123L long123U unsigned123LU unsigned longn整數(shù)的值整數(shù)的值1:17基本基本數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型實(shí)型實(shí)型實(shí)型(浮點(diǎn)型)數(shù)據(jù)實(shí)型(浮點(diǎn)型)數(shù)據(jù)n單精度浮點(diǎn)型單精度浮點(diǎn)型 floatn雙精度浮點(diǎn)型雙精度浮點(diǎn)型 double 存儲(chǔ)存儲(chǔ) 數(shù)據(jù)精度數(shù)據(jù)精度 取值范圍取值范圍 (有效數(shù)字有效數(shù)字)float 4字節(jié)字節(jié)

12、七七/八八位位 (10-38 1038)double 8字節(jié)字節(jié) 十六十六位位 (10308 10308 )1:17數(shù)據(jù)精度和取值范圍數(shù)據(jù)精度和取值范圍n數(shù)據(jù)精度數(shù)據(jù)精度 與與 取值范圍取值范圍是兩個(gè)不同的概念:是兩個(gè)不同的概念:float x = 1234567.89;雖在取值范圍內(nèi),但無(wú)法精確表達(dá)。雖在取值范圍內(nèi),但無(wú)法精確表達(dá)。 float y = 1.2e55;y 的精度要求不高,但超出取值范圍。的精度要求不高,但超出取值范圍。n并不是所有的實(shí)數(shù)都能在計(jì)算機(jī)中精確表示并不是所有的實(shí)數(shù)都能在計(jì)算機(jī)中精確表示n 實(shí)型常量的類(lèi)型都是實(shí)型常量的類(lèi)型都是double 1234567.801:17

13、實(shí)型常量(實(shí)數(shù)、浮點(diǎn)數(shù))實(shí)型常量(實(shí)數(shù)、浮點(diǎn)數(shù))n實(shí)數(shù)的表示實(shí)數(shù)的表示浮點(diǎn)表示法浮點(diǎn)表示法0.123 123.4 12. .12科學(xué)計(jì)數(shù)法科學(xué)計(jì)數(shù)法6.026E-27 1.2e+30 1E-5n實(shí)數(shù)的類(lèi)型實(shí)數(shù)的類(lèi)型double1:17變量的定義變量的定義變量定義的一般形式:變量定義的一般形式:類(lèi)型名類(lèi)型名 變量名表;變量名表;例如:例如:int celsius, fahr; 定義整型變量定義整型變量float x; 定義單精度浮點(diǎn)型變量定義單精度浮點(diǎn)型變量double area, length; 定義雙精度浮點(diǎn)型變量定義雙精度浮點(diǎn)型變量double型數(shù)據(jù)比型數(shù)據(jù)比f(wàn)loat精度高,取值范圍大精

14、度高,取值范圍大 變量名:小寫(xiě)字母;見(jiàn)名知義變量名:小寫(xiě)字母;見(jiàn)名知義1:17變量的定義變量的定義n定義變量時(shí)要指定變量名和數(shù)據(jù)類(lèi)型定義變量時(shí)要指定變量名和數(shù)據(jù)類(lèi)型類(lèi)型名類(lèi)型名 變量名表;變量名表;int celsius, fahr; float x;double area, length;n變量名代表內(nèi)存中的一個(gè)存儲(chǔ)單元變量名代表內(nèi)存中的一個(gè)存儲(chǔ)單元存放該變量的值存放該變量的值n該存儲(chǔ)單元的大小由變量的數(shù)據(jù)類(lèi)型決定該存儲(chǔ)單元的大小由變量的數(shù)據(jù)類(lèi)型決定nC語(yǔ)言中的變量代表保存數(shù)據(jù)的存儲(chǔ)單元語(yǔ)言中的變量代表保存數(shù)據(jù)的存儲(chǔ)單元n數(shù)學(xué)中的變量代表未知數(shù)數(shù)學(xué)中的變量代表未知數(shù) x = x+11:17變

15、量的定義與使用變量的定義與使用變量必須先變量必須先定義定義,后,后使用使用。#include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius); return 0;一個(gè)變量名只能定義一次一個(gè)變量名只能定義一次變量一般都定義在程序的頭上變量一般都定義在程序的頭上不能定義在程序的中間或后面不能定義在程序的中間或后面應(yīng)該先賦值,后引用應(yīng)該先賦值,后引用1:172.2.3 算術(shù)運(yùn)算和賦值運(yùn)算算術(shù)運(yùn)算和賦值

16、運(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)算符算術(shù)運(yùn)算符將將運(yùn)算對(duì)象運(yùn)算對(duì)象連接起連接起來(lái)的符合來(lái)的符合C語(yǔ)言語(yǔ)法規(guī)則的式子語(yǔ)言語(yǔ)法規(guī)則的式子 數(shù)學(xué)式:數(shù)學(xué)式:5*(F-32) /9 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)1:17算術(shù)運(yùn)算算術(shù)運(yùn)算雙目算術(shù)運(yùn)算符:雙目算術(shù)運(yùn)算符:+ - * / %算術(shù)表達(dá)式:用

17、算術(shù)表達(dá)式:用算術(shù)運(yùn)算符算術(shù)運(yùn)算符將將運(yùn)算對(duì)象運(yùn)算對(duì)象連接起連接起來(lái)的符合來(lái)的符合C語(yǔ)言語(yǔ)法規(guī)則的式子語(yǔ)言語(yǔ)法規(guī)則的式子 注意注意n/ 整數(shù)除整數(shù),得整數(shù)整數(shù)除整數(shù),得整數(shù)如:如:1/2 0,9/4 2 ?5 * (fahr - 32) / 9 和和 5 / 9 * (fahr - 32) 等價(jià)嗎等價(jià)嗎n% 針對(duì)整型數(shù)據(jù)針對(duì)整型數(shù)據(jù)如:如: 565,941,10040n雙目運(yùn)算符兩側(cè)操作數(shù)的類(lèi)型要相同雙目運(yùn)算符兩側(cè)操作數(shù)的類(lèi)型要相同1:17賦值運(yùn)算賦值運(yùn)算n賦值運(yùn)算符賦值運(yùn)算符 =n賦值表達(dá)式:用賦值表達(dá)式:用 = 將一個(gè)將一個(gè)變量變量和一個(gè)和一個(gè)表達(dá)表達(dá)式式連接起來(lái)的式子連接起來(lái)的式子 變量

18、變量 表達(dá)式表達(dá)式例如:例如:fahr = 100; celsius = 5 * (fahr - 32) / 9; 計(jì)算賦值運(yùn)算符右側(cè)計(jì)算賦值運(yùn)算符右側(cè)表達(dá)式表達(dá)式的值的值將賦值運(yùn)算符右側(cè)將賦值運(yùn)算符右側(cè)表達(dá)式表達(dá)式的值賦給左側(cè)的的值賦給左側(cè)的變量變量的左邊必須是一個(gè)變量的左邊必須是一個(gè)變量1:172.2.4 格式化輸出函數(shù)格式化輸出函數(shù)printf數(shù)據(jù)輸出:格式化輸出函數(shù)數(shù)據(jù)輸出:格式化輸出函數(shù) printf #include printf(Hello World! n);printf(fahr = %d, celsius = %dn, fahr, celsius);printf(格式控制字

19、符串格式控制字符串, 輸出參數(shù)輸出參數(shù)1, , 輸出參數(shù)輸出參數(shù)n);用雙引號(hào)括起來(lái),表示輸出的格式要輸出的數(shù)據(jù)1:17printf格式控制字符串格式控制字符串printf(Hello World! n); printf(fahr = %d, celsius = %dn, fahr, celsius);格式控制字符串格式控制字符串:普通字符:原樣輸出普通字符:原樣輸出格式控制說(shuō)明格式控制說(shuō)明:按指定的格式輸出數(shù)據(jù)按指定的格式輸出數(shù)據(jù),%與數(shù)據(jù)類(lèi)型有關(guān)與數(shù)據(jù)類(lèi)型有關(guān)nint型型 :%dnfloat double型:型:%fprintf(fahr = %d, celsius = %dn, fahr

20、, celsius);輸出參數(shù)必須和格式控制字符串中的格式控制說(shuō)明相輸出參數(shù)必須和格式控制字符串中的格式控制說(shuō)明相對(duì)應(yīng)對(duì)應(yīng),它們的類(lèi)型、個(gè)數(shù)和位置一一對(duì)應(yīng)它們的類(lèi)型、個(gè)數(shù)和位置一一對(duì)應(yīng)輸出輸出: :fahr =100, celsius = 371:17轉(zhuǎn)轉(zhuǎn)義義字字符符n反斜杠后跟一個(gè)字符或數(shù)字反斜杠后跟一個(gè)字符或數(shù)字n字符常量,代表字符常量,代表一個(gè)一個(gè)字符字符 n 101 x41 An所有字符都可以用轉(zhuǎn)義字符表示所有字符都可以用轉(zhuǎn)義字符表示1:172.3 計(jì)算分段函數(shù)計(jì)算分段函數(shù) 2.3.1 程序解析程序解析2.3.2 關(guān)系運(yùn)算關(guān)系運(yùn)算2.3.3 if-else語(yǔ)句語(yǔ)句2.3.4 格式化輸入

21、函數(shù)格式化輸入函數(shù)scanf2.3.5 常用數(shù)學(xué)庫(kù)函數(shù)常用數(shù)學(xué)庫(kù)函數(shù)1:172.3.1 程序解析程序解析例例2-4 分段計(jì)算水費(fèi)分段計(jì)算水費(fèi)輸入用戶的月用水量輸入用戶的月用水量x(噸),計(jì)算并輸出該用戶應(yīng)(噸),計(jì)算并輸出該用戶應(yīng)支付的水費(fèi)支付的水費(fèi)y(元)(保留(元)(保留2位小數(shù))位小數(shù)) 要解決的問(wèn)題:要解決的問(wèn)題:輸入輸入計(jì)算分段函數(shù)計(jì)算分段函數(shù)輸出,并保留輸出,并保留2位小數(shù)位小數(shù)415( )32.510.515xxyf xxx1:172.3.1 程序解析求分段函數(shù)程序解析求分段函數(shù) #include int main(void) double x, y; printf(Enter

22、x (x=0):n); /* 輸入提示輸入提示 */ scanf(%lf, &x); /* 調(diào)用調(diào)用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù) */ if(x =0):9.5f(9.500000)=12.67Enter x (x=0):15f(15.000000)=20.00數(shù)據(jù)必須輸入嗎?數(shù)據(jù)必須輸入嗎?Enter x (x=0):21.3f(21.300000)=42.751:172.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

23、 = 15的結(jié)果是:?的結(jié)果是:? 關(guān)系運(yùn)算關(guān)系運(yùn)算 比較運(yùn)算,比較兩個(gè)操作數(shù)比較運(yùn)算,比較兩個(gè)操作數(shù)n關(guān)系運(yùn)算符關(guān)系運(yùn)算符x y x y x = y x != yn關(guān)系表達(dá)式:用關(guān)系表達(dá)式:用關(guān)系運(yùn)算符關(guān)系運(yùn)算符將將2個(gè)個(gè)表達(dá)式表達(dá)式連接起來(lái)的連接起來(lái)的式子。式子。如:如:x 大于大于 = 大于等于大于等于 小于小于 =ca=bc優(yōu)先級(jí)優(yōu)先級(jí):算術(shù):算術(shù) 關(guān)系關(guān)系 賦值賦值 高高低低 a=(bc) a=(bc)a=bca=bc a=(bc) a=(bc)關(guān)系表達(dá)式的值是一個(gè)邏輯值,關(guān)系表達(dá)式的值是一個(gè)邏輯值,關(guān)系成立,真關(guān)系成立,真1 1;不成立,假;不成立,假 0 0。1:17運(yùn)用關(guān)系表達(dá)

24、式運(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 是否不為零是否不為零判斷判斷 x 是否為偶數(shù)是否為偶數(shù)1:17x 0 x != 0 x%2= 02.3.3 if - else語(yǔ)句語(yǔ)句if (表達(dá)式表達(dá)式) 語(yǔ)句語(yǔ)句1else 語(yǔ)句語(yǔ)句2if(x = 15) y = 4 * x / 3; else y = 2.5 * x - 10.5;語(yǔ)句語(yǔ)句1表達(dá)式表達(dá)式語(yǔ)句語(yǔ)句2真真假假1:17計(jì)算二分段函數(shù)計(jì)算二分段

25、函數(shù) if (表達(dá)式表達(dá)式) 語(yǔ)句語(yǔ)句1else 語(yǔ)句語(yǔ)句2if(x != 0) y = 1/x;else y = 0;10( )00 xf xxx1:17源程序源程序#include int main(void) double x, y; printf(Enter x:n); scanf(%lf, &x); if(x != 0) y = 1/x; else y = 0; printf(f(%.2f) = %.1fn, x, y); return 0;#include /*例例2-4 */int main(void) double x, y; printf(Enter x (x=0):n);

26、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;1:1710( )00 xf xxx415( )32.510.515xxyf xxx運(yùn)行結(jié)果運(yùn)行結(jié)果#include int main(void) double x, y; printf(Enter x:n); scanf(%lf, &x); if(x != 0) y = 1/x; else y = 0; printf(f(%.2f) = %.1fn, x, y); return 0;E

27、nter x:2.5f(2.50)=0.4Enter x:0f(0.00)=0.01:17軟件測(cè)試的基本思想軟件測(cè)試的基本思想 軟件測(cè)試軟件測(cè)試精心設(shè)計(jì)一批精心設(shè)計(jì)一批測(cè)試用例測(cè)試用例 輸入數(shù)據(jù),預(yù)期輸出結(jié)果輸入數(shù)據(jù),預(yù)期輸出結(jié)果 ,然后分,然后分別用這些測(cè)試用例運(yùn)行程序,看程序的實(shí)際運(yùn)行結(jié)果與預(yù)別用這些測(cè)試用例運(yùn)行程序,看程序的實(shí)際運(yùn)行結(jié)果與預(yù)期輸出結(jié)果是否一致。期輸出結(jié)果是否一致。Enter x:2.5f(2.50)=0.4Enter x:0f(0.00)=0.0if(x != 0) y = 1/x;else y = 0;if(x =0):9.5f(9.500000)=12.67Enter

28、 x (x=0):15f(15.000000)=20.00Enter x (x=0):21.3f(21.300000)=42.751:172.3.4 格式化輸入函數(shù)格式化輸入函數(shù)scanf數(shù)據(jù)輸入:格式化輸入函數(shù)數(shù)據(jù)輸入:格式化輸入函數(shù) scanf #include scanf(%lf, &x);scanf(格式控制字符串格式控制字符串, 輸入?yún)?shù)輸入?yún)?shù)1, , 輸入?yún)?shù)輸入?yún)?shù)n);用雙引號(hào)括起來(lái),表示輸入的格式用雙引號(hào)括起來(lái),表示輸入的格式變量地址變量地址1:17scanf格式控制字符串格式控制字符串格式控制字符串格式控制字符串:格式控制說(shuō)明格式控制說(shuō)明: 按指定的格式輸入數(shù)據(jù)按指定的格

29、式輸入數(shù)據(jù), %與數(shù)據(jù)類(lèi)型有關(guān)與數(shù)據(jù)類(lèi)型有關(guān)nint型型 :%dnfloat型:型:%fndouble型:型:%lf普通字符:原樣輸入普通字符:原樣輸入例如:例如:scanf(%lf, &x);輸入輸入: : 9.5scanf(x=%lf, &x);輸入輸入: x=9.5盡量不要出現(xiàn)普通字符盡量不要出現(xiàn)普通字符1:17scanf格式控制字符串格式控制字符串注意:注意:普通字符:原樣輸入普通字符:原樣輸入 盡量不要出現(xiàn)普通字符盡量不要出現(xiàn)普通字符例如:例如:scanf(%lf, &x);scanf(“%d,%d,%d”,&x,&y,&z);scanf(“%d;%d;%d”,&x,&y,&z);s

30、canf(“%d-%d-%d”,&x,&y,&z);scanf(“x=%d y=%d z=%d”,&x,&y,&z);“”“”內(nèi)最好不要加任何符號(hào),如果要加提示,這些提示不會(huì)自動(dòng)內(nèi)最好不要加任何符號(hào),如果要加提示,這些提示不會(huì)自動(dòng)顯示出來(lái),而必須由操作者手動(dòng)輸入,否則出現(xiàn)數(shù)據(jù)錯(cuò)誤。顯示出來(lái),而必須由操作者手動(dòng)輸入,否則出現(xiàn)數(shù)據(jù)錯(cuò)誤??梢圆捎幂斎胩崾镜妮斎敕绞剑嚎梢圆捎幂斎胩崾镜妮斎敕绞剑簆rintf(“x=”); scanf(“%d”,&x);printf(“y=”); scanf(“%d”,&y);printf(“z=”); scanf(“%d”,&z);輸入輸入: : 9.5輸入輸入: :

31、 9,5,7輸入輸入: : 9;5;7輸入輸入: : 9-5-7輸入輸入: : x=9 y=5 z=71:17改進(jìn)例改進(jìn)例2-3的程序的程序例例2-3 求華氏溫度求華氏溫度 100F 對(duì)應(yīng)的攝氏溫度。對(duì)應(yīng)的攝氏溫度。攝氏溫度攝氏溫度 C=5*(F-32)/9 #include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius); return 0;scanf(%d, &fahr);printf(“E

32、nter fahr: n);Enter fahr:100fahr =100, celsius = 371:172.3.5 常用數(shù)學(xué)庫(kù)函數(shù)常用數(shù)學(xué)庫(kù)函數(shù)n庫(kù)函數(shù)庫(kù)函數(shù)C語(yǔ)言處理系統(tǒng)提供事先編好的函數(shù),供用戶在語(yǔ)言處理系統(tǒng)提供事先編好的函數(shù),供用戶在編程時(shí)調(diào)用。編程時(shí)調(diào)用。scanf(), printf(), exp()在相應(yīng)的系統(tǒng)文件(頭文件)中定義一些必需的在相應(yīng)的系統(tǒng)文件(頭文件)中定義一些必需的信息。信息。n#include命令命令用戶調(diào)用庫(kù)函數(shù)時(shí),將相應(yīng)的頭文件包含到源程用戶調(diào)用庫(kù)函數(shù)時(shí),將相應(yīng)的頭文件包含到源程序中。序中。例如例如調(diào)用調(diào)用scanf, printf,需要需要 #incl

33、ude 調(diào)用調(diào)用sqrt,需要需要 #include 1:17常用數(shù)學(xué)庫(kù)函數(shù)常用數(shù)學(xué)庫(kù)函數(shù)n平方根函數(shù)平方根函數(shù) sqrt(x) n絕對(duì)值函數(shù)絕對(duì)值函數(shù) fabs(x)fabs(-3.56) 的值為的值為3.56n冪函數(shù)冪函數(shù) pow(x, n) :xnpow(1.1, 2) 的值為的值為1.21(即(即1.12)n指數(shù)函數(shù)指數(shù)函數(shù) exp(x):exexp(2.3) 的值為的值為e2.3n以以e為底的對(duì)數(shù)函數(shù)為底的對(duì)數(shù)函數(shù) log(x):ln xlog(123.45) 的值為的值為4.815836n以以10為底的對(duì)數(shù)函數(shù)為底的對(duì)數(shù)函數(shù) log10(x):log10 xlog10(123.45

34、) 的值為的值為2.091491。 1:17例例2-5 計(jì)算存款的本息計(jì)算存款的本息輸入存款金額輸入存款金額 money、存期存期 year 和年利率和年利率 rate,根據(jù)公式計(jì)算存款到期時(shí)的本息合計(jì)根據(jù)公式計(jì)算存款到期時(shí)的本息合計(jì)sum(稅前),輸出時(shí)保留稅前),輸出時(shí)保留2位小數(shù)。位小數(shù)。sum = money ( 1 + rate)yearsum = money * pow(1 + rate), year)1:17例例2-5 程序程序# include # include int main(void) int money, year; double rate, sum; printf(

35、“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, &year, &rate);1:17調(diào)用調(diào)用scanf函數(shù)輸

36、入多個(gè)數(shù)據(jù)函數(shù)輸入多個(gè)數(shù)據(jù)scanf(%d%d%lf, &money, &year, &rate); 輸入:輸入:1000 3 0.025nscanf需要多個(gè)輸入?yún)?shù)和多個(gè)格式控制說(shuō)明需要多個(gè)輸入?yún)?shù)和多個(gè)格式控制說(shuō)明輸入?yún)?shù)的類(lèi)型、個(gè)數(shù)和位置要與格式控制說(shuō)明一一輸入?yún)?shù)的類(lèi)型、個(gè)數(shù)和位置要與格式控制說(shuō)明一一對(duì)應(yīng)對(duì)應(yīng) ? scanf(%d%lf%d , &money, &year, &rate);n程序運(yùn)行時(shí),輸入的多個(gè)數(shù)據(jù)之間必須有間隔。程序運(yùn)行時(shí),輸入的多個(gè)數(shù)據(jù)之間必須有間隔。scanf(%d%lf%d , &money, &rate , &year);如何輸入?如何輸入?輸入?yún)?shù)、格式控

37、制說(shuō)明、輸入數(shù)據(jù)輸入?yún)?shù)、格式控制說(shuō)明、輸入數(shù)據(jù)1:17補(bǔ)充:補(bǔ)充:整型數(shù)據(jù)的輸入輸出整型數(shù)據(jù)的輸入輸出printf (格式控制格式控制, 輸出參數(shù)輸出參數(shù)1, . , 輸出參數(shù)輸出參數(shù)n);scanf (格式控制格式控制, 輸入?yún)?shù)輸入?yún)?shù)1, . , 輸入?yún)?shù)輸入?yún)?shù)n);格式控制說(shuō)明格式控制說(shuō)明 % 十進(jìn)制十進(jìn)制 八進(jìn)制八進(jìn)制 十六進(jìn)制十六進(jìn)制int %d %o %xlong %ld %lo %lxunsigned %u %o %xunsigned long %lu %lo %lx1:17輸出整型數(shù)據(jù)示例(輸出整型數(shù)據(jù)示例(1)# include int main(void) print

38、f(%d, %o, %xn, 10, 10, 10); printf(%d, %d, %dn, 10, 010, 0 x10); printf(%d, %xn, 012, 012); return 0; 00101010, 12, a10, 8, 1610, a1:17輸入整型數(shù)據(jù)示例(輸入整型數(shù)據(jù)示例(2)# include int main(void) int a, b; printf(input a, b:); scanf(%o%d , &a, &b); printf(%d%5dn, a, b); /*%5d指定變量指定變量b的輸出寬度為的輸出寬度為5 */ printf(%x, %dn

39、, a, b); return 0; input a, b: 17 1715 17f, 17%x%d1:17實(shí)型數(shù)據(jù)的輸入和輸出實(shí)型數(shù)據(jù)的輸入和輸出n輸入輸入 scanf()float:%f 或或%e 以小數(shù)或指數(shù)形式輸入一個(gè)單精度浮點(diǎn)數(shù)以小數(shù)或指數(shù)形式輸入一個(gè)單精度浮點(diǎn)數(shù)double: %lf或或%le 以小數(shù)或指數(shù)形式輸入一個(gè)以小數(shù)或指數(shù)形式輸入一個(gè)雙精度雙精度浮點(diǎn)數(shù)浮點(diǎn)數(shù)n輸出輸出 printf()float 和和double使用相同的格式控制說(shuō)明使用相同的格式控制說(shuō)明%f以小數(shù)形式輸出浮點(diǎn)數(shù),保留以小數(shù)形式輸出浮點(diǎn)數(shù),保留6位小數(shù)位小數(shù)%e以指數(shù)形式輸出以指數(shù)形式輸出1:17實(shí)型數(shù)據(jù)輸

40、出格式示例實(shí)型數(shù)據(jù)輸出格式示例# include int main(void) double d = 3.1415926; printf(%f, %en, d, d); printf(%5.3f, %5.2f, %.2fn, d, d, d); return 0; 3.141593, 3.14159e+003.142, 3.14, 3.14一共一共5位,小數(shù)部分位,小數(shù)部分3位,小數(shù)點(diǎn)占位,小數(shù)點(diǎn)占1位位1:17實(shí)型數(shù)據(jù)輸入輸出示例實(shí)型數(shù)據(jù)輸入輸出示例假定假定float的精度為的精度為7位,位,double的精度為的精度為16位位 # include int main(void) float

41、f; double d; printf(input f, d:); scanf(%f%lf, &f, &d); printf(f = %fn d = %f n, f, d); d = 1234567890123.12; printf(d = %f n, d); return 0;input f, d: 1234567890123.123456 1234567890123.123456f = 1234567954432.000000d = 1234567890123.123540d = 1234567890123.1201201:17格式符中占位數(shù)的作用格式符中占位數(shù)的作用m或或 m.nm:輸出

42、數(shù)據(jù)所占的列數(shù),輸出數(shù)據(jù)所占的列數(shù),又稱為場(chǎng)寬。又稱為場(chǎng)寬。n:表示輸出實(shí)型數(shù)值時(shí)小數(shù)點(diǎn)后的位數(shù):表示輸出實(shí)型數(shù)值時(shí)小數(shù)點(diǎn)后的位數(shù)整型輸出格式符中加入占位數(shù)整型輸出格式符中加入占位數(shù)m: 沒(méi)有沒(méi)有m m,按實(shí)際長(zhǎng)度輸出,按實(shí)際長(zhǎng)度輸出 實(shí)際位數(shù)實(shí)際位數(shù) m m,且,且m m是正數(shù),數(shù)字占是正數(shù),數(shù)字占m m位,右邊對(duì)齊,左邊補(bǔ)空格;位,右邊對(duì)齊,左邊補(bǔ)空格; 實(shí)際位數(shù)實(shí)際位數(shù) m m(或缺?。ɑ蛉笔 m),按實(shí)際長(zhǎng)度輸出,),按實(shí)際長(zhǎng)度輸出,m m不起作用不起作用格式控制說(shuō)明符格式控制說(shuō)明符:% - 0 m.n% - 0 m.n 格式字符格式字符 左對(duì)齊左對(duì)齊 補(bǔ)補(bǔ)0 寬度寬度 精度精度缺省

43、右對(duì)齊缺省右對(duì)齊 補(bǔ)空格補(bǔ)空格1:17實(shí)型輸出格式符中加入占位數(shù)實(shí)型輸出格式符中加入占位數(shù)m.n: 沒(méi)有沒(méi)有m.nm.n,按數(shù)字的實(shí)際位數(shù)輸出,按數(shù)字的實(shí)際位數(shù)輸出 實(shí)數(shù)實(shí)數(shù)長(zhǎng)度長(zhǎng)度 m m,不管實(shí)數(shù)是正數(shù)還是負(fù)數(shù),按實(shí)際長(zhǎng)度輸出,不管實(shí)數(shù)是正數(shù)還是負(fù)數(shù),按實(shí)際長(zhǎng)度輸出,m.nm.n不起作用不起作用 實(shí)實(shí)數(shù)長(zhǎng)度數(shù)長(zhǎng)度 m m,且,且m m是正數(shù):實(shí)數(shù)的總位數(shù)占是正數(shù):實(shí)數(shù)的總位數(shù)占m m位,小數(shù)點(diǎn)占位,小數(shù)點(diǎn)占一位,小數(shù)部分占一位,小數(shù)部分占n n位,整數(shù)部分占(位,整數(shù)部分占(m-n-1m-n-1)位,)位, 右邊對(duì)齊,右邊對(duì)齊,左邊補(bǔ)空;左邊補(bǔ)空; 實(shí)際位數(shù)實(shí)際位數(shù) m m,且,且m m是

44、負(fù)數(shù):實(shí)數(shù)的總位數(shù)占是負(fù)數(shù):實(shí)數(shù)的總位數(shù)占m m位,小數(shù)點(diǎn)占位,小數(shù)點(diǎn)占一位,小數(shù)部分占一位,小數(shù)部分占n n位,整數(shù)部分占(位,整數(shù)部分占(m-n-1m-n-1)位,)位, 左邊對(duì)齊,左邊對(duì)齊,右邊補(bǔ)空;右邊補(bǔ)空; 實(shí)數(shù)的指數(shù)形式中實(shí)數(shù)的指數(shù)形式中m.nm.n的的n n是小數(shù)部分加上是小數(shù)部分加上e(e(占一位占一位) ),且,且e e是優(yōu)先是優(yōu)先的。例如的。例如123.678123.678 %-15.6e%-15.4e%-15.2e%-15.6e%-15.4e%-15.2e% 1.23678e+02 1.237e+02 1.23678e+02 1.237e+02 1.2e+021.2e+0

45、2 1:17int a = 365; long b = 30097; char c = Z; float d = 132.76; double e = 7865.298;printf(“%6d%10ld%3c%12f%12lf”, a, b, c, d, e);printf(printf(“a=%da=%d b=%dnb=%dn”,a,b);,a,b);輸出:輸出:a=3b=4a=3b=4printf(printf(“%4d,%4dn%4d,%4dn”,a,b); a=123,b=12345,a,b); a=123,b=12345輸出:輸出:123,12345輸出:輸出:36530097Z13

46、2.7599957865.2980001:17= a=3;b=4;= a=123a=123;b=12345b=12345;基本基本數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型字符型字符型n字符具有數(shù)值特征字符具有數(shù)值特征A 65 0100 0001 n整型變量和字符變量的定義和賦值可以互整型變量和字符變量的定義和賦值可以互換換 【 ASCII碼碼范圍】范圍】 char c; c = A; 或或 c = 65; int i; i = 65; 或或 i = A;1:17字符型常量字符型常量n字符常量字符常量a、A、9、+、 $ (注意:?jiǎn)我?hào))(注意:?jiǎn)我?hào)) nASCII字符集字符集列出所有可用的字符(列出所有可用的字符(

47、256個(gè))個(gè))每個(gè)字符:惟一的次序值(每個(gè)字符:惟一的次序值( ASCII 碼)碼)0 9 升序排列升序排列A Za z1:17字符的數(shù)值特征字符的數(shù)值特征字符字符ASCII 碼碼對(duì)字符進(jìn)行運(yùn)算對(duì)字符進(jìn)行運(yùn)算 對(duì)字符的對(duì)字符的ASCII 碼進(jìn)行運(yùn)算碼進(jìn)行運(yùn)算例如:例如:A 的的 ASCII 碼碼 65則:則:A+1=66,對(duì)應(yīng)字符對(duì)應(yīng)字符 B區(qū)分?jǐn)?shù)字字符和數(shù)字區(qū)分?jǐn)?shù)字字符和數(shù)字 1 11:17字符型數(shù)據(jù)輸入輸出字符型數(shù)據(jù)輸入輸出nscanf() 和和 printf() %cchar ch;scanf(%c, &ch);printf(%c, ch);ngetchar() 和和 putchar()

48、char ch;ch = getchar( );putchar(ch);輸入輸出一個(gè)字符輸入輸出一個(gè)字符1:17輸入輸出字符示例輸入輸出字符示例# include int main(void) char ch1, ch2; ch1=getchar(); ch2=getchar(); putchar(ch1); putchar(#); putchar(ch2); return 0;AbA#b輸入輸出字符示例輸入輸出字符示例# include int main(void) char ch1, ch2, ch3; scanf(%c%c%c, &ch1, &ch2, &ch3); printf(%c%

49、c%c%c%c, ch1, #, ch2, #, ch3); return 0;AbCA#b#CA bCA# #b【例例6-1】單詞加密解析。輸入一個(gè)英文單詞(由單詞加密解析。輸入一個(gè)英文單詞(由6個(gè)小寫(xiě)英文字母組成),個(gè)小寫(xiě)英文字母組成),按照下列過(guò)程將該單詞加密:先將英文單詞中的小寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)的大按照下列過(guò)程將該單詞加密:先將英文單詞中的小寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)的大寫(xiě)字母,再將該大寫(xiě)字母的寫(xiě)字母,再將該大寫(xiě)字母的ASCII碼對(duì)碼對(duì)10整除后取其余數(shù),從而得到一個(gè)整除后取其余數(shù),從而得到一個(gè)六位整數(shù)密碼。六位整數(shù)密碼。#include int main(void) int i;char ch_

50、lower, ch_upper; for(i = 1; i = a & ch_lower %c-%dn, ch_lower, ch_upper, ch_upper%10); return 0;fridayf-F-0r-R-2i-I-3d-D-8a-A-5y-Y-9字符運(yùn)算字符運(yùn)算n大小寫(xiě)英文字母轉(zhuǎn)換大小寫(xiě)英文字母轉(zhuǎn)換 b - a = B - A z - a = Z - A m M a-AA-alm - a + A = MlM - A + a = ml8 - 0 = 8l8 + 0 = 8n數(shù)字字符和數(shù)字?jǐn)?shù)字字符和數(shù)字轉(zhuǎn)換轉(zhuǎn)換 9 - 0 = 9 - 0 9 = 9 + 08 88-8 8-82

51、.4 輸出華氏攝氏溫度轉(zhuǎn)換表輸出華氏攝氏溫度轉(zhuǎn)換表2.4.1 程序解析程序解析2.4.2 for語(yǔ)句語(yǔ)句2.4.3 指定次數(shù)的循環(huán)程序設(shè)計(jì)指定次數(shù)的循環(huán)程序設(shè)計(jì)1:172.4.1 程序解析程序解析例例2-6輸入輸入2個(gè)整數(shù)個(gè)整數(shù)lower和和 upper,輸出一張,輸出一張華氏攝氏溫度轉(zhuǎn)換表,華氏溫度的取值范華氏攝氏溫度轉(zhuǎn)換表,華氏溫度的取值范圍是圍是lower, upper,每次增加,每次增加1F。 fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.71:172.4.1 程序解析程序解析-溫度轉(zhuǎn)換表溫度轉(zhuǎn)換表#include int

52、 main(void) int fahr, lower, upper; double celsius; printf(Enter lower:); scanf(%d, &lower); printf(Enter upper:); scanf(%d, &upper); printf(fahr celsiusn);/ 溫度重復(fù)轉(zhuǎn)換:華氏溫度從溫度重復(fù)轉(zhuǎn)換:華氏溫度從lower開(kāi)始,到開(kāi)始,到upper結(jié)束,每次增加結(jié)束,每次增加1F for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) * (fahr - 32); print

53、f(%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.71:17例例2-6中中for語(yǔ)句的流程語(yǔ)句的流程for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) * (fahr - 32); printf(%d %6.1fn, fahr, celsius); fahr = fahr+2輸出?輸出?Enter l

54、ower: 30Enter upper: 35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.71:17forfor( (表達(dá)式表達(dá)式1 1;表達(dá)式表達(dá)式2 2;表達(dá)式表達(dá)式3 3) ) 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句實(shí)現(xiàn)實(shí)現(xiàn)C語(yǔ)句的重復(fù)執(zhí)行語(yǔ)句的重復(fù)執(zhí)行2.4.2 for語(yǔ)句循環(huán)語(yǔ)句語(yǔ)句循環(huán)語(yǔ)句3個(gè)表達(dá)式、循環(huán)體語(yǔ)句個(gè)表達(dá)式、循環(huán)體語(yǔ)句!書(shū)寫(xiě)順序和執(zhí)行順序不同書(shū)寫(xiě)順序和執(zhí)行順序不同!表達(dá)式表達(dá)式1只執(zhí)行一次只執(zhí)行一次1:17for循環(huán)語(yǔ)句循環(huán)語(yǔ)句格式:格式: for(初值表達(dá)式初值表達(dá)式; 條件表達(dá)式;條件表達(dá)式; 增量表達(dá)式增量表達(dá)式)

55、循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句12345真真假假 N Y 條件表達(dá)式 語(yǔ)句 初值表達(dá)式 增量表達(dá)式 初值表達(dá)式:初值表達(dá)式:給循環(huán)變量賦初值。給循環(huán)變量賦初值。條件表達(dá)式:條件表達(dá)式:循環(huán)的條件,循環(huán)的條件,決定決定循環(huán)是否繼續(xù)。循環(huán)是否繼續(xù)。增量表達(dá)式:增量表達(dá)式:改變循環(huán)變量的值,改變循環(huán)變量的值,給循環(huán)變量增加一個(gè)定量(步給循環(huán)變量增加一個(gè)定量(步長(zhǎng))。長(zhǎng))。1:17循環(huán)循環(huán)(控制控制)變量變量:for語(yǔ)句中,通過(guò)改變或判斷某個(gè)語(yǔ)句中,通過(guò)改變或判斷某個(gè)變量的值來(lái)控制循環(huán)的執(zhí)行變量的值來(lái)控制循環(huán)的執(zhí)行for (fahr = lower; fahr = upper; fahr +) celsius

56、= (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); for語(yǔ)句中的循環(huán)變量語(yǔ)句中的循環(huán)變量賦初值賦初值判斷其值判斷其值改變其值改變其值1:17for (fahr = lower; fahr = upper; 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)是否

57、達(dá)到終點(diǎn)?給出循環(huán)的條件,判斷循環(huán)是否達(dá)到終點(diǎn)?fahr = upper表達(dá)式表達(dá)式3:設(shè)置循環(huán)的步長(zhǎng),改變循環(huán)變量的值,從而可改設(shè)置循環(huán)的步長(zhǎng),改變循環(huán)變量的值,從而可改變表達(dá)式變表達(dá)式2的真假性。的真假性。fahr+循環(huán)體語(yǔ)句:循環(huán)體語(yǔ)句:被反復(fù)執(zhí)行的語(yǔ)句,一條語(yǔ)句。被反復(fù)執(zhí)行的語(yǔ)句,一條語(yǔ)句。for語(yǔ)句的說(shuō)明語(yǔ)句的說(shuō)明1:17for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); for (fahr = lower ;

58、 fahr = upper; fahr = fahr + 1) celsius = (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); 復(fù)合語(yǔ)句復(fù)合語(yǔ)句 和空語(yǔ)句和空語(yǔ)句 ;for (fahr = lower ; fahr = upper; fahr = fahr + 1); celsius = (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); !不要在不要在for語(yǔ)句中隨意加分號(hào)語(yǔ)句中隨意加分號(hào)1:17說(shuō)明:說(shuō)明:1. for( 1. for(

59、 ;條件表達(dá)式條件表達(dá)式; ) ) 表達(dá)式表達(dá)式 1 1、3 3 可省,可省, 但分號(hào)不能省但分號(hào)不能省2. i=1;2. i=1; for( ;i=n;i+) for( ;i=n;i+)for(i=1;i=n;i+)for(i=1;i=n;i+)3. 3. 表達(dá)式表達(dá)式 1 1、3 3 省略省略 i i=1;=1; for( ; i=n; ) for( ; i=n; ) sum=sum+i; sum=sum+i; i+; i+; 1:17求求 1+2+100抽取具有共性的算式:抽取具有共性的算式:sum = sum + i sum初值為初值為0,該算式重復(fù),該算式重復(fù)100次,次,i從從1變

60、到變到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)步長(zhǎng)的表達(dá)式設(shè)置循環(huán)步長(zhǎng)的表達(dá)式3:i+循環(huán)體語(yǔ)句:循環(huán)體語(yǔ)句: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ì)1:17/* 計(jì)算計(jì)算1 + 2 + 3 + + 100 */#include int main(void) int i, sum; sum = 0; /* 置累加和置累加和sum的初值為的初值為0 */ for ( i

溫馨提示

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

評(píng)論

0/150

提交評(píng)論