chapter05 C語言.ppt_第1頁
chapter05 C語言.ppt_第2頁
chapter05 C語言.ppt_第3頁
chapter05 C語言.ppt_第4頁
chapter05 C語言.ppt_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第5章 邏輯運(yùn)算和選擇結(jié)構(gòu)程序設(shè)計(jì),本次課程主要內(nèi)容,關(guān)系運(yùn)算符和關(guān)系表達(dá)式 邏輯運(yùn)算符和邏輯表達(dá)式 條件運(yùn)算符和條件運(yùn)算 if語句 switch語句和break語句,關(guān)系運(yùn)算,關(guān)系運(yùn)算:對(duì)兩個(gè)運(yùn)算量進(jìn)行大小關(guān)系比較的運(yùn)算,運(yùn)算結(jié)果為1(邏輯真)或0(邏輯假)。 關(guān)系運(yùn)算符(按從高到低順序): 、 =、 = =、 != 關(guān)系表達(dá)式,用關(guān)系運(yùn)算符連接起來的兩個(gè)表達(dá)式: 表達(dá)式 關(guān)系運(yùn)算符 表達(dá)式,優(yōu)先級(jí):低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符,舉例: xy!=z等價(jià): (xy) != z x= = yyz等價(jià): (xy) z zx+y等價(jià): z (x+y) x=yz等價(jià): x = (yz),邏輯運(yùn)算符和

2、邏輯表達(dá)式,邏輯運(yùn)算符: scanf(%c, ,if 語句,if語句的三種形式: 實(shí)現(xiàn)單分支選擇結(jié)構(gòu)的形式 實(shí)現(xiàn)雙分支選擇結(jié)構(gòu)的形式 實(shí)現(xiàn)多分支選擇的形式,if語句 之單分支選擇結(jié)構(gòu),一般形式: if(表達(dá)式)語句 說明:當(dāng)表達(dá)式的結(jié)果為非0時(shí),執(zhí)行后面的語句,否則不執(zhí)行。,單分支選擇結(jié)構(gòu)流程圖,【5.2】將輸入的三個(gè)數(shù)按照從小到大的順序輸出,main() float a,b,c,t; scanf(%f%f%f, ,if語句 之雙分支選擇結(jié)構(gòu),一般形式: if(表達(dá)式) 語句1 else 語句2 說明: 當(dāng)表達(dá)式的值為非0時(shí),執(zhí)行語句1,否則執(zhí)行語句2。,雙分支選擇結(jié)構(gòu)流程圖,【5.3】顯示輸

3、出從終端輸入的兩個(gè)整數(shù)中絕對(duì)值較大的,main() int x1,y1,x2,y2; scanf(%d,%d, ,條件表達(dá)式不能取代一般的if語句,只有在if語句中內(nèi)嵌的語句為賦值語句(且兩個(gè)分支都給同一個(gè)變量賦值)時(shí)才能代替if語句。,運(yùn)行情況: 23,34 34,if語句 之多分支選擇結(jié)構(gòu),一般形式: if(表達(dá)式)語句1 else if(表達(dá)式)語句2 else if(表達(dá)式)語句3 else if(表達(dá)式)語句n else 語句n+1 說明:各個(gè)表達(dá)式按順序求值,如果某個(gè)表達(dá)式的值為非0,則執(zhí)行與其相關(guān)的那條語句,并由此結(jié)束整個(gè)if語句。,多分支選擇結(jié)構(gòu)流程圖,if語句的嵌套,格式一:

4、 if( ) if( )語句1 else語句2 else if()語句3 else 語句4,格式二: if () if()語句1 else if()語句2 else 語句3,含義:在if語句中又包含一個(gè)或多個(gè)if語句稱為if語句的嵌套。,注意if與else 的配對(duì)關(guān)系。,【程序5.4】判斷輸入的字符是數(shù)字、大寫字母、小寫字母或其他字符。,#include main() char c; printf(Enter a character:); c=getchar(); if(c=0 ,【程序5.5】解一元二次方程ax2+bx+c=0。,一元二次方程的解的情況有下列幾種可能: a=0,不是二次方程;

5、 b2-4ac=0,有兩個(gè)相等實(shí)根: b2-4ac0,有兩個(gè)不等實(shí)根: b2-4ac0,有兩個(gè)共軛實(shí)根。,分析,一元二次方程 NS圖,#include main() float a,b,c,d,x1,x2,p,q; scanf(%f,%f,%f,源程序:,未完,待續(xù),else if(d1e-6) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(has distinct real roots:%8.4f and %8.4fn,x1,x2); else p=-b/(2*a); q=sqrt(-d)/(2*a); printf(has compl

6、ex roots:n); printf(%8.4f+%8.4fin,p,q); printf(%8.4f-%8.4fin,p,q); ,switch語句和break語句,switch 語句:是專門用于實(shí)現(xiàn)多分支選擇的語句。 break語句:終止switch語句的執(zhí)行。 switch語句的一般形式: switch(表達(dá)式) case 常量表達(dá)式 1:語句 1 case 常量表達(dá)式 2:語句 2 case 常量表達(dá)式 n:語句 n default:語句 n+1 ,Switch(t_type) case A:printf(“RMB60.00”);break; /*大客車*/ case B:print

7、f(“RMB50.00”);break; /*大貨車*/ case C:printf(“RMB40.00”);break; /*面包車*/ case D:printf(“RMB20.00”);break; /*小轎車*/ default: printf(“RMB10.00”); /*其他車輛*/ ,例:公路收費(fèi)站的車輛收費(fèi)問題。,說明:變量“t_type”用來表示汽車的類型。,說明:,switch 語句中的“表達(dá)式”和case后面的“常量表達(dá)式”的結(jié)果值的類型應(yīng)該一致。 每一個(gè)case的常量表達(dá)式的值必須互不相同,否則出現(xiàn)矛盾現(xiàn)象。 各個(gè)case的出現(xiàn)次序不影響執(zhí)行結(jié)果。 執(zhí)行完一個(gè)case后面的語句后,流程控制轉(zhuǎn)移下一個(gè)case繼續(xù)執(zhí)行,除非有break語句跳出switch。 default 語句為選擇項(xiàng),可有可無。另外,default 后面可以不加break語句。,【程序5.6】根據(jù)考試成績的等級(jí)打印出百分制分?jǐn)?shù)段:,#include main() char grade; grade=getchar(); switch(grade) case a:printf(85100n);break; case b:printf(7084n);break; ca

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論