版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 選擇結(jié)構(gòu)程序設(shè)計(一)說明內(nèi)容1關(guān)系運算符和關(guān)系表達(dá)式2邏輯運算符和邏輯表達(dá)式3條件運算符及條件表達(dá)式4IF語句5IF語句的嵌套生活中的“十字路口”也屬于選擇結(jié)構(gòu)類型。舉例說明實例講解說明舉例說明通過講解,向if語句過渡通過與前面引入的例子重點說明其格式結(jié)合實例說明其注意事項通過圖例說明嵌套的匹配關(guān)系。對比實例,詳細(xì)細(xì)化注意事項通過實例,說明分支程序設(shè)計的思想,鞏固前面所講的內(nèi)容。重點1關(guān)系運算符和關(guān)系表達(dá)式2邏輯運算符和邏輯表達(dá)式3條件運算符及條件表達(dá)式4IF語句的格式使用5IF語句的嵌套難點復(fù)雜條件的表示;IF語句的正確使用。問題提出通過前面的順序結(jié)構(gòu)程序設(shè)計的介紹,我們都知道順序結(jié)構(gòu)程
2、序設(shè)計按照自上而下的流程的順序執(zhí)行,但是在實際生活中,僅順序結(jié)構(gòu)是無法滿足用戶要求的,并不是所有的程序都是自上而下的順序執(zhí)行,而是根據(jù)條件有選擇的執(zhí)行。這就是我們將要學(xué)習(xí)的分支結(jié)構(gòu)程序設(shè)計。詳細(xì)內(nèi)容一、導(dǎo)入討論導(dǎo)入:請教學(xué)生翻譯下面的英語句子 a.If she is not in Class1 then she will be in Class2. b.If it does not rain then I'll go to park, else I'll go to the movie.
3、 創(chuàng)造情景,使學(xué)生感覺新鮮和自信,學(xué)生可以翻譯的準(zhǔn)確無誤。此過程中,教師引導(dǎo)學(xué)生注意if 、then、 else三個詞的使用。學(xué)生歸納:條件語句的一般形式:格式1:if 條件 then 語句組格式2:if 條件 then 語句組1 else 語句組2二、if中的條件表示1關(guān)系運算符和關(guān)系表達(dá)式在程序中經(jīng)常需要比較兩個量的大小關(guān)系, 以決定程序下一步的工作。比較兩個量的運算符稱為關(guān)系運算符。(1)關(guān)系運算符:操作符 作用 > 大于 >= 大于等于 < 小于 <= 小于等于 = = 等于 != 不等于 關(guān)系運算符都是雙目運算符,用于兩個運算對象比較。注意:不能將“<=
4、”寫成“=<”,也不能將“>=”寫成“=>”。(2)關(guān)系表達(dá)式:用關(guān)系運算符將兩個運算對象連接起來的式子稱為關(guān)系表達(dá)式。運算對象可以是常量,可以是變量,也可是表達(dá)式。如:3>2 b*b-4*a*c>=1e-6 x= =y a%b!=0關(guān)系表達(dá)式的值: C語言規(guī)定用數(shù)值0代表關(guān)系運算結(jié)果為“假”,用數(shù)值1代表關(guān)系運算結(jié)果為“真”。關(guān)系表達(dá)式值的數(shù)據(jù)類型為整型。設(shè)有定義 int a=3,b=2,c=1; 則:a>b 的值為1c= =a 的值為0(3)優(yōu)先級和結(jié)合方向>、>=、<和 < = 的優(yōu)先級相同;= = 和 !=的優(yōu)先級相同,兩組運
5、算符優(yōu)先級從高到低的順序是:> >= < <= = = !=關(guān)系運算符的優(yōu)先級低于算術(shù)運算符。如:a+b>c+d 等價于 (a+b)>(c+d)關(guān)系運算符的結(jié)合方向都為左結(jié)合。如:a>b>c 等價于 (a>b)>c2、邏輯運算符和邏輯表達(dá)式(1)邏輯運算符&& 邏輯與| 邏輯或! 邏輯非(2)邏輯表達(dá)式用邏輯運算符將關(guān)系表達(dá)式或邏輯量連接起來的式子就是邏輯表達(dá)式。運算對象一般為關(guān)系表達(dá)式或邏輯量(常量或變量)。如;x>10|x<100 x= =y&&a!=b 5&&b如:3&
6、gt;2&&4>3 的結(jié)果為真3<4|4>5 結(jié)果為真!(3>2) 的結(jié)果為假邏輯表達(dá)式的值:用數(shù)值0代表邏輯運算結(jié)果為“假”,用數(shù)值1代表邏輯運算結(jié)果為“真”。在判斷一個量(常量或變量)是“真”還是“假”時,C語言規(guī)定以0代表“假”,以非0代表“真”。3<4&&4>5 的結(jié)果為03<4|4>5 結(jié)果為1!(3>2) 的結(jié)果為0(3)優(yōu)先級和結(jié)合方向三個邏輯運算符優(yōu)先級從高到低的順序為:! && |! 的優(yōu)先級高于算術(shù)運算符。&&和|的優(yōu)先級低于關(guān)系運算符。如:3>2+1
7、&&4<2+1 等價于 (3>(2+1)&&(4<(2+1)&&和|的結(jié)合方向為左結(jié)合,!的結(jié)合方向為右結(jié)合。如:a>b&&c>d&&e>f 等價于 (a>b)&&(c>d)&&(e>f)!(a>b) 等價于 !(!(!(a>b)3、條件運算符及條件表達(dá)式(1)條件運算符 ? : C語言中唯一的一個三目運算符。(2)條件表達(dá)式條件表達(dá)式的一般形式為: 表達(dá)式1?表達(dá)式2:表達(dá)式3 其中,表達(dá)式i (1i3)的類型任意,
8、表達(dá)式1一般為關(guān)系表達(dá)式或邏輯表達(dá)式,表達(dá)式2和表達(dá)式3一般為同類型表達(dá)式。條件表達(dá)式的求解過程是:先求解表達(dá)式1,若表達(dá)式1的值不為0,則求解表達(dá) 式2,表達(dá)式2的值就是條件表達(dá)式的值;若表達(dá)式1的值為0,則求解表達(dá)式3,表達(dá)式3的值就是條件表達(dá)式的值。 如: 3>2?3+2:3*2 表達(dá)式的值為5a>b?3!=0:7= =8 表達(dá)式的值為0(3)優(yōu)先級和結(jié)合方向 條件運算符的優(yōu)先級高于賦值運算符,但低于邏輯運算符、關(guān)系運算符和算術(shù)運算符。如:3>2?3+2:3*2 等價于 (3>2)?(3+2):(3*2)a>b?3!=0:7= =8 等價于 (a>b)
9、?(3!=0):(7= =8)條件運算符的結(jié)合方向為右結(jié)合。如:注意:·條件表達(dá)式中的表達(dá)式2和表達(dá)式3只有一個被求解。·表達(dá)式1的類型可與表達(dá)式2和表達(dá)式3的類型不同。三、分支結(jié)構(gòu)表示IF語句在C中條件語句的一般形式為: if(表達(dá)式) 語句1; else 語句2; 執(zhí)行過程如下:如果表達(dá)式的值為非0(TURE)即真, 則執(zhí)行語句1, 執(zhí)行完語句1從語句2后開始繼續(xù)向下執(zhí)行; 如果表達(dá)式的值為0(FALSE)即假, 則跳過語句1而執(zhí)行語句2。然后程序繼續(xù)往下執(zhí)行。所謂表達(dá)式是指關(guān)系表達(dá)式和邏輯表達(dá)式的結(jié)合式, 關(guān)于表達(dá)式前面已作過介紹, 這是不再重復(fù)。表達(dá)式真(非0)假(
10、0)語 句 1語 句 2注意:1. 如果語句1或語句2有多于一條語句要執(zhí)行時, 必須使用""和"" 把這些語句包括在其中, 此時條件語句形式為:if(表達(dá)式) 語句體1; else 語句體2;2. 分支程序的三種形式(1)單分支: 例1輸入一個整型數(shù),輸出該數(shù)的絕對值。 main() int a,; scanf("%d",&a); if(a<=0) a=-a; printf("%dn",a); (2)上述是雙分支例2輸入兩個整型數(shù),將平方值較大者輸出。 main(
11、) int a,b,max; scanf("%d%d",&a,&b); if(a*a>b*b) max=a; else max=b; printf("%5dn",max); (3)多分支if語句是雙分支if語句的一個擴充,其格式為:例3輸入一個百分制成績,輸出其對應(yīng)的等級。(90100為A,8099為B,7079為C,6069為D,059為E)main() int x; char y; scanf("%d",&x); if(x>=90) y=A; else if(x>=80) y=B; els
12、e if(x>=70) y=C; else if(x>=60) y=D; else y=E; printf("y=%cn",y);四If嵌套格式if語句可以嵌套,即在一個if語句中又可以包含一個或多個if語句,一般形式為:if(表達(dá)式1)if(表達(dá)式2) 語句1else 語句2elseif(表達(dá)式3) 語句3else 語句4注意:在缺省花括號的情況下,if和else的配對關(guān)系是:從最內(nèi)層開始,else總是與它上面最近的并且沒有和其他else配對的if配對。程序員應(yīng)該養(yǎng)成良好的編程習(xí)慣,從書寫格式上,注意if和else的層次關(guān)系,反映if與else的配對關(guān)系。以便
13、提高程序的維護(hù)和理解。如下if與else的配對舉例。例4已知函數(shù)y=編寫程序,輸入x,輸出y值。main() float x; int y; scanf("%f",&x); if(x>=0) if(x>0) y=1; else y=0; else y=-1; printf("x=%f y=%dn",x,y);使用if 語句時應(yīng)注意以下幾點: if后面圓括號內(nèi)的表達(dá)式可以為任意類型,但一般為關(guān)系表達(dá)式或邏輯表達(dá)式。 if和else后面的語句可以是任意語句。 if(x)與if(x!=0)等價。 if(!x)與if(x= =0)等價。五、舉
14、例說明例5:讀入一個整數(shù),判斷其能否被3整除。#include <stdio.h>main() int a ;printf("Enter an integer “) ;scan("%d",&a) ; /*輸入一個整數(shù)*/if (a%3= =0) /*判斷能否被3整除并輸出相應(yīng)信息*/printf("%d能被3整除n”,a) ;else printf("%d不能被3整除n”,a) ;例6 從鍵盤輸入三個數(shù),求出絕對值最大者并顯示輸出。分析:可將輸入的三個數(shù)存放于變量a,b,c中,先用a和b 比較(絕對值比較),將大數(shù)存放于臨時
15、變量max中,再用max和c比較,再將大數(shù)存放于max中,這樣進(jìn)行比較之后得到的max一定為a,b,c中絕對值最大的數(shù)。程序如下:#include <stdio.h>#include math.hmain () float a ,b ,c ;float max ;printf(“Enter 3 numbers n”) ;scanf ("%f , %f , %f ",&a,&b,&c);if (abs(a) > abs (b) max=abs(a) ; else max=abs(b) ;if (max < abs (c)max=abs(c) ; printf("Max=%fn",max) ;例7 輸入三個整數(shù),按大小順序輸出程序如下:#include <stdio.h>main() int a,b,c,temp ; scanf(“%d,%d,%d”,&a,&b,&
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科技學(xué)院《環(huán)境材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東金融學(xué)院《設(shè)計色彩》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東建設(shè)職業(yè)技術(shù)學(xué)院《壓焊方法與設(shè)備》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東機電職業(yè)技術(shù)學(xué)院《測井?dāng)?shù)據(jù)處理與解釋》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東工業(yè)大學(xué)《教育與心理統(tǒng)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東工貿(mào)職業(yè)技術(shù)學(xué)院《國際商務(wù)函電》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東東軟學(xué)院《新聞理論》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東創(chuàng)新科技職業(yè)學(xué)院《水土保持原理與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《光合作用原初反應(yīng)》課件
- 廣東白云學(xué)院《數(shù)字信號處理及實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 數(shù)學(xué)-2025年高考綜合改革適應(yīng)性演練(八省聯(lián)考)
- 景區(qū)旅游安全風(fēng)險評估報告
- 建筑消防設(shè)施檢測誠信承諾書
- ojt問答題未升版ojt204
- 五年級語文滲透法制教育滲透點教案呈現(xiàn)
- 貝雷片-潮白新河鋼棧橋及鋼平臺計算說明書
- VF程序設(shè)計知識要點
- 凱普21種基因型HPV分型與其它比較
- 小學(xué)數(shù)學(xué)小專題講座《數(shù)學(xué)教學(xué)生活化 》(課堂PPT)
- 雞場養(yǎng)殖情況記錄登記表
- 高壓配電柜系列產(chǎn)品出廠檢驗規(guī)范
評論
0/150
提交評論