第5章 邏輯運(yùn)算和選擇結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
第5章 邏輯運(yùn)算和選擇結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
第5章 邏輯運(yùn)算和選擇結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
第5章 邏輯運(yùn)算和選擇結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
第5章 邏輯運(yùn)算和選擇結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、任課教師: 張張 盈盈教案制作: 張 盈本次課程主要內(nèi)容n關(guān)系運(yùn)算符和關(guān)系表達(dá)式n邏輯運(yùn)算符和邏輯表達(dá)式n條件運(yùn)算符和條件運(yùn)算nif語(yǔ)句nswitch語(yǔ)句和break語(yǔ)句關(guān)系運(yùn)算關(guān)系運(yùn)算n關(guān)系運(yùn)算:對(duì)兩個(gè)運(yùn)算量進(jìn)行大小關(guān)系關(guān)系運(yùn)算:對(duì)兩個(gè)運(yùn)算量進(jìn)行大小關(guān)系比較的運(yùn)算,運(yùn)算結(jié)果為比較的運(yùn)算,運(yùn)算結(jié)果為1 1(邏輯真)或(邏輯真)或0 0(邏輯假(邏輯假)。)。n關(guān)系運(yùn)算符(按從高到低順序):關(guān)系運(yùn)算符(按從高到低順序): 、= 、 =、 = = =、 !=!=n關(guān)系表達(dá)式,用關(guān)系運(yùn)算符連接起來(lái)的關(guān)系表達(dá)式,用關(guān)系運(yùn)算符連接起來(lái)的兩個(gè)表達(dá)式:兩個(gè)表達(dá)式:表達(dá)式表達(dá)式 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 表達(dá)式表

2、達(dá)式優(yōu)先級(jí)優(yōu)先級(jí):低于算術(shù)運(yùn)算符低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符高于賦值運(yùn)算符n舉例:xy!=z等價(jià): (xy) != zx= = yz等價(jià): x = = (yyz等價(jià): (xy) z zx+y等價(jià): z (x+y)x=yz等價(jià): x = (yz)邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式n邏輯運(yùn)算符:邏輯運(yùn)算符:n&(邏輯與,也叫邏輯乘)(邏輯與,也叫邏輯乘)n|(邏輯或,也叫邏輯加)(邏輯或,也叫邏輯加)n! ! (邏輯非)(邏輯非)n邏輯表達(dá)式:邏輯表達(dá)式:n結(jié)果只有兩種:結(jié)果只有兩種:非非0: 0: 邏輯真邏輯真 0 : 0 : 邏輯假邏輯假邏輯與的真值表邏輯與的真值表x y

3、x&y 非非 0 非非 0 1 非非 0 0 0 0 非非 0 0 0 0 0 邏輯與運(yùn)算:兩個(gè)運(yùn)算量都為非0,結(jié)果才為1 (邏輯真) 。邏輯或的真值表邏輯或的真值表x y x|y 非非 0 非非 0 1 非非 0 0 1 0 非非 0 1 0 0 0 邏輯與運(yùn)算:兩個(gè)運(yùn)算量中只要有一個(gè)運(yùn)算量非0,結(jié)果就為1(邏輯真)。邏輯非的真值表邏輯非的真值表邏輯非運(yùn)算:使運(yùn)算量的值變反,即非0值變0值。X! X非非0001邏輯表達(dá)式運(yùn)算的優(yōu)先級(jí)n優(yōu)先級(jí)(從高到低):! 算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 & | 賦值運(yùn)算符n練習(xí):6 = ! 0811111注意C程序中某些關(guān)系表達(dá)式的寫(xiě)法:axxbx

4、a & xb & xaC程序中一定不要有連續(xù)“ ”的形式!條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符和條件表達(dá)式表達(dá) 式 1結(jié) 果為表達(dá) 式 2的值結(jié) 果為表達(dá) 式 3的值0=0n條件運(yùn)算符:條件運(yùn)算符:? ? :n表達(dá)式的一般形式:表達(dá)式表達(dá)式的一般形式:表達(dá)式1?1?表達(dá)式表達(dá)式2:2:表達(dá)式表達(dá)式3 3如:如:max =max =(ab)?a:b(ab)?a:b條件表達(dá)式流程圖說(shuō)明:說(shuō)明:【程序【程序5.15.1】輸入一個(gè)字符,判別它是否大寫(xiě)字母。】輸入一個(gè)字符,判別它是否大寫(xiě)字母。如果是,將它轉(zhuǎn)換成小寫(xiě)字母;如果不是,不轉(zhuǎn)換。如果是,將它轉(zhuǎn)換成小寫(xiě)字母;如果不是,不轉(zhuǎn)換。main

5、()char ch;scanf(%c,&ch);ch=(ch=A&chb)t=a;a=b;b=t; /*a、b間的較小值存入間的較小值存入a*/if(ac)t=a;a=c;c=t; /*a、c 間的較小值存入間的較小值存入a*/if(bc)t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2fn,a,b,c);if語(yǔ)句 之雙分支選擇結(jié)構(gòu)n一般形式:一般形式:if(if(表達(dá)式表達(dá)式) ) 語(yǔ)句語(yǔ)句1 1else else 語(yǔ)句語(yǔ)句2 2n說(shuō)明:說(shuō)明:當(dāng)表達(dá)式的值為非當(dāng)表達(dá)式的值為非0 0時(shí),執(zhí)行語(yǔ)句時(shí),執(zhí)行語(yǔ)句1 1,否則執(zhí)行語(yǔ)句否則執(zhí)行語(yǔ)句2 2。表達(dá)式表達(dá)

