C程序語(yǔ)言課件:第5章 選擇控制結(jié)構(gòu)_第1頁(yè)
C程序語(yǔ)言課件:第5章 選擇控制結(jié)構(gòu)_第2頁(yè)
C程序語(yǔ)言課件:第5章 選擇控制結(jié)構(gòu)_第3頁(yè)
C程序語(yǔ)言課件:第5章 選擇控制結(jié)構(gòu)_第4頁(yè)
C程序語(yǔ)言課件:第5章 選擇控制結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(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、2022-4-182/562022-4-183/562022-4-184/562022-4-185/562022-4-186/562022-4-187/562022-4-188/562022-4-189/562022-4-1810/562022-4-1811/56Start/EndProcessInput/OutputTestConnectorFlow of activities2022-4-1812/56 2022-4-1813/56price = quantity*pricePerkg;scanf(%d, &quantity); scanf(%d, &pricePerkg)

2、;printf(%d, price);ABC2022-4-1814/56 2022-4-1815/562022-4-1816/56Relational OperationDescriptionExamples of ExpressionValueLess than6 91 (true)=Less than or equal to5 Greater than2 60 (false)=Greater than or equal to9 = 51 (true)=Equal to7 = 50 (false)!=Not equal to6 != 51 (true)2022-4-1817/56step a

3、if startstep mstep nend_ifstep b2022-4-1818/56Syntax:復(fù)合語(yǔ)句復(fù)合語(yǔ)句compound statement被當(dāng)作一條語(yǔ)句看待被當(dāng)作一條語(yǔ)句看待2022-4-1819/56Syntax:2022-4-1820/56#include main() int a, b, max; printf(Input a,b:); scanf(%d,%d, &a, &b); if (a b)max = a; if (a = b)max = b; printf(max = %dn, max);Input a,b: _Input a,b: 20 15

4、_Input a,b: 20 15max = 20_2022-4-1821/56Step aif startStep mStep nend_ifelse startStep xStep yend_elseStep z2022-4-1822/56Syntax:or2022-4-1823/562022-4-1824/562022-4-1825/56#include main() int a, b, max; printf(Input a, b:); scanf(%d,%d, &a, &b); if (a b) max = a; else max = b; printf(max =

5、%d, max); if (a b) max = a; if (a = b) max = b;2022-4-1826/56#include main() int a, b, max; printf(Input a, b:); scanf(%d,%d, &a, &b); if (a b) max = a; else max = b; printf(max = %d, max); max = a b ? a : b;2022-4-1827/56Step a (expression1)Step m (expression2) Step n Step z2022-4-1828/56St

6、ep a(expression1) Step m (expression2) Step n Step x Step z2022-4-1829/56The structure is similar to multiple selection (flowchart)2022-4-1830/56Important Rule !2022-4-1831/56Example: switch (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);break;case 3:printf(Marchn);break;default:prin

7、tf(Othersn);break; printf(End);January_JanuaryEnd _2022-4-1832/56Example: switch (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);break;case 3:printf(Marchn);break;default:printf(Othersn);break; printf(End);March_MarchEnd _2022-4-1833/56Example: switch (month) case 1:printf(Januaryn);b

8、reak;case 2:printf(Februaryn);break;case 3:printf(Marchn);break;default:printf(Othersn);break; printf(End);2022-4-1834/56Example: switch (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);case 3:printf(Marchn);break;default:printf(Othersn);break; printf(End);2022-4-1835/56Example: switch

9、 (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);case 3:printf(Marchn);break;default:printf(Othersn);break; printf(End);February_March _End _2022-4-1836/56Example: switch (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);case 3:printf(Marchn);break;default:printf(Othersn)

