基本程序設(shè)計(jì)1周課件_第1頁(yè)
基本程序設(shè)計(jì)1周課件_第2頁(yè)
基本程序設(shè)計(jì)1周課件_第3頁(yè)
基本程序設(shè)計(jì)1周課件_第4頁(yè)
基本程序設(shè)計(jì)1周課件_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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、基本程序設(shè)計(jì)1周模式模式1模式模式2模式模式3備注備注ifif(exprexpr) 語(yǔ)句語(yǔ)句S1 S1 ifif(exprexpr) 語(yǔ)句語(yǔ)句S1S1elseelse 語(yǔ)句語(yǔ)句S2S2ifif(expr1expr1) 語(yǔ)句語(yǔ)句S1S1else ifelse if (expr2expr2) 語(yǔ)句語(yǔ)句S2S2else ifelse if (expr3expr3) 語(yǔ)句語(yǔ)句S3S3 elseelse 語(yǔ)句語(yǔ)句SnSn語(yǔ)句語(yǔ)句S1,S2,S3Sn可以是簡(jiǎn)單語(yǔ)可以是簡(jiǎn)單語(yǔ)句,也可以是句,也可以是復(fù)合語(yǔ)句。復(fù)合語(yǔ)句。如如果是復(fù)合語(yǔ)句果是復(fù)合語(yǔ)句語(yǔ)句,必須用語(yǔ)句,必須用一對(duì)花括號(hào)一對(duì)花括號(hào)“ ”括起來(lái)括起來(lái)

2、3.1 3.1 選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì)if if語(yǔ)句的三種基本形式語(yǔ)句的三種基本形式模式模式1: 單選擇單選擇if語(yǔ)句語(yǔ)句語(yǔ)句格式語(yǔ)句格式: if (條件條件) 語(yǔ)句組語(yǔ)句組; 語(yǔ)句語(yǔ)句N條件條件Y 功能:判斷條件為真時(shí)執(zhí)功能:判斷條件為真時(shí)執(zhí)行語(yǔ)句行語(yǔ)句,否則否則跳過(guò)跳過(guò)語(yǔ)句語(yǔ)句模式模式2: 2: 雙選擇雙選擇if if語(yǔ)句語(yǔ)句5.1 if語(yǔ)句語(yǔ)句語(yǔ)句格式語(yǔ)句格式: if (條件條件) 語(yǔ)句組語(yǔ)句組1; else 語(yǔ)句組語(yǔ)句組2; 功能:判斷條件為真時(shí)執(zhí)行語(yǔ)句組功能:判斷條件為真時(shí)執(zhí)行語(yǔ)句組1,否則否則執(zhí)行語(yǔ)句組執(zhí)行語(yǔ)句組2 條件條件 語(yǔ)句語(yǔ)句1 語(yǔ)句語(yǔ)句2YN模式模式3: 3:

3、多條件的多條件的if if語(yǔ)句語(yǔ)句語(yǔ)句格式語(yǔ)句格式: if (條件條件1) 語(yǔ)句語(yǔ)句1; else if (條件條件2) 語(yǔ)句語(yǔ)句2; else if (條件條件3) 語(yǔ)句語(yǔ)句3; else if (條件條件m) 語(yǔ)句語(yǔ)句m; else 語(yǔ)句語(yǔ)句n; 語(yǔ)句語(yǔ)句1N條件條件1Y條件條件2條件條件nYY語(yǔ)句語(yǔ)句2 語(yǔ)句語(yǔ)句3語(yǔ)句語(yǔ)句nNN功能:功能:從多組語(yǔ)句中選擇滿足條從多組語(yǔ)句中選擇滿足條件的語(yǔ)句組執(zhí)行。件的語(yǔ)句組執(zhí)行。6(1)三種形式的)三種形式的if語(yǔ)句中,語(yǔ)句中,if關(guān)鍵詞后面均為關(guān)鍵詞后面均為表達(dá)式。通常為表達(dá)式。通常為關(guān)系表達(dá)式關(guān)系表達(dá)式或或邏輯表達(dá)式邏輯表達(dá)式。也。也可以是其它表達(dá)