6、式語(yǔ)句語(yǔ)句1語(yǔ)句語(yǔ)句2 0=0雙分支選擇結(jié)構(gòu)流程圖【5.35.3】顯示輸出從終端輸入的兩個(gè)整數(shù)中絕對(duì)值較大的main()int x1,y1,x2,y2;scanf(%d,%d,&x1,&y1);if(x10)x2=-x1;else x2=x1;if(y1y2?x1:y1);條件表達(dá)式不能取代一般的條件表達(dá)式不能取代一般的ifif語(yǔ)句,只有在語(yǔ)句,只有在ifif語(yǔ)句中內(nèi)嵌的語(yǔ)句為賦值語(yǔ)句(且兩個(gè)分支都給語(yǔ)句中內(nèi)嵌的語(yǔ)句為賦值語(yǔ)句(且兩個(gè)分支都給同一個(gè)變量賦值)時(shí)才能代替同一個(gè)變量賦值)時(shí)才能代替ifif語(yǔ)句。語(yǔ)句。運(yùn)行情況:23,3434if語(yǔ)句 之多分支選擇結(jié)構(gòu)n一般形式:一般

7、形式:ifif(表達(dá)式)語(yǔ)句(表達(dá)式)語(yǔ)句1 1else ifelse if(表達(dá)式)語(yǔ)句(表達(dá)式)語(yǔ)句2 2else ifelse if(表達(dá)式)語(yǔ)句(表達(dá)式)語(yǔ)句3 3else ifelse if(表達(dá)式)語(yǔ)句(表達(dá)式)語(yǔ)句n nelse else 語(yǔ)句語(yǔ)句n+1n+1n說(shuō)明:各個(gè)表達(dá)式按順序求值,如果某個(gè)表達(dá)說(shuō)明:各個(gè)表達(dá)式按順序求值,如果某個(gè)表達(dá)式的值為非式的值為非0 0,則執(zhí)行與其相關(guān)的那條語(yǔ)句,則執(zhí)行與其相關(guān)的那條語(yǔ)句,并由此結(jié)束整個(gè)并由此結(jié)束整個(gè)ifif語(yǔ)句。語(yǔ)句。多分支選擇結(jié)構(gòu)流程圖表達(dá) 式 1語(yǔ)句1表達(dá) 式 n表達(dá) 式 3表達(dá) 式 2語(yǔ)句2語(yǔ)句3語(yǔ)句n 語(yǔ)句n+10000=0

8、=0=0=0ifif語(yǔ)句的嵌套語(yǔ)句的嵌套格式一:if( )if( )語(yǔ)句1else語(yǔ)句2else if()語(yǔ)句3else 語(yǔ)句4格式二:if () if()語(yǔ)句1 elseif()語(yǔ)句2else 語(yǔ)句3含義:在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句稱(chēng)為if語(yǔ)句的嵌套。注意if與else的配對(duì)關(guān)系?!境绦颉境绦?.45.4】判斷輸入的字符是數(shù)字、大寫(xiě)字母、小寫(xiě)字判斷輸入的字符是數(shù)字、大寫(xiě)字母、小寫(xiě)字母或其他字符。母或其他字符。#include main()char c;printf(Enter a character:);c=getchar();if(c=0&c=A&c=a&

