資源描述:
《第07講 選擇結(jié)構(gòu)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第七講選擇結(jié)構(gòu)第七講選擇結(jié)構(gòu)關(guān)系運(yùn)算if語句if-else語句問號運(yùn)算符邏輯運(yùn)算switch語句程序設(shè)計(jì)舉例C語言程序設(shè)計(jì)2引例引例問題:根據(jù)輸入的x值,計(jì)算y值。分析情況一:條件x≤2.5滿足時(shí)情況二:條件x>2.5滿足時(shí)選擇結(jié)構(gòu)y=x2+1(x≤2.5)X2-1(x>2.5)3引例引例源代碼(cw0601.c)選擇結(jié)構(gòu)#includevoidmain(){floatx,y;scanf("%f",&x);if(x<=2.5)y=x*x+1;elsey=x*x-1;printf("y=
2、%.1f",y);}x≤2.5y=x2+1y=x2-1是否4關(guān)系運(yùn)算關(guān)系運(yùn)算(比較運(yùn)算)比較兩個(gè)值,結(jié)果為“真”或“假”。舉例:a>3如果a=8,則結(jié)果為“真”如果a=1,則結(jié)果為“假”用關(guān)系運(yùn)算進(jìn)行條件判斷關(guān)系表達(dá)式表示一個(gè)條件,根據(jù)其結(jié)果判斷條件是否滿足。舉例:a>3如果a=8,結(jié)果為“真”,即條件滿足如果a=1,結(jié)果為“假”,即條件不滿足選擇結(jié)構(gòu)5關(guān)系運(yùn)算符關(guān)系運(yùn)算符選擇結(jié)構(gòu)運(yùn)算符含義優(yōu)先級結(jié)合性<小于6左結(jié)合<=小于或等于>大于>=大于或等于==等于7!=不等于6關(guān)系表達(dá)式關(guān)系表達(dá)式表達(dá)式1
3、關(guān)系運(yùn)算符表達(dá)式2表達(dá)式1和表達(dá)式2可以是任何表達(dá)式。舉例選擇結(jié)構(gòu)a>bm+n<=20c!=‘y’(x>z)==(y>z)7關(guān)系表達(dá)式關(guān)系表達(dá)式的值是一個(gè)邏輯值:“真”或“假”C語言沒有邏輯類型,因此用整數(shù)1表示“真”用整數(shù)0表示“假”即關(guān)系表達(dá)式的值是整數(shù)1或0。舉例若a=1,b=2,c=3選擇結(jié)構(gòu)a>ba+b<=c(a>c)==(b>c)‘Y’!=‘y’01118關(guān)系表達(dá)式的使用舉例:寫出下面各條件的關(guān)系表達(dá)式x為不小于-5的整數(shù)x為非零的數(shù)x的平方大于m與n的和選擇結(jié)構(gòu)x>=-5x!=0x*x>(
4、m+n)9if選擇結(jié)構(gòu)if選擇結(jié)構(gòu)用于在可選擇的幾個(gè)操作之間做出決策。偽代碼語句舉例:…ifstudent’sgradeisgreaterthanorequalto60Print“Passed”…如果條件滿足(學(xué)生的課程成績大于或等于60)那么就打印“Passed”,然后程序按順序執(zhí)行下一條偽代碼語句否則,即條件不滿足(學(xué)生的課程成績小于60)就忽略打印操作,順序執(zhí)行下一條偽代碼語句選擇結(jié)構(gòu)10if選擇結(jié)構(gòu)if選擇結(jié)構(gòu)是單入單出的舉例選擇結(jié)構(gòu)FalsePrint“Passed”grade>=60True
5、if選擇結(jié)構(gòu)if(grade>=60)printf(“Passed”);條件表達(dá)式可以是任何表達(dá)式。0(zero):假非0(nonzero):真圓括號不能省略。if子句只能是單條語句。11if-else選擇結(jié)構(gòu)if選擇結(jié)構(gòu)只有在條件滿足時(shí),才會(huì)執(zhí)行一個(gè)操作;否則就會(huì)跳過這個(gè)操作。if-else選擇結(jié)構(gòu)條件滿足時(shí)所執(zhí)行的操作與不滿足時(shí)所執(zhí)行的操作不同。偽代碼語句舉例:…ifstudent’sgradeisgreaterthanorequalto60Print“Passed”elsePrint“Failed
6、”…選擇結(jié)構(gòu)12if-else選擇結(jié)構(gòu)if選擇結(jié)構(gòu)舉例選擇結(jié)構(gòu)Print“Passed”TruePrint“Failed”grade>=60Falseif-else選擇結(jié)構(gòu)if(grade>=60)printf(“Passed”);elseprintf(“Failed”);if子句else子句13條件運(yùn)算符條件運(yùn)算符:?:三目運(yùn)算符右結(jié)合條件表達(dá)式表達(dá)式1?表達(dá)式2:表達(dá)式3舉例選擇結(jié)構(gòu)printf(“%s”,(grade>=60)?“Passed”:“Failed”);(grade>=60)?prin
7、tf(“Passed”):printf(“Failed”);14嵌套的選擇結(jié)構(gòu)嵌套的if-else結(jié)構(gòu)對多種情況進(jìn)行測試偽代碼語句舉例:根據(jù)學(xué)生的課程成績在不同的分?jǐn)?shù)段內(nèi),打印正確的等級名稱90~A80~89B70~79C60~69D~59E選擇結(jié)構(gòu)15嵌套的選擇結(jié)構(gòu)嵌套的if-else結(jié)構(gòu)舉例if學(xué)生的分?jǐn)?shù)大于等于90打印“A”elseif學(xué)生的分?jǐn)?shù)大于等于80Print“B”elseif學(xué)生的分?jǐn)?shù)大于等于70Print“C”elseif學(xué)生的分?jǐn)?shù)大于等于60Print“D”elsePrint“E”選
8、擇結(jié)構(gòu)注意這里隱含的情況:分?jǐn)?shù)小于9016嵌套的選擇結(jié)構(gòu)嵌套的if-else結(jié)構(gòu)舉例選擇結(jié)構(gòu)if(grade>=90)printf(“A”);elseif(grade>=80)printf(“B”);elseif(grade>=80)printf(“C”);elseif(grade>=60)printf(“D”);elseprintf(“E”);if(grade>=90)printf(“A”);elseif(grade>=80)printf