4、式,如可以是其它表達(dá)式,如賦值表達(dá)式賦值表達(dá)式,甚至也可,甚至也可以是以是一個(gè)變量一個(gè)變量。例如:例如:if (a=5) 語(yǔ)句;或語(yǔ)句;或 if (b) 語(yǔ)句;均為合法語(yǔ)句;均為合法用法用法(2)if 后的條件判斷表達(dá)式一定用圓括號(hào)括后的條件判斷表達(dá)式一定用圓括號(hào)括起來(lái),語(yǔ)句之后一定起來(lái),語(yǔ)句之后一定 要用分號(hào)。要用分號(hào)。 使用使用if語(yǔ)句時(shí)注意:語(yǔ)句時(shí)注意:7(3)三種形式中)三種形式中,若為一組語(yǔ)句一定用若為一組語(yǔ)句一定用 括括起來(lái),組成起來(lái),組成復(fù)合語(yǔ)句復(fù)合語(yǔ)句。但需注意。但需注意 后不可用后不可用 “;”號(hào)。號(hào)。例如:例如:if (ab) a+; b+; else a=0;b=10;8

5、有一函數(shù)有一函數(shù)編寫一個(gè)程序,輸入編寫一個(gè)程序,輸入x輸出輸出y值。值。0, 10, 00, 1xxxy main( ) int x, y; scanf( “%d”, &x ); if( x =0) if(x0) y=1; else y=0; else y=-1; printf( “x = %dty = %dn”, x. y );方法二:方法二:運(yùn)行:23X=23,y=19一般形式:一般形式: if (表達(dá)式表達(dá)式1) if (表達(dá)式表達(dá)式2) 語(yǔ)句語(yǔ)句1 內(nèi)嵌內(nèi)嵌 else 語(yǔ)句語(yǔ)句 2 if 語(yǔ)句語(yǔ)句 else if (表達(dá)式表達(dá)式3) 語(yǔ)句語(yǔ)句3 內(nèi)嵌內(nèi)嵌 else 語(yǔ)句語(yǔ)句4

6、if 語(yǔ)句語(yǔ)句if 語(yǔ)句中又含有語(yǔ)句中又含有if 語(yǔ)句的形式稱為語(yǔ)句的形式稱為 if 語(yǔ)句的語(yǔ)句的嵌套。嵌套。10說(shuō)明:說(shuō)明: 每一個(gè)每一個(gè) if 與與 else 相匹配,也可能不與相匹配,也可能不與 else 相相匹配;但是匹配;但是每一個(gè)每一個(gè)else 必須與一個(gè)必須與一個(gè) if 相匹配相匹配。 else與與if 匹配的原則是匹配的原則是: 最后的最后的else總是與它上總是與它上面面最近的最近的if 配對(duì)。配對(duì)。 多分支及分支嵌套應(yīng)采用縮排方式,以增加多分支及分支嵌套應(yīng)采用縮排方式,以增加程序的可讀性。程序的可讀性。11例:例: if (a=b) if(b=c) printf(“a=b=

7、c”); else printf(“a!=b”);修改:修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);實(shí)現(xiàn)實(shí)現(xiàn)if else 正確配對(duì)方法:加正確配對(duì)方法:加 12例例 考慮下面程序輸出結(jié)果考慮下面程序輸出結(jié)果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; /*x=-1;*/ printf(“%d”,x); 結(jié)果:結(jié)果:100結(jié)果:結(jié)果:-1x=-1;例:體型判斷例:體型判斷按按“體指數(shù)體

8、指數(shù)”對(duì)肥胖程度進(jìn)行劃分:對(duì)肥胖程度進(jìn)行劃分: 體指數(shù)體指數(shù)t = w / h2 (體重(體重w單位為公斤,身高單位為公斤,身高h(yuǎn)單位為米)單位為米)當(dāng)當(dāng)t 18時(shí),為低體重;時(shí),為低體重;當(dāng)當(dāng)18 t 25時(shí),為正常體重;時(shí),為正常體重;當(dāng)當(dāng)25 t 27時(shí),為超重體重;時(shí),為超重體重;當(dāng)當(dāng)t 27時(shí),為肥胖。時(shí),為肥胖。編程從鍵盤輸入你的身高編程從鍵盤輸入你的身高h(yuǎn)和體重和體重w,判斷你的體重屬,判斷你的體重屬于何種類型。于何種類型。例例#include main()float h, w, t;printf(Please enter h,w:);scanf(%f%f, &h, &a