10、;break; printf(End);最好不省略最好不省略!2022-4-1837/562022-4-1838/56Why?注釋掉會(huì)怎樣注釋掉會(huì)怎樣? ?2022-4-1839/562022-4-1840/56空格空格2022-4-1841/562022-4-1842/56取絕對(duì)值函數(shù)取絕對(duì)值函數(shù)2022-4-1843/56else-ifelse-if比比switchswitch的條件控制更強(qiáng)大一些的條件控制更強(qiáng)大一些elseelse- -ifif可以依照各種邏輯運(yùn)算的結(jié)果進(jìn)行流程控制可以依照各種邏輯運(yùn)算的結(jié)果進(jìn)行流程控制switchswitch只能進(jìn)行只能進(jìn)行=判斷,并且只能是判斷,并且只

11、能是整數(shù)判斷整數(shù)判斷csaecsae后面的常量表達(dá)式不能用一個(gè)區(qū)間表示,也不后面的常量表達(dá)式不能用一個(gè)區(qū)間表示,也不 能出現(xiàn)任何運(yùn)算符。能出現(xiàn)任何運(yùn)算符。 例:例: csae 90=score=100:csae 90=score=100:語(yǔ)句;語(yǔ)句; case 90100:case 90100:語(yǔ)句;語(yǔ)句;switchswitch比比else-ifelse-if更清晰更清晰兩者都要盡量避免用得過(guò)多、過(guò)長(zhǎng),尤其不要嵌套得太多兩者都要盡量避免用得過(guò)多、過(guò)長(zhǎng),尤其不要嵌套得太多, ,否則否則, ,會(huì)會(huì)大大增加程序的分支,使邏輯關(guān)系顯得混亂,不大大增加程序的分支,使邏輯關(guān)系顯得混亂,不易維護(hù),易出錯(cuò)。

12、易維護(hù),易出錯(cuò)。2022-4-1844/562022-4-1845/56aba & b a | b!a!b0000110101101001011111002022-4-1846/562022-4-1847/56在邏輯表達(dá)式的求值過(guò)程中,并不是所有的邏輯運(yùn)算符都被執(zhí)在邏輯表達(dá)式的求值過(guò)程中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的值時(shí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的值時(shí),才執(zhí)行該運(yùn)算符。,才執(zhí)行該運(yùn)算符。 a & b & c 只有只有a為真時(shí)為真時(shí),才需要,才需要判別判別b的值的值,只有,只有a和和b的值都為真時(shí)的值

13、都為真時(shí)才需要才需要判別判別c的值的值。如:如:int i=10;則表達(dá)式則表達(dá)式i & (i=0) & (+i)的的值為值為?變量變量i的值的值為為?0(假),(假),該表達(dá)式該表達(dá)式運(yùn)算結(jié)束后運(yùn)算結(jié)束后,變量變量i的值為的值為0,而不是而不是1。 a | b|c 只要只要a為真為真,就,就不必須判斷不必須判斷b和和c;只有只有a為假為假,才,才判別判別b;a和和b 都為假都為假才才判別判別c。如:如:int i=1,j; 則表達(dá)式則表達(dá)式i+|i+|i+的的值為值為?變量變量i的值為的值為?1(真),(真),運(yùn)算結(jié)束后,運(yùn)算結(jié)束后,變量變量i的值為的值為2,而不是而不是4。2022-4-1848/56對(duì)于數(shù)學(xué)上的表示多個(gè)數(shù)據(jù)間進(jìn)行比較的表達(dá)對(duì)于數(shù)學(xué)上的表示多個(gè)數(shù)據(jù)間進(jìn)行比較的表達(dá)式,在式,在C中要拆寫(xiě)成多個(gè)條件并用邏輯運(yùn)算符連中要拆寫(xiě)成多個(gè)條件并用邏輯運(yùn)算符連接形成一個(gè)邏輯表達(dá)式。接形成一個(gè)邏輯表達(dá)式。如:在數(shù)學(xué)上,要表示一個(gè)變量如:在數(shù)學(xué)上,要表示一個(gè)變量a的值處于的值處于-1和和-9之間時(shí),可以用之間時(shí),可以用-9a-9 &

溫馨提示

  • 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)論