




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本章內(nèi)容:本章內(nèi)容:1.關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式2.邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式3.if語句的運(yùn)用語句的運(yùn)用4.條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符和條件表達(dá)式5.switch語句的運(yùn)用語句的運(yùn)用 順序構(gòu)造順序構(gòu)造語句語句1語句語句2條件條件語句語句1語句語句2YN 選擇構(gòu)造選擇構(gòu)造關(guān)系運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符和表達(dá)式1.1.關(guān)系運(yùn)算符及優(yōu)先次序關(guān)系運(yùn)算符及優(yōu)先次序 比較兩個(gè)量的運(yùn)算符稱為關(guān)系運(yùn)算符。比較兩個(gè)量的運(yùn)算符稱為關(guān)系運(yùn)算符。 在言語中有以下關(guān)系運(yùn)算符:在言語中有以下關(guān)系運(yùn)算符: 小于小于 = 大于大于 = = 大于或等于大于或等于 = = = = 等于
2、等于 != != 不等于不等于 關(guān)系運(yùn)算符的優(yōu)先級別:關(guān)系運(yùn)算符的優(yōu)先級別:(1) (1) 、=、 、=c-d x3/2 a+10的值為的值為“真,即為真,即為1。 (a=3)(b=5)由于由于35不成立,其值為不成立,其值為0。 關(guān)系表達(dá)式是表達(dá)式,因此也允許出現(xiàn)嵌套的情況。關(guān)系表達(dá)式是表達(dá)式,因此也允許出現(xiàn)嵌套的情況。如:如:a(bc), a!=(c=d)等。等。2.2.關(guān)系表達(dá)式關(guān)系表達(dá)式1.1.邏輯運(yùn)算符邏輯運(yùn)算符 言語中提供了三種邏輯運(yùn)算符言語中提供了三種邏輯運(yùn)算符 ! ! 非運(yùn)算非運(yùn)算 & & 與運(yùn)與運(yùn)算算 | | 或運(yùn)算或運(yùn)算 運(yùn)算符運(yùn)算符& & 、運(yùn)算符、運(yùn)算符| | 均為雙目
3、運(yùn)算符,具均為雙目運(yùn)算符,具有左結(jié)合性。有左結(jié)合性。 非運(yùn)算符非運(yùn)算符! !為單目運(yùn)算符,具有右結(jié)合性。為單目運(yùn)算符,具有右結(jié)合性。 1)1)邏輯運(yùn)算符優(yōu)先級如下:邏輯運(yùn)算符優(yōu)先級如下: 1 1 ! ! 高于高于 & & 高于高于 | 2 2 &, | &, | 低于關(guān)系運(yùn)算符,!高于算低于關(guān)系運(yùn)算符,!高于算術(shù)運(yùn)算符術(shù)運(yùn)算符( (* *, / ) , / ) 邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式按照運(yùn)算符的優(yōu)先順序可以得出:按照運(yùn)算符的優(yōu)先順序可以得出: ab & cd 等價(jià)于等價(jià)于 (ab) & (cd) !b=c|da 等價(jià)于等價(jià)于 (!b)=c)|(dc & x+yc) & (x+y)
4、0 & 42,由于由于50為真,為真,42也為真,其結(jié)果也為也為真,其結(jié)果也為“真,表達(dá)式的值為真,表達(dá)式的值為1。3邏輯運(yùn)算的規(guī)那么:邏輯運(yùn)算的規(guī)那么: 2或運(yùn)算或運(yùn)算| 參與運(yùn)算的兩個(gè)量只需有一個(gè)為真參與運(yùn)算的兩個(gè)量只需有一個(gè)為真(非非0),結(jié)果就為,結(jié)果就為真真(值為值為1)。 兩個(gè)量都為假值為兩個(gè)量都為假值為0時(shí),結(jié)果為假時(shí),結(jié)果為假值為值為0。 例如:例如:50 | 58, 結(jié)果也就為真值為結(jié)果也就為真值為1。3非運(yùn)算非運(yùn)算! 參與運(yùn)算量為真非參與運(yùn)算量為真非0時(shí),結(jié)果為假值為時(shí),結(jié)果為假值為0;參與運(yùn);參與運(yùn)算量為假值為算量為假值為0時(shí),結(jié)果為真值為時(shí),結(jié)果為真值為1。 例如:例如
5、:!(50)的結(jié)果為假,即為的結(jié)果為假,即為0。 2.2.邏輯表達(dá)式邏輯表達(dá)式 邏輯表達(dá)式的普通方式為:邏輯表達(dá)式的普通方式為: 表達(dá)式表達(dá)式 & & 表達(dá)式表達(dá)式 表達(dá)式表達(dá)式 | | 表達(dá)表達(dá)式式 !表達(dá)式!表達(dá)式 邏輯表達(dá)式的值:各種邏輯運(yùn)算的最后值,以邏輯表達(dá)式的值:各種邏輯運(yùn)算的最后值,以“1 1和和“0 0分別代表分別代表“真和真和“假。假。 3邏輯運(yùn)算的規(guī)那么:邏輯運(yùn)算的規(guī)那么: 在邏輯表達(dá)式的求解中,并不是一切的邏輯運(yùn)算符都執(zhí)行,在邏輯表達(dá)式的求解中,并不是一切的邏輯運(yùn)算符都執(zhí)行,只需在必需執(zhí)行下一個(gè)邏輯運(yùn)算符才干求出表達(dá)式的值時(shí),才只需在必需執(zhí)行下一個(gè)邏輯運(yùn)算符才干求出表達(dá)式
6、的值時(shí),才執(zhí)行下一個(gè)運(yùn)算符。執(zhí)行下一個(gè)運(yùn)算符。 1 表達(dá)式表達(dá)式1 & 表達(dá)式表達(dá)式2 & a+b0 & b+ a=1,b=-2 假設(shè):表達(dá)式假設(shè):表達(dá)式1的值是的值是0,無論表達(dá)式,無論表達(dá)式2的值是什么,整個(gè)表的值是什么,整個(gè)表達(dá)式的值都為達(dá)式的值都為0,因此表達(dá)式,因此表達(dá)式2就不計(jì)算了。就不計(jì)算了。 2表達(dá)式表達(dá)式1 | 表達(dá)式表達(dá)式2 | a+b0 | b+ a=1,b=2 假設(shè):表達(dá)式假設(shè):表達(dá)式1的值是的值是1,無論表達(dá)式,無論表達(dá)式2的值是什么,整個(gè)表的值是什么,整個(gè)表達(dá)式的值都為達(dá)式的值都為1,因此表達(dá)式,因此表達(dá)式2就不計(jì)算了。就不計(jì)算了。 說說 明明:3假設(shè)假設(shè)a1,b2
7、,c3,d=4,m和和n原值為原值為1 (m=ab) & (n=cd) 那么那么m0,而而n仍堅(jiān)持原值仍堅(jiān)持原值 說說 明明:1.if1.if語句有三種根本方式語句有三種根本方式 1 1第一種方式,根本方式:第一種方式,根本方式: if (if (表達(dá)式表達(dá)式) ) 語句;語句; 假設(shè)表達(dá)式的值為真,那么執(zhí)行其后語句,否那么不假設(shè)表達(dá)式的值為真,那么執(zhí)行其后語句,否那么不執(zhí)行該語句。執(zhí)行該語句。語句語句表達(dá)式表達(dá)式非非00if if 語句語句void main() int a,b,max; scanf(%d,%d,&a,&b); max=a; if (maxb) printf(max=%dn,
8、a); else printf(max=%dn,b); 例:例:語句1表達(dá)式非00語句22)第二種方式,第二種方式,if-else方式方式前二種方式的前二種方式的if語句普通都用于兩個(gè)分支的情況。語句普通都用于兩個(gè)分支的情況。當(dāng)有多個(gè)分支選擇時(shí),可采用當(dāng)有多個(gè)分支選擇時(shí),可采用if-else-if語句,其普通方式為:語句,其普通方式為: if(表達(dá)式表達(dá)式1) 語句語句1; else if(表達(dá)式表達(dá)式2) 語句語句2; else if(表達(dá)式表達(dá)式m) 語句語句m; else 語句語句n; 語句n語句1表達(dá)式1非00語句2非00表達(dá)式2表達(dá)式m非00語句mifelse if 構(gòu)造的執(zhí)行過程構(gòu)
9、造的執(zhí)行過程3)第三種方式,第三種方式,if-else-if方式方式void main() int result; printf(input your result: ); scanf(“%d,&result); if (result=90) printf(“your result is wounderful!n); else if(result =80) printf( your result is good!n); else if(result =70) printf( your result is normal!n); else if(result =60) printf( your r
10、esult is passed!n); else printf(“youll take a another test!n);例例 如:如:在三種方式的在三種方式的if語句中,在語句中,在if關(guān)鍵字之后均為表關(guān)鍵字之后均為表達(dá)式。該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,達(dá)式。該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,但也可以是其它表達(dá)式,如賦值表達(dá)式等,甚至但也可以是其它表達(dá)式,如賦值表達(dá)式等,甚至也可以是一個(gè)變量。也可以是一個(gè)變量。注注 意意 :例如:例如: if(a=5) 語句;語句; if(b) 語句;語句; 只需表達(dá)式的值為非只需表達(dá)式的值為非0,即為,即為“真。真。 但是在但是在 if(a=
11、5) ;中表達(dá)式的值永遠(yuǎn)為非;中表達(dá)式的值永遠(yuǎn)為非0,所以其后的語句總是要執(zhí)行的,但在語法上是合法所以其后的語句總是要執(zhí)行的,但在語法上是合法的。的。又如,問下面程序段的輸出結(jié)果?又如,問下面程序段的輸出結(jié)果? : int b,a=10; scanf(%d,&b); if (a=b) printf(a=b%dn,a); else printf(a!=b%d,%dn,a,b); 注注 意意 :(2) 在在if 語句中,條件判別表達(dá)式必需用括號括起語句中,條件判別表達(dá)式必需用括號括起來,即使是一個(gè)變量的最簡單表達(dá)式,也要用括號來,即使是一個(gè)變量的最簡單表達(dá)式,也要用括號括起來;在語句之后必需加分號
12、。括起來;在語句之后必需加分號。(3) 在在if 語句的三種方式中,一切的語句應(yīng)為單個(gè)語句,語句的三種方式中,一切的語句應(yīng)為單個(gè)語句,假設(shè)要想在滿足條件時(shí)執(zhí)行一組假設(shè)要想在滿足條件時(shí)執(zhí)行一組(多個(gè)多個(gè))語句,那么必語句,那么必需把這一組語句用需把這一組語句用 括起來組成一個(gè)復(fù)合語句。括起來組成一個(gè)復(fù)合語句。留意留意:例如:交換兩個(gè)變量例如:交換兩個(gè)變量 if (ab) t= a; a=b; b=t; 當(dāng)當(dāng)if語句中包含語句中包含if語句時(shí),那么構(gòu)成了語句時(shí),那么構(gòu)成了if 語句嵌套的情形。語句嵌套的情形。其普通方式可表示如下:其普通方式可表示如下:if (表達(dá)式表達(dá)式1) if (表達(dá)式表達(dá)式
13、2) 語句語句1; else 語句語句2;2. if 2. if 語句的嵌套語句的嵌套 if(表達(dá)式表達(dá)式1) if (表達(dá)式表達(dá)式2) 語句;語句; 在嵌套內(nèi)的在嵌套內(nèi)的if語句能夠又是語句能夠又是if-else型的,這將會型的,這將會出現(xiàn)多個(gè)出現(xiàn)多個(gè)if和多個(gè)和多個(gè)else重疊的情況,這時(shí)要特別留重疊的情況,這時(shí)要特別留意意if和和else的配對問題。的配對問題。 if (x=1) if(x5) x+; else x-; 其中的其中的else終究是與哪一個(gè)終究是與哪一個(gè)if配對呢配對呢?應(yīng)該了解為:應(yīng)該了解為: 還是應(yīng)了解為:還是應(yīng)了解為: if( x=1) if(x=1) if(x5)
14、if(x5) x+; x+; else elsex-; x-;言語規(guī)定,言語規(guī)定,else 總是總是與它前面最近的與它前面最近的if配對配對例例 如:如:例:例:void main() int a,b; printf(please input a,b: ); scanf(%d,%d,&a,&b); if (a!=b) if (ab) printf(abn); else printf(a=1) if(x5) x+; else x-; 假設(shè)要使假設(shè)要使else與第一個(gè)與第一個(gè)if配對,那么可加括號配對,那么可加括號 來實(shí)現(xiàn)。來實(shí)現(xiàn)。例例5.3 -1 (x0)main() int x,y; scan
15、f(%d,&x) if(x=0) if (x0) y=1; else y=0; else y=-1;程序程序1 y=0; if (x!=0) if (x0) y=1; else y=-1;程序程序2 y=-1; if(x=0) if (x0) y=1; else y=0;程序程序3 條件運(yùn)算符為條件運(yùn)算符為 ? : 三目運(yùn)算符,即有三個(gè)參與運(yùn)算的量。三目運(yùn)算符,即有三個(gè)參與運(yùn)算的量。 由條件運(yùn)算符組成條件表達(dá)式的普通方式為:由條件運(yùn)算符組成條件表達(dá)式的普通方式為: 表達(dá)式表達(dá)式1 ? 表達(dá)式表達(dá)式2 : 表達(dá)式表達(dá)式3 其求值規(guī)那么為:假設(shè)表達(dá)式其求值規(guī)那么為:假設(shè)表達(dá)式1的值為真,那么以表達(dá)
16、式的值為真,那么以表達(dá)式2 的值作為條件表達(dá)式的值,否那么以表達(dá)式的值作為條件表達(dá)式的值,否那么以表達(dá)式2的值作為整個(gè)的值作為整個(gè)條件表達(dá)式的值。條件表達(dá)式的值。條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符和條件表達(dá)式 條件表達(dá)式通常用于賦值語句之中。條件表達(dá)式通常用于賦值語句之中。 例如條件語句:例如條件語句: if(ab) max=a; else max=b; 可用條件表達(dá)式寫為可用條件表達(dá)式寫為 max=(ab)?a:b; 執(zhí)行該語句的語義是:如執(zhí)行該語句的語義是:如ab為真,那么把為真,那么把a(bǔ) 賦予賦予max,否那么把,否那么把b 賦予賦予max。條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符和條件表達(dá)式 條
17、件運(yùn)算符的運(yùn)算優(yōu)先級條件運(yùn)算符的運(yùn)算優(yōu)先級 低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符,高于賦值符。低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符,高于賦值符。 因 此因 此 m a x = ( a b ) ? a : b 可 以 去 掉 括 號 而 寫 為可 以 去 掉 括 號 而 寫 為 max=ab?a:b 條件運(yùn)算符條件運(yùn)算符? :是一對運(yùn)算符,不能分開單獨(dú)運(yùn)用。:是一對運(yùn)算符,不能分開單獨(dú)運(yùn)用。 條件運(yùn)算符的結(jié)合方向是自右至左。條件運(yùn)算符的結(jié)合方向是自右至左。 例如:例如:ab?a:cd?c:d 應(yīng)了解為應(yīng)了解為 ab?a:(cd?c:d) 條件表達(dá)式經(jīng)常用在只執(zhí)行單個(gè)的賦值語句時(shí),不但使程條件表達(dá)式經(jīng)常用在只執(zhí)行單個(gè)
18、的賦值語句時(shí),不但使程序簡約,也提高了運(yùn)轉(zhuǎn)效率。序簡約,也提高了運(yùn)轉(zhuǎn)效率。留意以下幾點(diǎn):留意以下幾點(diǎn):例例. 輸入一個(gè)字符,假設(shè)為大寫字母,是那么轉(zhuǎn)換成小輸入一個(gè)字符,假設(shè)為大寫字母,是那么轉(zhuǎn)換成小寫,否那么不轉(zhuǎn)換寫,否那么不轉(zhuǎn)換main() char ch; scanf(%c,&ch); ch=(ch=A & ch =Z)? ch+32:ch; printf(%c,ch);1.switch1.switch語句運(yùn)用的普通方式為:語句運(yùn)用的普通方式為:switch(表達(dá)式表達(dá)式) case 常量表達(dá)式常量表達(dá)式1: 語句語句1; case 常量表達(dá)式常量表達(dá)式2: 語句語句2; case 常量表
19、達(dá)式常量表達(dá)式n: 語句語句n; default : 語句語句n+1; switch語句語句 先計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值相比先計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值相比較;較; 當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語句;后的語句; 然后不再進(jìn)展判別,繼續(xù)執(zhí)行后面一切然后不再進(jìn)展判別,繼續(xù)執(zhí)行后面一切case后的語句;后的語句; 如表達(dá)式的值與一切如表達(dá)式的值與一切case后的常量表達(dá)式均不一樣時(shí),后的常量表達(dá)式均不一樣時(shí),那么執(zhí)行那么執(zhí)行default后的語句。后的語句。 語句的執(zhí)行過程:語句的執(zhí)行過程:vo
20、id main() char grade; printf(input your mark: ); scanf(%c,&grade); switch (grade) case A: printf(“85100n); case B: printf(“7084n); case C: printf(“6069n); case D: printf(“60 n); default: printf(errorn); 程序運(yùn)轉(zhuǎn)時(shí)輸入程序運(yùn)轉(zhuǎn)時(shí)輸入 A ,其輸出結(jié)果是什么?,其輸出結(jié)果是什么?例例 如如 在switch語句中,“case 常量表達(dá)式只相當(dāng)于一個(gè)語句標(biāo)號,表達(dá)式的值和某標(biāo)號相等那么轉(zhuǎn)向該標(biāo)號執(zhí)行,
21、但不能在執(zhí)行完該標(biāo)號的語句后自動(dòng)跳出整個(gè)switch 語句,將繼續(xù)執(zhí)行一切后面case語句的情況。 為了防止上述情況,言語還提供了一種break語句,公用于跳出switch語句。 break 語句運(yùn)用方式為: break; 在每一case語句之后添加break 語句, 使每一次執(zhí)行之后均可跳出switch語句,從而防止輸出不應(yīng)有的結(jié)果。 說說 明明switch(表達(dá)式表達(dá)式) case 常量表達(dá)式常量表達(dá)式1: 語句語句1; break; case 常量表達(dá)式常量表達(dá)式2: 語句語句2; break; case 常量表達(dá)式常量表達(dá)式n: 語句語句n; break; default : 語句語句n+1; 運(yùn)用運(yùn)用switch語句的通常方式為:語句的通常方式為:void main() char grade; printf(input your mark: ); scanf(%c,&grade); switch (grade) case A:printf(“85100n);break; case B2:printf(“7084n); break; case C:printf(“6069n); break; case D:printf(“60n); break; defa
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 咋樣寫供貨合同范本
- 發(fā)改ppp合同范本
- 買賣銅幣合同范本
- 可再生能源項(xiàng)目合同范本
- 品牌股權(quán)合同范本
- 啟東農(nóng)田流轉(zhuǎn)合同范本
- 廠房帶門面裝修合同范本
- 寫抖音合同范例
- 買房簽意向合同范例
- 動(dòng)物實(shí)驗(yàn)合同范本
- 國際合規(guī)要求與企業(yè)管理
- 巖腳煤礦智能化綜采工作面匯報(bào)材料2020.11.10.11.10
- 餐廳每日清潔計(jì)劃
- 數(shù)據(jù)湖構(gòu)建及應(yīng)用場景
- 切格瓦拉完整
- 高考小說閱讀強(qiáng)化訓(xùn)練:孫犁小說專題(附答案解析)
- 向云端二聲部五線正譜
- 部編版六年級下冊道德與法治全冊表格式教學(xué)設(shè)計(jì)
- 兵團(tuán)歷史與兵團(tuán)精神課件
- 人民醫(yī)院能源托管服務(wù)項(xiàng)目可研技術(shù)方案書
評論
0/150
提交評論