版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第五章 分支結構程序設計 由關系運算符、圓括號把兩個表達式連接起由關系運算符、圓括號把兩個表達式連接起來的式子。來的式子。 若所表示的條件成立、則其值為若所表示的條件成立、則其值為1(非(非0)、)、否則其值為否則其值為0。、例:例: a=2 、39 、a != ( a=8 ) 、 x+(y=3)=k*z 、(a!=3)(kbcd 應表示為應表示為 不能順手也寫為不能順手也寫為 abcd 關系運算符都是雙目運算符,其結合性均關系運算符都是雙目運算符,其結合性均為為。 在六個關系運算符中,在六個關系運算符中,。由邏輯運算符、圓括號把表達式連接起來的式子由邏輯運算符、圓括號把表達式連接起來的式子若
2、所表示的條件成立、其值為若所表示的條件成立、其值為1(非非0)、否則其值為、否則其值為0& (與)(與) 、| (或)、?。ǚ牵ɑ颍?、!(非)和和均為均為,具有,具有。 為為,具有,具有。邏輯運算符和其它運算符優(yōu)先級的關系可表示如下:邏輯運算符和其它運算符優(yōu)先級的關系可表示如下: 按照運算符的優(yōu)先順序可以得出:按照運算符的優(yōu)先順序可以得出: ab & cd 等價于等價于 (ab)&(cd) !b=c|da 等價于等價于 (!b)=c)|(dc&x+yc)&(x+y)3 a=8 23 0 2、x+y a 2 3、x+(y=3)=k*z !a 0+3=-1
3、 !a 0|0 4、(x!=7) a 0!=7|971|97 5、 ( x+y3 a=8 ) !(231)!(01)!016、 ( k*q ) !(-1)7、!x !(1) !(0) 1作第一個,知道結果,后面不作,如:作第一個,知道結果,后面不作,如: & &1、執(zhí)行、執(zhí)行 int a,b,c; a=b=c=0; + +a|+ +b&+ +c; 后后a、b、c值分別為值分別為1、0、02、執(zhí)行、執(zhí)行 int a=5,b=6,x=1,y=2; (a=xy)&(b= xy); 后后a、b值分別為值分別為0、63、執(zhí)行、執(zhí)行 int a,b,c;a=b=c= - 1
4、; + +a & + +b | + +c; 后后a、b、c值分別為值分別為0、-1、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&j-3,ij&xy); printf(%d,%dn,i=5&c&(j=8),x+y|i+j+k); 1、第一種形式為基本形式、第一種形式為基本形式: if if(表達式表達式) 語句語句 語義:如果表達式的值為真,則執(zhí)行其后的語句,語義:如果表達式的值為真,則執(zhí)行其后的
5、語句,否則不執(zhí)行該語句。其過程可表示為下圖。否則不執(zhí)行該語句。其過程可表示為下圖。 表 達 式 可表 達 式 可以 是 任 意以 是 任 意合 法 表 達合 法 表 達式 , 后 面式 , 后 面不能加;不能加;例例2:void main() int a,b,max; printf(n input two numbers: ); scanf(%d %d,&a,&b); max=a; if (maxb) max=b; printf(max=%d,max); 例例3:void main() int a,b,c,t; printf(n input two numbers: ); sc
6、anf(%d %d %d ,&a,&b,&c); if (ab) t=a;a=b;b=t; if (ac) t=a;a=c;c=t; if (bb) printf(max=%dn,a); else printf(max=%dn,b); 3、第三種形式為、第三種形式為if-else-if形式:形式:語義:語義: 依次判斷表達式的依次判斷表達式的值,當出現(xiàn)某個值為值,當出現(xiàn)某個值為真時,則執(zhí)行其對應真時,則執(zhí)行其對應的語句。然后跳到整的語句。然后跳到整個個if語句之外繼續(xù)執(zhí)行語句之外繼續(xù)執(zhí)行程序。程序。 如果所有的表如果所有的表達式均為假,則執(zhí)行達式均為假,則執(zhí)行語句語句n
7、。然后繼續(xù)執(zhí)行。然后繼續(xù)執(zhí)行后續(xù)程序。后續(xù)程序。后面不能后面不能加;加;上面的語句為以下三種格式:上面的語句為以下三種格式:1、空語句、空語句2、一個語句(不引起轉(zhuǎn)移)、一個語句(不引起轉(zhuǎn)移)3、前后加大括號的語句(復合語句),、前后加大括號的語句(復合語句),也叫程序段,如:也叫程序段,如:int a; float b; a=3; b=7.0; 不能寫成不能寫成 #includestdio.h#includestdio.h void main() void main() char c; char c; c=getchar(); c=getchar(); if(c32) if(c=0&
8、c=0&c=a&c=a&c=a&c=a&cb) a+;b+; else a=0;b=10; if(ab) a+;b+;; else a=0;b=10;;不能寫成不能寫成 在條件語句中,只執(zhí)行單個的賦值語句時,可使用在條件語句中,只執(zhí)行單個的賦值語句時,可使用條件表達式來實現(xiàn)。條件表達式來實現(xiàn)。 條件運算符為條件運算符為和和,它是一個,它是一個,即有,即有三個參與運算的量。三個參與運算的量。條件表達式的一般形式為:條件表達式的一般形式為: 如果表達式如果表達式1的值為真,則以表達式的值為真,則以表達式2 的值作為條件表達式的值,否則以表達式的值作為條件表達
9、式的值,否則以表達式2的值作的值作為整個條件表達式的值。為整個條件表達式的值。例如條件語句:例如條件語句: 可用條件表達式寫為:可用條件表達式寫為: 執(zhí)行該語句的語義是:執(zhí)行該語句的語義是:如如ab為真,則把為真,則把a賦予賦予max,如如ab為假,則把為假,則把b 賦予賦予max。使用條件表達式時,還應使用條件表達式時,還應以下幾點:以下幾點:1)條件運算符的運算優(yōu)先級低于關系運算符和)條件運算符的運算優(yōu)先級低于關系運算符和 算術運算符,但高于賦值符。算術運算符,但高于賦值符。 因此:因此: 可以去掉括號而寫為可以去掉括號而寫為 2)條件運算符)條件運算符是是。3)條件運算符的結合方向是)條
10、件運算符的結合方向是。 例如:例如: 應理解為應理解為 這也就是條件表達式嵌套的情形,即其中的這也就是條件表達式嵌套的情形,即其中的表達式表達式3又是一個條件表達式。又是一個條件表達式。例例6:計算:計算方法一:方法一:void main( ) float x,y; scanf (”%f ”,&x); if (x3) y=x*x+2; else y=3*x+7*x*x; printf(”y=%fn”,y);例例7:從鍵盤輸入任意的兩個實數(shù),按從小到大順序:從鍵盤輸入任意的兩個實數(shù),按從小到大順序輸出這兩個數(shù),請編程實現(xiàn)。輸出這兩個數(shù),請編程實現(xiàn)。void main( ) float a
11、,b; scanf (”%f%f ”,&a,&b); if (ab) a=a+b;b=a-b;a=a-b; printf(”%f,%fn”,a,b);可用語句可用語句代替代替a=a+b;b=a-b;a=a-bt=a;a=b;b=t例例8:p105 5.5 計算計算方法一:方法一:main( ) float x,y; scanf (”%f ”,&x); if (x1) y=x; else if ( x10 ) y=2*x-1; else y=3*x-11; printf(”y=%fn”,y);)10(113)101 (12) 1(xxxxxxy方法二:方法二:void m
12、ain( ) float x,y; scanf (”%f ”,&x); if (x1) y=x; else if ( x10 ) y=2*x-1; else y=3*x-11; printf(”y=%fn”,y);)10(113)101 (12) 1(xxxxxxy 、方法三:方法三:if (x10) if x1 y=x; else y=2*x-1; else y=3*x-11; 后不能加后不能加 和和 可一起省略可一起省略 若上面分段函數(shù)改為若上面分段函數(shù)改為則程序改為則程序改為void main( ) float x,y; scanf (”%f ”,&x); else if ( x1) y=x; else if ( x10 ) y=2*x-1; else y=3*x-11; printf(”y=%fn”,y);)2010(113)101 (1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容院雙十一活動方案策劃
- 雙11小活動策劃方案
- 現(xiàn)服科技發(fā)展與創(chuàng)新人才培訓模式探討
- 匯報技巧構建高效商業(yè)匯報的核心要素
- 國慶節(jié)活動方案披薩
- 7 角的初步認識 第二課時(說課稿)-2023-2024學年二年級下冊數(shù)學蘇教版001
- Unit 11 Chinese festivals(period 1)(說課稿)-2023-2024學年滬教牛津版(深圳用)英語五年級下冊001
- 16 家鄉(xiāng)新變化(說課稿)2023-2024學年統(tǒng)編版道德與法治二年級上冊
- 2023四年級數(shù)學上冊 二 加減法的關系和加法運算律第5課時說課稿 西師大版
- 2023九年級物理下冊 第十一章 物理學與能源技術11.3能源說課稿 (新版)教科版
- 《志愿軍-存亡之戰(zhàn)》觀后感小學生
- 統(tǒng)編小學《道德與法治》三年級上下冊教材的解讀
- 人教版(2024)英語七年級上冊單詞表
- 產(chǎn)業(yè)鏈競爭關聯(lián)度
- TTJSFB 002-2024 綠色融資租賃項目評價指南
- 涵洞施工鋼筋混凝土圓管涵
- 高考地理一輪復習學案+區(qū)域地理填圖+亞洲
- 全新車位轉(zhuǎn)讓協(xié)議模板下載(2024版)
- 高中數(shù)學必修一試卷及答案
- 砌筑工考試卷及答案
- 呼吸治療師進修匯報
評論
0/150
提交評論