版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章第四章 邏輯運(yùn)算和判別選取控制邏輯運(yùn)算和判別選取控制41 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式是邏輯運(yùn)算中比較簡單的一種。所謂是邏輯運(yùn)算中比較簡單的一種。所謂“實(shí)踐上是實(shí)踐上是“比較運(yùn)算。將兩個值進(jìn)展比比較運(yùn)算。將兩個值進(jìn)展比較,判別比較的結(jié)果能否符合給定的條件。例如,較,判別比較的結(jié)果能否符合給定的條件。例如,a3是一個關(guān)系表達(dá)式,大于是一個關(guān)系表達(dá)式,大于號是一個關(guān)系運(yùn)算符,假設(shè)號是一個關(guān)系運(yùn)算符,假設(shè)a的值為的值為5,那么滿足給定的,那么滿足給定的“a3條件,因條件,因此關(guān)系表達(dá)式的值為此關(guān)系表達(dá)式的值為“真即真即“條件滿足;假設(shè)條件滿足;假設(shè)a的值為的值為2,不滿足,不滿
2、足“a3條件,那么稱關(guān)系表達(dá)式的值為條件,那么稱關(guān)系表達(dá)式的值為“假。假。14.1.1 關(guān)系運(yùn)算符及其優(yōu)先次序關(guān)系運(yùn)算符及其優(yōu)先次序 C言語提供言語提供6種關(guān)系運(yùn)算符:種關(guān)系運(yùn)算符: (1) 小于小于 (2) 大于大于 (4) = 大于或等于大于或等于 (5) = = 等于等于 (6) != 不等于不等于關(guān)于優(yōu)先次序:關(guān)于優(yōu)先次序:1前前4種關(guān)系運(yùn)算符,種關(guān)系運(yùn)算符,的優(yōu)先級別一樣,的優(yōu)先級別一樣,后兩種也一樣。前后兩種也一樣。前4種高于后種高于后2種。例如,種。例如,“優(yōu)先于優(yōu)先于“=。而。而“與與“優(yōu)優(yōu)先級一樣。先級一樣。 2關(guān)系運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符。關(guān)系運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算
3、符。 3. 關(guān)系運(yùn)算符的優(yōu)先級高于賦值運(yùn)算符。關(guān)系運(yùn)算符的優(yōu)先級高于賦值運(yùn)算符。 高高 低低 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 賦值運(yùn)算符賦值運(yùn)算符例如:例如:ca+b 等效于等效于 c(a+b) ab!=c 等效于等效于 (ab)!=c a=bc 等效于等效于 a=bb, abbc,a3b=5,ab,abbc關(guān)系表達(dá)式的值是一個邏輯值,即關(guān)系表達(dá)式的值是一個邏輯值,即“真或真或“假。例如,關(guān)系表達(dá)式假。例如,關(guān)系表達(dá)式“53的的值為值為“假假“5=0的值為的值為“真。真。C言語沒有邏輯型數(shù)據(jù)言語沒有邏輯型數(shù)據(jù)Pascal言語以言語以True表示表示“真,以真,以Fa1se表示表示“
4、假。假。PASCAL和和FORTRAN等言語都有邏輯型變量和邏輯等言語都有邏輯型變量和邏輯型常量,以型常量,以1代表代表“真,以真,以“0代表代表“假。例如,假設(shè)假。例如,假設(shè)a=3,b=2,c=1,那么:,那么: ab的值為真的值為真,表達(dá)式的值為表達(dá)式的值為1。ab=c的值為的值為“真由于真由于ab的值為的值為1,等于,等于c的值,表達(dá)式的值為的值,表達(dá)式的值為1。 bca的值為的值為“假,表達(dá)式的值為假,表達(dá)式的值為0。 假設(shè)有以下賦值表達(dá)式:假設(shè)有以下賦值表達(dá)式: dab d的值為的值為1。 fabc f的值為的值為0由于由于“運(yùn)算符是自左至右的結(jié)合方向,先執(zhí)行運(yùn)算符是自左至右的結(jié)合方
5、向,先執(zhí)行“ab,得值為,得值為1,再執(zhí)行關(guān)系運(yùn)算:,再執(zhí)行關(guān)系運(yùn)算:“1c得值得值0,賦給,賦給f3 42邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量銜接起來就是邏輯表達(dá)式。用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量銜接起來就是邏輯表達(dá)式。下面引見下面引見C言語中的邏輯運(yùn)算符和邏輯運(yùn)算。言語中的邏輯運(yùn)算符和邏輯運(yùn)算。4.2.1邏輯運(yùn)算符及其優(yōu)先次序邏輯運(yùn)算符及其優(yōu)先次序 C言語提供三種邏輯運(yùn)算符:言語提供三種邏輯運(yùn)算符: 1& 邏輯與相當(dāng)于其它言語中的邏輯與相當(dāng)于其它言語中的AND 2| 邏輯或相當(dāng)于其它言語中的邏輯或相當(dāng)于其它言語中的OR 3 ! 邏輯非相當(dāng)于
6、其它言語中的邏輯非相當(dāng)于其它言語中的NOT &和和|是是“雙目元運(yùn)算符,它要求有兩個運(yùn)算量操作數(shù),如雙目元運(yùn)算符,它要求有兩個運(yùn)算量操作數(shù),如ab&xy,ab|xy?!?!是!是“一目元運(yùn)算符,只需求一目元運(yùn)算符,只需求有一個運(yùn)算量,如!有一個運(yùn)算量,如!ab。 邏輯運(yùn)算舉例如下:邏輯運(yùn)算舉例如下: a&b 假設(shè)假設(shè)a,b為真,那么為真,那么a&b為真。為真。 a|b 假設(shè)假設(shè)a,b之一為真,那么之一為真,那么a|b為真。為真。 !a 假設(shè)假設(shè)a為真,那么為真,那么!a為假。為假。4 下表為邏輯運(yùn)算的“真值表。用它表示當(dāng)a和b的值為不同組合時,各種邏輯運(yùn)算所得到的
7、值。 a b !a !b a&b a|b T T F F T T T F F T F F 在一個邏輯表達(dá)式中假設(shè)包含多個邏輯運(yùn)算符,如 !a&b|xy&c 優(yōu)先次序: 高 低 !算術(shù)運(yùn)算符關(guān)系運(yùn)算符& |賦值運(yùn)算符!a&b|xy&c (!a&b)|(xy)&c) (ab)&(xy) 可寫成:ab&xy(a=b|(x=y) 可寫成:a=b|xy !a |ab 可寫成: !a|ab54.2.2邏輯表達(dá)式邏輯表達(dá)式 如前所述,邏輯表達(dá)式的值應(yīng)該是一個邏輯量如前所述,邏輯表達(dá)式的值應(yīng)該是一個邏輯量“真或真或“假。假。C言語
8、編譯系統(tǒng)言語編譯系統(tǒng)在給出邏輯運(yùn)算結(jié)果時,以數(shù)值在給出邏輯運(yùn)算結(jié)果時,以數(shù)值1代表代表“真,以真,以0代表代表“假,但在判別一個量能假,但在判別一個量能否為否為“真時,以真時,以0代表代表“假,以非假,以非0代表代表“真。即將一個非零的數(shù)值認(rèn)作為真。即將一個非零的數(shù)值認(rèn)作為“真真。例如:。例如: 假設(shè)假設(shè)a4,那么!,那么!a的值為的值為0。由于。由于a的值為非的值為非0,被認(rèn)作,被認(rèn)作“真,對它進(jìn)展真,對它進(jìn)展“非非運(yùn)算,得運(yùn)算,得“假,假,“假以假以0代表。代表。 假設(shè)假設(shè)a=4,b=5,那么,那么a&b的值為的值為1。由于。由于a和和b均為非均為非0,被以為是,被以為是“真,因真
9、,因此此a&b的值也為的值也為“真,值為真,值為1。 a、b值同前,值同前,a|b的值為的值為1。 a、b值同前,!值同前,!a|b的值為的值為1。 4&0|2的值為的值為1。 經(jīng)過這幾個例子可以看出,由系統(tǒng)給出的邏輯運(yùn)算結(jié)果不是經(jīng)過這幾個例子可以看出,由系統(tǒng)給出的邏輯運(yùn)算結(jié)果不是0就是就是1,不可以,不可以是其它數(shù)值。而在邏輯表達(dá)式中作為參與邏輯運(yùn)算的運(yùn)算對象操作數(shù)可以是是其它數(shù)值。而在邏輯表達(dá)式中作為參與邏輯運(yùn)算的運(yùn)算對象操作數(shù)可以是0“假或任何非假或任何非0的數(shù)值按的數(shù)值按“真對待。假設(shè)在一個表達(dá)式中不同位置上真對待。假設(shè)在一個表達(dá)式中不同位置上出現(xiàn)數(shù)值,應(yīng)區(qū)分哪些是作為
10、數(shù)值運(yùn)算或關(guān)系運(yùn)算的對象,哪些作為邏輯運(yùn)算的出現(xiàn)數(shù)值,應(yīng)區(qū)分哪些是作為數(shù)值運(yùn)算或關(guān)系運(yùn)算的對象,哪些作為邏輯運(yùn)算的對象,對象,6例如 53&2|84-!0表達(dá)式自左至右掃描求解。首先處置“53由于關(guān)系運(yùn)算符優(yōu)先于&。在關(guān)系運(yùn)算符兩側(cè)的5和3作為數(shù)值參與關(guān)系運(yùn)算,53的值為:1。再進(jìn)展1&2的運(yùn)算,此時1和2均是邏輯運(yùn)算對象,均作“真處置,因此結(jié)果為1。再往下進(jìn)展“1|84-!0的運(yùn)算。根據(jù)優(yōu)先次序,先進(jìn)展“!0運(yùn)算得1,因此,要運(yùn)算的表達(dá)式變成:“1|84-1,即“1|8d不被執(zhí)行,因此n的值不是0而仍堅持原值1。這點(diǎn)請讀者留意。 熟練掌握C言語的關(guān)系運(yùn)算符和邏輯運(yùn)算符
11、后,可以巧妙地用一個邏輯表達(dá)式來表示 一個復(fù)雜的條件。 例如,判別某一年year能否閏年。閏年的條件是符合下面二者之一:能被4整除,但 不能被100整除。能被4整除,又能彼400整除。 可以用一個邏輯表達(dá)式來表示: year40&(year100 !=0|year400=0) 當(dāng)year為某一整數(shù)值時,上述表達(dá)式值為真1,那么year為閏年;否那么為非閏年。 可以加一個“!用來判別非閏年: !( year40&year100 !=0|year400=0) 假設(shè)表達(dá)式值為真1, year為非閏年。也可以用下面邏輯表達(dá)式判別非閏年:year4!=0|year100=0|year40
12、0!=0 表達(dá)式為真,year為非閏年。請留意表達(dá)式中右面的括弧內(nèi)的不同運(yùn)算符,!,&、=的運(yùn)算優(yōu)先次序。843 if語句語句 if語句是用來斷定所給定的條件能否滿足,根據(jù)斷定的結(jié)果真或假決議執(zhí)語句是用來斷定所給定的條件能否滿足,根據(jù)斷定的結(jié)果真或假決議執(zhí)行給出的兩種操作之一。行給出的兩種操作之一。4.3.1 if語句的三種方式語句的三種方式 C言語提供了三種方式的言語提供了三種方式的if語句:語句: 1if 表達(dá)式表達(dá)式 語句語句 例如:例如:ifxy printfd,x; 這種這種if語句的執(zhí)行過程見圖語句的執(zhí)行過程見圖0表達(dá)式語句192if表達(dá)式 語句1 else 語句2 例如:
13、if(xy) printfd,x; else printfd,y; 見圖表表達(dá)達(dá)式式語句語句1語句語句2真假103 if 表達(dá)式1 語句1 else if 表達(dá)式2 語句2 else if表達(dá)式3 語句3 else if 表達(dá)式m 語句m else 語句n 流程圖表達(dá)表達(dá)式式1FT表達(dá)表達(dá)式式3FT表達(dá)表達(dá)式式2FT表達(dá)表達(dá)式式4FT語句語句4語句語句5語句語句3語句語句2語句語句111 例如。 if number500 cost015; else ifnumber300 cost=010: else if number100 cost=0075; else if number50 cost0
14、.05; else cost0; 闡明:三種方式的if語句中在if后面都有“表達(dá)式,普通為邏輯表達(dá)式或關(guān)系表達(dá)式。例如,ifa=b&.x=y printfa=b,x=y;系統(tǒng)對表達(dá)式的值進(jìn)展判別,假設(shè)為0,按“假處置,假設(shè)為非0,按“真處置,執(zhí)行指定的語句。假設(shè)有以下語句:if3 printf(“ok.;是合法的,執(zhí)行結(jié)果輸出ok。由于表達(dá)式的值為3,按“真處置。由此可見,表達(dá)式的類型不限于邏輯表達(dá)式,可以是恣意的數(shù)值類型包括整型、實(shí)型、字符型、指針型數(shù)據(jù)。例如,下面的語句也是合法的: ifa printfd,a;執(zhí)行結(jié)果:輸出a的AscII碼97。12 2第二、第三種方式的討語句中,
15、在每個else前面有一分號,整個語句終了處有一分號。例如: if x0 printf(“%f,x); else printf(“%f,-x); 這是由于分號是C語句中不可短少的部分,這個分號是讓語句中的內(nèi)臥語句所要求的。假設(shè)無此分號,那么出現(xiàn)語法錯誤。但應(yīng)留意,不要誤以為上面是兩個語句if語句和else語句。 它們都屬于同一個if語句。else子句不能作為語句單獨(dú)運(yùn)用,它必需是if語句的一部分,與if配對運(yùn)用。 3在if和else后面可以只含一個內(nèi)嵌的操作語句如上例,也可以有多個操作語句,此時用花括號“ 將幾個語句括起來成為一個復(fù)合語句。如: if abc&bca&cab s=
16、05*(ab+c);area=sqrts*(s-a)*(s-b)*(s-c); printfarea6.2f,area; else printf it is not a trilateral; 留意在 外面不需求再加分號。由于 內(nèi)是一個完好的復(fù)合語句,不需另附加分號。13 例4。1輸入兩個實(shí)數(shù),按代數(shù)值由小到大次序輸出這兩個數(shù)。 /* example 4.1 at page 53 */main()float a,b,t;scanf(%f,%f,&a,&b);if(ab) t=a;a=b;b=t;printf(%5.2f,%5.2f,a,b); 運(yùn)轉(zhuǎn)情況如下。 3.6,-3.2一
17、32036014例42輸入三個數(shù),按大小順序輸出。main()float a,b,c,t; printf(Input a,b,cn);scanf(%f,%f,%f,&a,&b,&c);if(ab) t=a;a=b;b=t;if(ac) t=a;a=c;c=t;if(bc) t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c); 運(yùn)轉(zhuǎn)情況如下: 3,7,1 1O0,300,700154.3.2語句的嵌套語句的嵌套 在在if語句中又包含一個或多個語句中又包含一個或多個if語句稱為語句稱為if語句的嵌套。普通方式如下:語句的嵌套。普通方式如下
18、: if () if語句語句1 else 語句語句2 else if (語句語句3 else 語句語句4 該當(dāng)留意該當(dāng)留意if與與else的配對關(guān)系。從最內(nèi)層開場,的配對關(guān)系。從最內(nèi)層開場,else總是與它上面最近的未曾總是與它上面最近的未曾配對的配對的if配對。假設(shè)寫成:配對。假設(shè)寫成: 1f if語句語句1 else if 語句語句2 else 語句語句3編程序者把編程序者把else寫在與第一個寫在與第一個if外層外層if同一列上,希望同一列上,希望else與第一個與第一個if對應(yīng),但對應(yīng),但實(shí)踐上實(shí)踐上else是與第二個是與第二個if配對,由于它們相距最近。因此最好使內(nèi)嵌配對,由于它們相
19、距最近。因此最好使內(nèi)嵌if語句也包含語句也包含else部分,這樣部分,這樣if的數(shù)目和的數(shù)目和else的數(shù)目一樣,從內(nèi)層到外層一一對應(yīng),不致出措。的數(shù)目一樣,從內(nèi)層到外層一一對應(yīng),不致出措。16假設(shè)if與else的數(shù)目不一樣,為實(shí)現(xiàn)程序設(shè)計者的企圖,可以加花括弧來確定配對關(guān)系。例如: if( if 語句1 else 語句2這時if限定了內(nèi)嵌if語句的范圍,因此else與第一個讓配對。 例43有一函數(shù): -1 (x0)編一程序,輸入一個x值,輸出y值。 有以下幾種寫法,請讀者判別哪些是正確的?17程序1: main int x,y; scanfd,x; if(x=0 if(x0) y=1; el
20、se y=0; else y一1; 18程序3: 將上述if語句改為: y一1; if(x!=0) ifx0 y1: else y0; 程序4: y0; if(x=0) ifx0 y1; else y-1; 只需程序1和2是正確的。普通把內(nèi)嵌的if語句放在外層的else子句中如程序1那樣,這樣由于有外層的else相隔,內(nèi)嵌的else不會和外層的if配對,而只能與內(nèi)嵌的讓配對,從而不致搞混,如像程序3、4那樣就容易混淆。194.3.3條件運(yùn)算符條件運(yùn)算符 假設(shè)假設(shè)if語句中,在表達(dá)式為語句中,在表達(dá)式為“真和真和“假時,且都只執(zhí)行一個賦值語句給同一假時,且都只執(zhí)行一個賦值語句給同一個變量賦值時,
21、可以用簡單的條件運(yùn)算符來處置。例如,假設(shè)有以下個變量賦值時,可以用簡單的條件運(yùn)算符來處置。例如,假設(shè)有以下if語句:語句: if ab max=a; else maxb;可以用下面的條件運(yùn)算符可以用下面的條件運(yùn)算符(? :)來處置:來處置: maxab?a:b;其中其中ab?a:b是一個是一個“條件表達(dá)式。它是這樣執(zhí)行的。假設(shè)條件表達(dá)式。它是這樣執(zhí)行的。假設(shè)ab條件為真,那么條件表式取值條件為真,那么條件表式取值a,否那么取值否那么取值b. 條件運(yùn)算符要求有三個操作對象條件運(yùn)算符要求有三個操作對象,稱三目稱三目(元元)運(yùn)算符。條件表達(dá)式的普通方式為運(yùn)算符。條件表達(dá)式的普通方式為 表達(dá)式表達(dá)式1
22、?表達(dá)式?表達(dá)式2:表達(dá)式:表達(dá)式3 它的執(zhí)行過程見圖它的執(zhí)行過程見圖47。表 達(dá)式1表達(dá)式2表達(dá)式3T (1)F(0)20闡明 1條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,假設(shè)為非0真那么求解表達(dá)式2,此時表達(dá)式2的值就作為整個條件表達(dá)式的值。假設(shè)表達(dá)式1的值為0(假,那么求解表達(dá)式3,表達(dá)式3的值就是整個條件表達(dá)式的值。 maxab?a:b執(zhí)行結(jié)果就是將條件表達(dá)式的值賦給max,也就是將a和b二者中大者賦給max。 2條件運(yùn)算符優(yōu)先于賦值運(yùn)算符,因此上面賦值表達(dá)式的求解過程是先求解條件表達(dá)式,再將它的值賦給max。 條件運(yùn)算符的優(yōu)先級別比關(guān)系運(yùn)算符和算術(shù)運(yùn)算符都低。因此, max=ab?a:b
23、括號可以不要,可寫成 max=ab?a:b假設(shè)有 ab?a:b+1相當(dāng)于ab?a:b十1,而不相當(dāng)于ab?a:b1。213。條件運(yùn)算符的結(jié)合方向?yàn)椤白杂抑磷?。假設(shè)有以下條件表達(dá)式: ab?a:cd?c:d相當(dāng)于 ab?a:cd?c:da=1,b=2,c=3,d4,那么條件表達(dá)式的值等于4。 4條件表達(dá)式不能取代普通的if語句,只需在if語句中內(nèi)嵌的語句為賦值語句且兩個分支都給同一個變量賦值時才干替代if語句。象下面的if語句就無法用一個條件表達(dá)式替代。 ifab printf“d,a; else printf“d,b;但可以用下面語句替代: printfd,ab?a:b;即將條件表達(dá)式的值輸出
24、。 5條件表達(dá)式中,表達(dá)式1的類型可以與表達(dá)式2和表達(dá)式3的類型不同。如 x?a:bx是整型變量,假設(shè)x=0,那么條件表達(dá)式的值為b。表達(dá)式2和表達(dá)式3的類型也可以不同,此時條件表達(dá)式的值的類型為二者中較高的類型。如 xy?1:1.5如xy值應(yīng)為1,由于15是實(shí)型,比整型高見第二章27,因此,將1轉(zhuǎn)換成實(shí)型值10。22例44輸入一個字符,判別它能否大寫字母,假設(shè)是,將它轉(zhuǎn)換成小寫字母;假設(shè)不是,不轉(zhuǎn)換。然后輸出最后得到的字符。 /* example 4.4 at page 57 */main()char ch;scanf(%c,&ch);ch=(ch=A & ch=Z)?(ch
25、+32):ch;printf(%c,ch); 運(yùn)轉(zhuǎn)結(jié)果如下: 條件表達(dá)式中的ch32,其中32是小寫字母和大寫字母ASCII碼的差值請參閱附錄1。2344 switch語句語句 switch語句是多分支選擇語句。語句是多分支選擇語句。if語句只需兩個分支可供選擇,而實(shí)踐問題中語句只需兩個分支可供選擇,而實(shí)踐問題中經(jīng)常需求用到多分支的選擇。例如,學(xué)生成果分類經(jīng)常需求用到多分支的選擇。例如,學(xué)生成果分類90分以為分以為A等,等,8089分分為為B等,等,7079分為分為c,等,等,;人口統(tǒng)計分類按年齡分為老、中、青、;人口統(tǒng)計分類按年齡分為老、中、青、少、兒童;工資統(tǒng)計分類;銀行存款分類;少、兒童
26、;工資統(tǒng)計分類;銀行存款分類;等。當(dāng)然這些都可以用嵌套的等。當(dāng)然這些都可以用嵌套的讓語句來處置,但假設(shè)分支較多,那么嵌套的讓語句來處置,但假設(shè)分支較多,那么嵌套的if語句層數(shù)多,程序冗長而且可讀語句層數(shù)多,程序冗長而且可讀性降低。性降低。C言語提供言語提供switch語句直接處置多分支選擇,它相當(dāng)于語句直接處置多分支選擇,它相當(dāng)于Pascal言語中的言語中的case語句。它的普通方式如下:語句。它的普通方式如下: switch 表達(dá)式表達(dá)式 case常量表達(dá)式常量表達(dá)式1:語句:語句1 case常量表達(dá)式常量表達(dá)式2:語句:語句2 case常量表達(dá)式常量表達(dá)式n:語句:語句n default
27、:語句:語句n十十1 24例如,根據(jù)考試成果的等級打印出百分制分?jǐn)?shù)段: switch grade caseA: printf “85100n; caseB: printf“7084n; caseC: printf “6069n; case D: printf“60n; default : printf errorn; 25 闡明: 1switch后面括弧內(nèi)的“表達(dá)式,可以是整型表達(dá)式或字符型表達(dá)式,也可以是枚舉型數(shù)據(jù)見第十章。對其它類型,原來的C規(guī)范是不允許的,而新的ANSI規(guī)范允許上述表達(dá)式和case常量表達(dá)式為任何類型。 2當(dāng)表達(dá)式的值與某一個case后面的常量表達(dá)式的值相等時,就執(zhí)行此c
28、ase后面的語句,假設(shè)一切的case中的常量表達(dá)式的值都沒有與表達(dá)式的值匹配的,就執(zhí)行defau1t后面的語句。3。每一個case的常量表達(dá)式的值必需互不一樣,否那么就會出現(xiàn)相互矛盾的景象對表達(dá)式的同一個值,有兩種或多種執(zhí)行方案。 4各個case的出現(xiàn)次序不影響執(zhí)行結(jié)果。例如,可以先出現(xiàn)caseD:,然后是caseA: 5。執(zhí)行完一個case后面的語句后,流程控制轉(zhuǎn)移到下一個case繼續(xù)執(zhí)行?!癱ase常量表達(dá)式只是起語句標(biāo)號作用,并不是在該處進(jìn)展條件判別。在執(zhí)行switch語句時,根據(jù)switch后面表達(dá)式的值找到匹配的人口標(biāo)號,就從此標(biāo)號開場執(zhí)行下去,不再進(jìn)展判別。26例如,上面的例子中,假設(shè)grade的值等于A,那么將延續(xù)輸出: 85100 7084 6069 60 error因此,應(yīng)該在執(zhí)行一個case分支后,使流程跳出switch構(gòu)造,即終止switch語句的執(zhí)行,可以用了個break語句來到達(dá)此目的,將上面的switch構(gòu)造改寫如下: switch grade caseA:printf“85100n; break; caseB:printf“7084n; break; caseC:printf“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級數(shù)學(xué)教學(xué)計劃3篇
- 甘肅省天水市2024-2025學(xué)年高三上學(xué)期九校聯(lián)考語文試題
- 自考《勞動法(00167)》近年考試真題題庫(含答案)
- 2025年江蘇職教高考《職業(yè)適應(yīng)性測試》考前沖刺模擬試題庫(附答案)
- 《個人信息保護(hù)法》考試參考試題庫100題(含答案)
- 2025年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 2025年武漢職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年榆林能源科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 2025年新疆職業(yè)大學(xué)高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 專題07 解二元一次方程組 帶解析
- 2025-2030年中國硫酸鉀行業(yè)深度調(diào)研及投資戰(zhàn)略研究報告
- 課題申報參考:社會網(wǎng)絡(luò)視角下村改居社區(qū)公共空間優(yōu)化與“土客關(guān)系”重構(gòu)研究
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院2025年工作計劃
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 機(jī)械工程類基礎(chǔ)知識單選題100道及答案解析
- 冠心病課件完整版本
- 微生物組與膽汁性肝硬化
- 《信息檢索基礎(chǔ)知識》課件
- 具有履行合同所必須的設(shè)備和專業(yè)技術(shù)能力的承諾函-設(shè)備和專業(yè)技術(shù)能力承諾
- 1325木工雕刻機(jī)操作系統(tǒng)說明書
- 初中衡水體英語(28篇)
評論
0/150
提交評論