根據(jù)一定的條件分別執(zhí)行不同的操作。
根據(jù)選擇結(jié)構(gòu)的表示方法,分析問題時(shí)著重明確以下兩點(diǎn):
在C語言中,不論采用何種形式的選擇,都必須有用做
判斷的條件表達(dá)式,且條件表達(dá)式的類型不限于關(guān)系表達(dá)式或邏輯表達(dá)式,而只要能判斷表達(dá)式的值為0或非0即可,所以選擇結(jié)構(gòu)中的條件表達(dá)式的類型可以是任意類型的表達(dá)式。
ps:
關(guān)系表達(dá)式的值:真(1)假? (0)
關(guān)系表達(dá)式的值,還可以參與其它種類的運(yùn)算,例如算術(shù)運(yùn)算,邏輯運(yùn)算等。
優(yōu)先級(jí):
C語言編譯系統(tǒng)表示邏輯運(yùn)算結(jié)果時(shí):真用1表示,假用0表示。
在判斷一個(gè)量的真假時(shí):用0表示假,用非0表示真
假用0表示
實(shí)際上,邏輯運(yùn)算符兩側(cè)的運(yùn)算對象不但可以是0和1,0和非0,也可以是字符型、實(shí)型和指針型等。系統(tǒng)最終是以0和非0來判定它們的真假的。
短路特征:就是在運(yùn)算過程中,如果計(jì)算第一個(gè)操作數(shù)時(shí),就能得知運(yùn)算結(jié)果,就不會(huì)再計(jì)算第二個(gè)操作數(shù)。
C語言編譯系統(tǒng)在對邏輯表達(dá)式的求解中,并不是所有的運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行后面的運(yùn)算符才能求出表達(dá)式值時(shí),才執(zhí)行其后的運(yùn)算。
例1:
?(m=a>b)&&(n=c>d)
若a=1,b=2,c=3,d=4,m=n=1,進(jìn)行下述運(yùn)算后,m、n的值分為:
由于a>b不成立值為0,因此m=0,二者只要有一個(gè)為假就說明此式為假,所以n=c>d不執(zhí)行,因此n的值仍為1。
例2:
a--|| b--&&--c
若int a=1,b=1,c=1;則表達(dá)式 a--|| b--&&--c的值為多少?
不僅要考慮短路,還要考慮優(yōu)先級(jí),原式等價(jià)于:
?a--||(?b--&&--c)
a--先賦值1再減減,左側(cè)已經(jīng)為真,右側(cè)無需計(jì)算。
所以:表達(dá)式 a--|| b--&&--c的值為1,a=0,b=1,c=1。
三.關(guān)于條件的表達(dá) 1.不要與數(shù)學(xué)運(yùn)算符的寫法混淆數(shù)學(xué):? ? ? ? ? ? ? ? ?C語言:
當(dāng)做一個(gè)整體,不可拆。
3.不要把相等符號(hào)(==)寫成賦值號(hào)(=)C語言中==相當(dāng)于數(shù)學(xué)=。
4.避免直接對浮點(diǎn)數(shù)做相等或不相等的判斷一般是相減后小于某一范圍,一般情況下用1e-6,若感覺精度不夠,可將1e-6適當(dāng)調(diào)整為更小的數(shù)。
5.字符可參與比較。比較時(shí),以字符的ASCII碼值與其他值進(jìn)行比較。如‘A'>1314為假。
6.當(dāng)要表達(dá)多個(gè)條件時(shí),需要用邏輯運(yùn)算符連接各個(gè)條件。如,a比5大,比10小。a>5&&a<10。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站欄目:C語言之選擇程序設(shè)計(jì)概述-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://jinyejixie.com/article16/dpcddg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、軟件開發(fā)、微信公眾號(hào)、全網(wǎng)營銷推廣、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容