9、mp;w);t = w / (h * h);if (t = 18 & t = 25 & t = 27) printf(t=%ftToo fat!n, t);當(dāng)當(dāng)t 18時(shí),為低體重;時(shí),為低體重;當(dāng)當(dāng)18 t 25時(shí),為正常體重;時(shí),為正常體重;當(dāng)當(dāng)25 t 27時(shí),為超重體重;時(shí),為超重體重;當(dāng)當(dāng)t 27時(shí),為肥胖。時(shí),為肥胖。#include main() float h, w, t;printf(Please enter h,w:);scanf(%f%f, &h, &w);t = w / (h * h);if (t 18)printf(t=%ftLower

10、 weight!n, t);else if (t 25)printf(t=%ftStandard weight!n, t);else if (t 27)printf(t=%ftHigher weight!n, t);elseprintf(t=%ftToo fat!n, t);例例當(dāng)當(dāng)t 18時(shí),為低體重;時(shí),為低體重;當(dāng)當(dāng)18 t 25時(shí),為正常體重;時(shí),為正常體重;當(dāng)當(dāng)25 t 27時(shí),為超重體重;時(shí),為超重體重;當(dāng)當(dāng)t 27時(shí),為肥胖。時(shí),為肥胖?!纠纠?-63-6】程序舉例】程序舉例運(yùn)輸公司對(duì)用戶計(jì)算運(yùn)費(fèi)。運(yùn)輸公司對(duì)用戶計(jì)算運(yùn)費(fèi)。路程()越遠(yuǎn),每公里運(yùn)費(fèi)越低。標(biāo)準(zhǔn)如下:路程()越遠(yuǎn),每

11、公里運(yùn)費(fèi)越低。標(biāo)準(zhǔn)如下: 沒有折扣沒有折扣 折扣折扣 折扣折扣 折扣折扣 折扣折扣 折扣折扣設(shè)每公里每噸貨物的基本運(yùn)費(fèi)為,貨物重為,設(shè)每公里每噸貨物的基本運(yùn)費(fèi)為,貨物重為,距離為,折扣為,則總運(yùn)費(fèi)的計(jì)算公式為:距離為,折扣為,則總運(yùn)費(fèi)的計(jì)算公式為:* * * *()() ifif(s250) d=0;(s250) d=0; elseelse ifif(s500) d=2;(s500) d=2; else ifelse if(s1000) d=5;(s1000) d=5; elseelse ifif(s2000) d=8;(s2000) d=8; elseelse ifif(s3000) d=1

12、0;(s3000) d=10; elseelse d=15; d=15;1.1.嵌套條件語(yǔ)句實(shí)現(xiàn)嵌套條件語(yǔ)句實(shí)現(xiàn)分析折扣變化的規(guī)律性:分析折扣變化的規(guī)律性:折扣的折扣的“變化點(diǎn)變化點(diǎn)”都是都是250250的倍數(shù)的倍數(shù) 在橫軸上加一種坐標(biāo),在橫軸上加一種坐標(biāo),c c的值為的值為s/250s/250。c c代表代表250250的倍數(shù)。的倍數(shù)。 , 無(wú)折扣;無(wú)折扣;, ;, ;, ;, ; , 。 考慮用考慮用switchcase switchcase 結(jié)構(gòu)結(jié)構(gòu)switch(c) case 0:d=0;break; case 1:d=2;break; case 2:case 3:d=5;break;

13、 case 4:case 5:case 6:case 7:d=8;break; case 8:case 9:case 10:case 11:d=10;break; default:d=15;break; 2.switch2.switch語(yǔ)句實(shí)現(xiàn)語(yǔ)句實(shí)現(xiàn)20它們大大增加程序的分支,使邏輯關(guān)它們大大增加程序的分支,使邏輯關(guān)系顯得混亂,不易維護(hù),易出錯(cuò)系顯得混亂,不易維護(hù),易出錯(cuò)2122i=1; for(;i=5;i+) printf(“%dn”,i);for(i=1;i=5;i+)printf(“%dn”,i);23表達(dá)式表達(dá)式2省略,則不判斷條件,循環(huán)無(wú)終止進(jìn)行下去省略,則不判斷條件,循環(huán)無(wú)終止

