版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第五章 分支結(jié)構(gòu)程序設(shè)計,5.1 關(guān)系運算符和表達式 5.2 邏輯運算符和表達式 5.3 邏輯表達式的跳躍 5.4 if語句 5.5 switch語句,5.1 關(guān)系表達式,由關(guān)系運算符、圓括號把兩個表達式連接起來的式子。 表示條件 若所表示的條件成立、則其值為1(非0)、否則其值為0。 關(guān)系運算符:、=、=、!= 例: a=2 、39 、a != ( a=8 ) 、 x+(y=3)=k*z 、(a!=3)(kl),97,8,表達式 值為1,優(yōu)先,成立為1 不成立為0,非=,注意:數(shù)學(xué)中多個條件,例 abcd 應(yīng)表示為 ab a=b=c=0; + +a|+ +b 后a、b值分別為0、6,a=1
2、停止不算,值為 0 賦給a, 停止不算,3、執(zhí)行 int a,b,c;a=b=c= - 1; + +a 后a、b、c值分別為0、-1、0,1,a=0,2,不算,值為0,3,c=0,4,整體為0,例1:,main() char c=k; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf(%d,%dn,!x*!y,!x); printf(%d,%dn,x|i 運行結(jié)果:0,0 1,0 0,1,0,X為非0,為非0,后面不算,為0,后面不算,5.4 選擇結(jié)構(gòu)(if 語句),5.4.1 if語句的三種形式 1、第一種形式為基本形式: if if(表達式) 語句
3、語義:如果表達式的值為真,則執(zhí)行其后的語句,否則不執(zhí)行該語句。其過程可表示為下圖。,表達式可以是任意合法表達式,后面不能加;,例2:void main() int a,b,max; printf(n input two numbers: ); scanf(%d %d, 輸入:23 46 輸出:max=46,此語句用于提示輸入,max=23,max=46,例3:void main() int a,b,c,t; printf(n input two numbers: ); scanf(%d %d %d , 輸入:1 6 2 輸出:6 2 1,實現(xiàn)數(shù)的互換,功能:輸入三個數(shù),按照從大到小順序輸出,例
4、4:從鍵盤輸入一個字符,判斷它是否小寫字母。若是,將其轉(zhuǎn)換成大寫字母,否則不進行轉(zhuǎn)換,作后輸出該字母。 #include main() char c,a; c=getchar(); if(c=z ) a=c; /*判斷非小寫字母情況*/ if(c=a) a=c-32; *判斷是否是小寫字母情況*/ printf(%cn,a); ,main() char c; c=getchar(); if(c=a)c-=32; printf(%cn,c);,2、第二種形式為: if-else if(表達式) 語句1; else 語句2; 語義:如果表達式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2 。,后面不能加;
5、,void main() int a, b; printf(input two numbers: ); scanf(%d %d, 輸入:23 46 輸出:max=46,輸入兩個整數(shù),輸出其中大數(shù),例2的改寫,3、第三種形式為if-else-if形式: if(表達式1) 語句1; else if(表達式2) 語句2; else if(表達式3) 語句3; else if(表達式m) 語句m; else 語句n;,語義: 依次判斷表達式的值,當(dāng)出現(xiàn)某個值為真時,則執(zhí)行其對應(yīng)的語句。然后跳到整個if語句之外繼續(xù)執(zhí)行程序。 如果所有的表達式均為假,則執(zhí)行語句n。然后繼續(xù)執(zhí)行后續(xù)程序。,后面不能加;,此
6、為真,做語句1,其它語句都不做,上面的語句為以下三種格式: 1、空語句 2、一個語句(不引起轉(zhuǎn)移) 3、前后加大括號的語句(復(fù)合語句),也叫程序段,如: int a; float b; a=3; b=7.0;,;,允許在復(fù)合語句前部定義變量,只能在復(fù)合語句中使用,int a; a=3; float b; b=7.0;,變量要在最前面定義,不能寫成,#includestdio.h void main() 輸入:A char c; 輸出:This is a capital letter c=getchar(); if(c=0 ,例5,4、在使用if語句中應(yīng)注意以下問題: 1)在三種形式的if語句中
7、,在if之后均為表達式。 該表達式通常是邏輯表達式或關(guān)系表達式, 但也可以是其它表達式,如賦值表達式等,甚至也可以是一個變量。 例如: if(a=5) 語句; if(b) 語句; 都是允許的。只要表達式的值為非0,即為“真”。 如在: if(a=5); 中表達式的值永遠為非0,所以其后的語句總是要執(zhí)行的,當(dāng)然這種情況在程序中不一定會出現(xiàn),但在語法上是合法的。,又如,有程序段: if(a=b) printf(%d,a); else printf(a=0); 本語句的語義是,把b值賦予a,如為非0則輸出該值,否則輸出“a=0”字符串。這種用法在程序中是經(jīng)常出現(xiàn)的。,=為賦值運算符,比較運算符為=,
8、2)在if語句中,條件判斷表達式必須用括號括起來,在語句之后必須加分號。 3)在if語句的三種形式中,所有的語句應(yīng)為單個語句,如果要想在滿足條件時執(zhí)行一組(多個)語句,則必須把這一組語句用括起來組成一個復(fù)合語句。但要注意的是在之后不能再加分號。 例如: if(ab) a+;b+; else a=0;b=10;,if(ab) a+;b+;; else a=0;b=10;;,不能寫成,5.4.2 條件運算符和條件表達式,在條件語句中,只執(zhí)行單個的賦值語句時,可使用條件表達式來實現(xiàn)。 條件運算符為?和:,它是一個三目運算符,即有三個參與運算的量。 條件表達式的一般形式為: 表達式1? 表達式2 :
9、表達式3 求值規(guī)則為:如果表達式1的值為真,則以表達式2 的值作為條件表達式的值,否則以表達式2的值作為整個條件表達式的值。,非 0,0,例如條件語句: if(ab) max=a; else max=b; 可用條件表達式寫為: max=(ab)?a:b; 執(zhí)行該語句的語義是: 如ab為真,則把a賦予max, 如ab為假,則把b 賦予max。,使用條件表達式時,還應(yīng)注意以下幾點: 1)條件運算符的運算優(yōu)先級低于關(guān)系運算符和 算術(shù)運算符,但高于賦值符。 因此:max=(ab)?a:b 可以去掉括號而寫為 max=ab?a:b 2)條件運算符?和:是一對運算符,不能分開 單獨使用。 3)條件運算符的
10、結(jié)合方向是自右至左。 例如:ab?a:cd?c:d 應(yīng)理解為 ab?a:(cd?c:d) 這也就是條件表達式嵌套的情形,即其中的表達式3又是一個條件表達式。,例6:計算,方法一: void main( ) float x,y; scanf (”%f ”, ,表達式,成立值為1,y=x3 ? x*x+2 : 3*x+7*x*x;,例7:從鍵盤輸入任意的兩個實數(shù),按從小到大順序輸出這兩個數(shù),請編程實現(xiàn)。 void main( ) float a,b; scanf (”%f%f ”,代替,復(fù)合語句可以定義變量,a=a+b;b=a-b;a=a-b t=a;a=b;b=t,例8:P105 5.5 計算,方法一: main( ) float x,y; scanf (”%f ”,1=x scanf (”%f ”, , 、 可省略,y= x1? x :( x10 ? 2*x-1 : 3*x-11);,(、)可省略,方法三:,if (x10) if (x1) y=x; else y=2*x-1; else y=3*x-11;, 后不能加;, 、
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度公積金貸款購房合同標(biāo)準(zhǔn)解讀3篇
- 二零二五版企業(yè)間借款合同范本9篇
- 二零二五年度防盜門安全認證及銷售合同2篇
- 二零二五年度車輛保險居間代理合同(含優(yōu)惠方案)3篇
- 二零二五版特色果樹種植基地承包經(jīng)營合同3篇
- 影視作品評價與獎項申報2025年度合同3篇
- 二零二五年綠色節(jié)能LED廣告租賃合同3篇
- 深圳市2025年度人才住房裝修補助購房合同3篇
- 二零二五版汽車抵押貸款車輛殘值評估合同3篇
- 二零二五年度金融產(chǎn)品發(fā)行與銷售合同3篇
- 軟件項目應(yīng)急措施及方案
- 2025河北邯鄲經(jīng)開國控資產(chǎn)運營管理限公司招聘專業(yè)技術(shù)人才5名高頻重點提升(共500題)附帶答案詳解
- 2024年民法典知識競賽考試題庫及答案(共50題)
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合卷(含答案)
- 鈑金設(shè)備操作培訓(xùn)
- 感染性腹瀉的護理查房
- 中考英語688高頻詞大綱詞頻表
- 九年級初三中考物理綜合復(fù)習(xí)測試卷3套(含答案)
- 管理制度評價表(填寫模板)
- 工地設(shè)計代表服務(wù)記錄
評論
0/150
提交評論