資源描述:
《控制語(yǔ)句2011-廖昌俊》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第三章控制語(yǔ)句程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)選擇結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)輔助控制語(yǔ)句13.1程序的三種基本結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無(wú)條件轉(zhuǎn)移語(yǔ)句(goto)。優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率。三種基本結(jié)構(gòu)順序結(jié)構(gòu)ABAB流程圖N-S圖2PAB真假PBA真假選擇結(jié)構(gòu)-二分支選擇結(jié)構(gòu)-多分支選擇結(jié)構(gòu)kA1A2AiAnk=k2k=k1k=knk=ki......3循環(huán)結(jié)構(gòu)-當(dāng)型循環(huán)結(jié)構(gòu)-直到型循環(huán)結(jié)構(gòu)PA假真當(dāng)P為真AAP真假A直到P為真A,
2、B,A1….An可以是一個(gè)簡(jiǎn)單語(yǔ)句,也可以是一個(gè)基本結(jié)構(gòu)注:43.2復(fù)合語(yǔ)句C語(yǔ)句分為以下五類:控制語(yǔ)句:完成程序流程控制,包括條件、循環(huán)、分支等。函數(shù)調(diào)用語(yǔ)句:由函數(shù)調(diào)用加分號(hào)構(gòu)成。表達(dá)式語(yǔ)句:在表達(dá)式后面加分號(hào)構(gòu)成,常用的有賦值語(yǔ)句。空語(yǔ)句:僅包含一個(gè)分號(hào)的語(yǔ)句。復(fù)合語(yǔ)句:由大括號(hào){}括起來(lái)的語(yǔ)句序列。C語(yǔ)句:以“;”作分隔符,編譯后產(chǎn)生機(jī)器指令。5一般形式:{[數(shù)據(jù)說(shuō)明部分;]執(zhí)行語(yǔ)句部分;}說(shuō)明:“}”后不加分號(hào)語(yǔ)法上和單一語(yǔ)句相同復(fù)合語(yǔ)句可嵌套復(fù)合語(yǔ)句復(fù)合語(yǔ)句在語(yǔ)法上作為一條單語(yǔ)句。在C語(yǔ)言程序中,凡是
3、可以出現(xiàn)單一語(yǔ)句的地方,都可以使用復(fù)合語(yǔ)句。構(gòu)成復(fù)合語(yǔ)句的語(yǔ)句也可以是復(fù)合語(yǔ)句。復(fù)合語(yǔ)句可配合控制語(yǔ)句完成流程控制。6C程序流程控制語(yǔ)句(共9種)if()~else~switchfor()~while()~do~while()continuebreakgotoreturn分支循環(huán)輔助控制7選擇結(jié)構(gòu)程序設(shè)計(jì)if語(yǔ)句的三種形式形式一:格式:if(expression)statement執(zhí)行過(guò)程:例:if(x>y){printf(“%d”,x);}表達(dá)式statement1statement2非0=0形式二:格式:if
4、(expression)statement1elsestatement2執(zhí)行過(guò)程:例:if(x>y){max=x;}else{max=y;}㈠if語(yǔ)句(條件選擇語(yǔ)句)max=(x>y)?x:y;表達(dá)式statement非0=08形式三:格式:if(expr1)statement1elseif(expr2)statement2elseif(expr3)statement3…...[elsestatementn]表達(dá)式1statemnt1非0=0表達(dá)式2表達(dá)式3statementnstatemnt3statemnt2
5、非0非0=0=0執(zhí)行過(guò)程:例:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;9例:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a(chǎn)’)printf(“%d”,’a’);說(shuō)明:if后面的表達(dá)式類型任意語(yǔ)句可以是復(fù)合語(yǔ)句if(x)?if(x!=0)if(!x)?i
6、f(x==0)例:#includemain(){intx,y,z;scanf(“%d,%d”,&x,&y);if(x>y)z=x;x=y;y=z;elsex++;y++;printf(“%d,%d”,x,y);}CompileError!10#includemain(){intx,y;printf("Enteraninteger:");scanf("%d",&x);y=x;if(y<0)y=-y;printf("integer:%d--->absolutevalue:%
7、d",x,y);}例:求一個(gè)數(shù)的絕對(duì)值Enteraninteger:-12?integer:-12--->absolutevalue:1211#includemain(){inta,b;printf("Enterintegera:");scanf("%d",&a);printf("Enterintegerb:");scanf("%d",&b);if(a==b)printf("a==b");elseprintf("a!=b");}例:輸入兩個(gè)數(shù)并判斷兩數(shù)是否相等運(yùn)行:Enterinte
8、gera:12?Enterintegerb:12?a==b運(yùn)行:Enterintegera:12?Enterintegerb:9?a!=b12#includemain(){charc;printf("Enteracharacter:");c=getchar();if(c<0x20)printf("Thecharacterisacontrolcharact