14、進(jìn)行下去表達(dá)式表達(dá)式3省略,則應(yīng)另設(shè)法保證循環(huán)的結(jié)束省略,則應(yīng)另設(shè)法保證循環(huán)的結(jié)束 此功能一定在循環(huán)體中完成此功能一定在循環(huán)體中完成 例:例:for(i=1;i=5;) printf(“%dn”,i); i+; (3)表達(dá)式)表達(dá)式1和表達(dá)式和表達(dá)式3可為逗號(hào)表達(dá)式可為逗號(hào)表達(dá)式,因此可以對(duì)因此可以對(duì) 多個(gè)變量賦初值及修改多個(gè)變量賦初值及修改 例如:例如:for(i=1,j=10;i=j;i+,j-) k=i+j;原則上表達(dá)式原則上表達(dá)式2不可省略,若省略需要在循環(huán)體中用不可省略,若省略需要在循環(huán)體中用其它手段(其它手段(break、goto等)結(jié)束循環(huán)等)結(jié)束循環(huán) 。24output: 2

15、3 3 4例如:例如:do-whiledo-while語(yǔ)句語(yǔ)句 dodo 語(yǔ)句語(yǔ)句; while( while(表達(dá)式表達(dá)式) ); 功能:先執(zhí)行循環(huán)體,然后計(jì)算表達(dá)式值,功能:先執(zhí)行循環(huán)體,然后計(jì)算表達(dá)式值,其值若為真(非其值若為真(非0)則繼續(xù)執(zhí)行循環(huán)體,直)則繼續(xù)執(zhí)行循環(huán)體,直到表達(dá)式為假時(shí)為止。到表達(dá)式為假時(shí)為止。 【例】【例】whilewhile和和do-whiledo-while循環(huán)的比較循環(huán)的比較 (1) void main() int i,sum=0; scanf(%d,&i); while(i=10) sum=sum+i; i+; printf(“sum=%dn”,s

16、um); (2) void main()int i,sum=0;scanf(%d,&i); do sum=sum+i; i+; while(i=10); printf(sum=%dn,sum); 循環(huán)至少循環(huán)至少執(zhí)行一次執(zhí)行一次循環(huán)沒有循環(huán)沒有被執(zhí)行被執(zhí)行輸入:輸入:12輸出:輸出:sum=12輸入:輸入:12輸出:輸出:sum=0三種循環(huán)語(yǔ)句的比較三種循環(huán)語(yǔ)句的比較1 1for for 語(yǔ)句與語(yǔ)句與whilewhile語(yǔ)句執(zhí)行過(guò)程相同,但語(yǔ)句執(zhí)行過(guò)程相同,但forfor語(yǔ)語(yǔ)句簡(jiǎn)潔、清晰,它將初始條件、判斷條件和循環(huán)句簡(jiǎn)潔、清晰,它將初始條件、判斷條件和循環(huán)變量的在一行書寫,顯得直觀、

17、明了。變量的在一行書寫,顯得直觀、明了。2 2while while 和和do-whiledo-while語(yǔ)句的循環(huán)控制變量初始化語(yǔ)句的循環(huán)控制變量初始化是在循環(huán)語(yǔ)句之前完成,而是在循環(huán)語(yǔ)句之前完成,而forfor語(yǔ)句循環(huán)變量的初語(yǔ)句循環(huán)變量的初始化是在始化是在forfor中(表達(dá)式中(表達(dá)式1 1)中,也可以在)中,也可以在forfor語(yǔ)句語(yǔ)句前實(shí)現(xiàn)。前實(shí)現(xiàn)。3 3forfor語(yǔ)句和語(yǔ)句和whilewhile語(yǔ)句是判斷條件后執(zhí)行循環(huán)體;語(yǔ)句是判斷條件后執(zhí)行循環(huán)體;而而do-whiledo-while是先執(zhí)行循環(huán)體后判斷條件,無(wú)論條是先執(zhí)行循環(huán)體后判斷條件,無(wú)論條件是否滿足都要執(zhí)行一次循環(huán)體。