9、c0,有兩個(gè)不等實(shí)根:b2-4ac0計(jì) 算復(fù) 根 的 實(shí) 部 p和虛 部 q:輸出兩 個(gè)復(fù) 根:p+q,p-q輸出 兩 個(gè) 實(shí) 根 : x1,x2aacbbx2422aacbbx2412abp2aacbq2)4(2真真真假假假一元二次方程 NS圖#include main()float a,b,c,d,x1,x2,p,q;scanf(%f,%f,%f,&a,&b,&c);printf(The equation );if(fabs(a)=1e-6) printf(is not quadratic.n);else d=b*b-4*a*c;if(fabs(d)1e-6)x1=

10、(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(has distinct real roots:%8.4f and %8.4fn,x1,x2);elsep=-b/(2*a);q=sqrt(-d)/(2*a);printf(has complex roots:n);printf(%8.4f+%8.4fin,p,q);printf(%8.4f-%8.4fin,p,q);switchswitch語(yǔ)句和語(yǔ)句和breakbreak語(yǔ)句語(yǔ)句nswitch switch 語(yǔ)句:語(yǔ)句:是專(zhuān)門(mén)用于實(shí)現(xiàn)多分支選擇的語(yǔ)句。nbreakbreak語(yǔ)句:語(yǔ)句:終止switch

11、語(yǔ)句的執(zhí)行。nswitchswitch語(yǔ)句的語(yǔ)句的一般形式:一般形式:switch(表達(dá)式)case 常量表達(dá)式 1: :語(yǔ)句 1case 常量表達(dá)式 2:語(yǔ)句 2 case 常量表達(dá)式 n:語(yǔ)句 ndefault:語(yǔ)句 n+1Switch(t_type)case A:printf(“RMB60.00”);break; /*大客車(chē)大客車(chē)*/case B:printf(“RMB50.00”);break; /*大貨車(chē)大貨車(chē)*/case C:printf(“RMB40.00”);break; /*面包車(chē)面包車(chē)*/case D:printf(“RMB20.00”);break; /*小轎車(chē)小轎車(chē)*/

12、default: printf(“RMB10.00”); /*其他車(chē)輛其他車(chē)輛*/例:公路收費(fèi)站的車(chē)輛收費(fèi)問(wèn)題。例:公路收費(fèi)站的車(chē)輛收費(fèi)問(wèn)題。說(shuō)明:變量說(shuō)明:變量“t_type”用來(lái)表示汽車(chē)的類(lèi)型。用來(lái)表示汽車(chē)的類(lèi)型。說(shuō)明:說(shuō)明:nswitch switch 語(yǔ)句中的語(yǔ)句中的“表達(dá)式表達(dá)式”和和casecase后面的后面的“常量表達(dá)式常量表達(dá)式”的結(jié)果值的類(lèi)型應(yīng)該一致。的結(jié)果值的類(lèi)型應(yīng)該一致。n每一個(gè)每一個(gè)casecase的常量表達(dá)式的值必須互不相同,的常量表達(dá)式的值必須互不相同,否則出現(xiàn)矛盾現(xiàn)象。否則出現(xiàn)矛盾現(xiàn)象。n各個(gè)各個(gè)casecase的出現(xiàn)次序不影響執(zhí)行結(jié)果。的出現(xiàn)次序不影響執(zhí)行結(jié)果。

13、n執(zhí)行完一個(gè)執(zhí)行完一個(gè)casecase后面的語(yǔ)句后,流程控制轉(zhuǎn)移后面的語(yǔ)句后,流程控制轉(zhuǎn)移下一個(gè)下一個(gè)casecase繼續(xù)執(zhí)行,除非有繼續(xù)執(zhí)行,除非有breakbreak語(yǔ)句跳出語(yǔ)句跳出switchswitch。ndefault default 語(yǔ)句為選擇項(xiàng),可有可無(wú)。另外,語(yǔ)句為選擇項(xiàng),可有可無(wú)。另外,default default 后面可以不加后面可以不加breakbreak語(yǔ)句。語(yǔ)句?!境绦颉境绦?.65.6】根據(jù)考試成績(jī)的等級(jí)打印出百分制分?jǐn)?shù)段:#include main() char grade; grade=getchar(); switch(grade) case a:printf(85100n);break;case b:printf(7084n);break;case c:printf(6069n);break;case d:p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論