18、件是否滿足都要執(zhí)行一次循環(huán)體。 選擇三種循環(huán)的一般原則選擇三種循環(huán)的一般原則如果循環(huán)次數(shù)已知,用如果循環(huán)次數(shù)已知,用for如果循環(huán)次數(shù)未知,用如果循環(huán)次數(shù)未知,用while如果循環(huán)體至少要執(zhí)行一次,用如果循環(huán)體至少要執(zhí)行一次,用do-while這只是這只是“一般一般”原則,不是原則,不是“原則原則”注意注意在在for和和while語(yǔ)句之后一般沒有分號(hào)語(yǔ)句之后一般沒有分號(hào)有分號(hào)表示循環(huán)體就是分號(hào)之前的內(nèi)容(空循環(huán)體)有分號(hào)表示循環(huán)體就是分號(hào)之前的內(nèi)容(空循環(huán)體) while (i 100); i+; for (i = 0; i 100; i+); printf(%d, i);for通常有一個(gè)循環(huán)

19、變量控制循環(huán)的次數(shù),不要在循通常有一個(gè)循環(huán)變量控制循環(huán)的次數(shù),不要在循環(huán)體內(nèi)改變這個(gè)變量環(huán)體內(nèi)改變這個(gè)變量循環(huán)嵌套結(jié)構(gòu)規(guī)劃循環(huán)嵌套結(jié)構(gòu)規(guī)劃外循環(huán)外循環(huán)內(nèi)循環(huán)內(nèi)循環(huán)交叉循環(huán)交叉循環(huán)外循環(huán)外循環(huán)入口入口內(nèi)循環(huán)出口內(nèi)循環(huán)出口內(nèi)循環(huán)出口內(nèi)循環(huán)出口外循環(huán)出口外循環(huán)出口循環(huán)嵌套循環(huán)嵌套在循環(huán)體中,又包在循環(huán)體中,又包含有循環(huán)結(jié)構(gòu)即構(gòu)含有循環(huán)結(jié)構(gòu)即構(gòu)成循環(huán)嵌套成循環(huán)嵌套1 2 3 4 5 6 7 8 9-12 43 6 94 8 12 165 10 15 20 256 12 18 24 30 367 14 21 28 35 42 498 16 24 32 40 48 56 649 18 27 36 45 5

20、4 63 72 81行循環(huán)行循環(huán)中包含中包含列循環(huán)列循環(huán)5.2.1 5.2.1 switchswitch語(yǔ)句格式語(yǔ)句格式輸出下三角形乘法九九表輸出下三角形乘法九九表1 2 3 4 5 6 7 8 9-12 43 6 94 8 12 165 10 15 20 256 12 18 24 30 367 14 21 28 35 42 498 16 24 32 40 48 56 649 18 27 36 45 54 63 72 81思路:行號(hào)為思路:行號(hào)為i,列號(hào)為,列號(hào)為j(1=i=9)(1=j=i) 則:第則:第 i 行中一共要行中一共要輸出輸出 i 個(gè)乘積個(gè)乘積i=7j=5i*j#include

21、main ( ) int i=1, j; /* i:行計(jì)數(shù)器行計(jì)數(shù)器 j:列計(jì)數(shù)器列計(jì)數(shù)器 */ while (i = 9 ) /* 控制打印表頭控制打印表頭 */ printf (%4d,i+); printf (n-n); for (i=1;i=9;i+) /* 行循環(huán)入口行循環(huán)入口 */ j=1; /* 列計(jì)數(shù)器置列計(jì)數(shù)器置1 */ while (j=i ) /*嵌套的內(nèi)循環(huán)。輸出第嵌套的內(nèi)循環(huán)。輸出第i行行 */ printf (“%4d”, i*j); /*輸出乘積輸出乘積 */ j +; /* 列計(jì)數(shù)器列計(jì)數(shù)器+1 */ printf (n); /* 一行輸出結(jié)束后,輸出一行輸出結(jié)束后,輸出n */ 打印九九乘法表打印九九乘法表( (三角形三角形) )內(nèi)循環(huán)終內(nèi)循環(huán)終值與外循值與外循環(huán)變量有環(huán)變量有關(guān)關(guān)用用forfor語(yǔ)句實(shí)現(xiàn)打印乘法九九表語(yǔ)句實(shí)現(xiàn)打印乘法九九表( (三角形三角形) )#include main ( ) int i, j; for ( i=1; i10; i+ ) printf (“%4d”,i); /* 打印表頭打印表頭 */ printf (n-n); for ( i=1; i10; i+ ) /* 控制打印表體控制打印表體 */ for

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論