謝麗聰老師C語言-5分支結構程序(2)-2009PPT課件_第1頁
謝麗聰老師C語言-5分支結構程序(2)-2009PPT課件_第2頁
謝麗聰老師C語言-5分支結構程序(2)-2009PPT課件_第3頁
謝麗聰老師C語言-5分支結構程序(2)-2009PPT課件_第4頁
謝麗聰老師C語言-5分支結構程序(2)-2009PPT課件_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2021/6/71 第五章 分支結構程序設計 2021/6/72 由關系運算符、圓括號把兩個表達式連接起由關系運算符、圓括號把兩個表達式連接起 來的式子。來的式子。 若所表示的條件成立、則其值為若所表示的條件成立、則其值為1(非(非0)、)、 否則其值為否則其值為0。 、 例:例: a=2 、39 、a != ( a=8 ) 、 x+(y=3)=k*z 、(a!=3)(kbcd 應表示為應表示為 不能順手也寫為不能順手也寫為 abcd 關系運算符都是雙目運算符,其結合性均關系運算符都是雙目運算符,其結合性均 為為 。 在六個關系運算符中,在六個關系運算符中, 。 2021/6/74 由邏輯運算

2、符、圓括號把表達式連接起來的式子由邏輯運算符、圓括號把表達式連接起來的式子 若所表示的條件成立、其值為若所表示的條件成立、其值為1(非非0)、否則其值為、否則其值為0 a=b=c=0; + +a|+ +b 后后a、b、c值分別為值分別為1、0、0 2、執(zhí)行、執(zhí)行 int a=5,b=6,x=1,y=2; (a=xy) 后后a、b值分別為值分別為0、6 2021/6/79 3、執(zhí)行、執(zhí)行 int a,b,c;a=b=c= - 1; + +a 后后a、b、c值分別為值分別為0、-1、0 2021/6/710 例例1: main() char c=k; int i=1,j=2,k=3; float

3、x=3e+5,y=0.85; printf(%d,%dn,!x*!y,!x); printf(%d,%dn,x|i printf (%d,%dn,i=5 2021/6/711 1、第一種形式為基本形式、第一種形式為基本形式: if if(表達式表達式) 語句語句 語義:如果表達式的值為真,則執(zhí)行其后的語句,語義:如果表達式的值為真,則執(zhí)行其后的語句, 否則不執(zhí)行該語句。其過程可表示為下圖。否則不執(zhí)行該語句。其過程可表示為下圖。 表 達 式 可表 達 式 可 以 是 任 意以 是 任 意 合 法 表 達合 法 表 達 式 , 后 面式 , 后 面 不能加;不能加; 2021/6/712 例例2:

4、void main() int a,b,max; printf(n input two numbers: ); scanf(%d %d, max=a; if (maxb) max=b; printf(max=%d,max); 2021/6/713 例例3:void main() int a,b,c,t; printf(n input two numbers: ); scanf(%d %d %d , 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); 2021/6

5、/717 3、第三種形式為、第三種形式為if-else-if形式:形式: 語義:語義: 依次判斷表達式的依次判斷表達式的 值,當出現(xiàn)某個值為值,當出現(xiàn)某個值為 真時,則執(zhí)行其對應真時,則執(zhí)行其對應 的語句。然后跳到整的語句。然后跳到整 個個if語句之外繼續(xù)執(zhí)行語句之外繼續(xù)執(zhí)行 程序。程序。 如果所有的表如果所有的表 達式均為假,則執(zhí)行達式均為假,則執(zhí)行 語句語句n。然后繼續(xù)執(zhí)行。然后繼續(xù)執(zhí)行 后續(xù)程序。后續(xù)程序。 后面不能后面不能 加;加; 2021/6/718 2021/6/719 上面的語句為以下三種格式:上面的語句為以下三種格式: 1、空語句、空語句 2、一個語句(不引起轉移)、一個語句

6、(不引起轉移) 3、前后加大括號的語句(復合語句),、前后加大括號的語句(復合語句), 也叫程序段,如:也叫程序段,如: int a; float b; a=3; b=7.0; 不能寫成不能寫成 2021/6/720 #includestdio.h#includestdio.h void main() void main() char c; char c; c=getchar(); c=getchar(); if(c32) if(c=0b+; else a=0;b=10; if(ab) a+;b+;; else a=0;b=10;; 不能寫成不能寫成 2021/6/724 在條件語句中,只執(zhí)行

7、單個的賦值語句時,可使用在條件語句中,只執(zhí)行單個的賦值語句時,可使用 條件表達式來實現(xiàn)。條件表達式來實現(xiàn)。 條件運算符為條件運算符為和和,它是一個,它是一個,即有,即有 三個參與運算的量。三個參與運算的量。 條件表達式的一般形式為:條件表達式的一般形式為: 如果表達式如果表達式1的值為真,則以表達式的值為真,則以表達式2 的值作為條件表達式的值,否則以表達式的值作為條件表達式的值,否則以表達式2的值作的值作 為整個條件表達式的值。為整個條件表達式的值。 2021/6/725 例如條件語句:例如條件語句: 可用條件表達式寫為:可用條件表達式寫為: 執(zhí)行該語句的語義是:執(zhí)行該語句的語義是: 如如a

8、b為真,則把為真,則把a賦予賦予max, 如如ab為假,則把為假,則把b 賦予賦予max。 2021/6/726 使用條件表達式時,還應使用條件表達式時,還應以下幾點:以下幾點: 1)條件運算符的運算優(yōu)先級低于關系運算符和)條件運算符的運算優(yōu)先級低于關系運算符和 算術運算符,但高于賦值符。算術運算符,但高于賦值符。 因此:因此: 可以去掉括號而寫為可以去掉括號而寫為 2)條件運算符)條件運算符是是 。 3)條件運算符的結合方向是)條件運算符的結合方向是。 例如:例如: 應理解為應理解為 這也就是條件表達式嵌套的情形,即其中的這也就是條件表達式嵌套的情形,即其中的 表達式表達式3又是一個條件表達

9、式。又是一個條件表達式。 2021/6/727 例例6:計算:計算 方法一:方法一: void main( ) float x,y; scanf (”%f ”, if (x3) y=x*x+2; else y=3*x+7*x*x; printf(”y=%fn”,y); 2021/6/728 例例7:從鍵盤輸入任意的兩個實數(shù),按從小到大順序:從鍵盤輸入任意的兩個實數(shù),按從小到大順序 輸出這兩個數(shù),請編程實現(xiàn)。輸出這兩個數(shù),請編程實現(xiàn)。 void main( ) float a,b; scanf (”%f%f ”, if (ab) a=a+b;b=a-b;a=a-b; printf(”%f,%fn

10、”,a,b); 可用語句可用語句代替代替 2021/6/729 a=a+b;b=a-b;a=a-b t=a;a=b;b=t 2021/6/730 例例8:P105 5.5 計算計算 方法一:方法一: main( ) float x,y; scanf (”%f ”, 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( xx xx xx y 2021/6/731 方法二:方法二: void main( ) float x,y; scanf (”%f ”, if (

11、x1) y=x; else if ( x10 ) y=2*x-1; else y=3*x-11; printf(”y=%fn”,y); )10(113 )101 (12 ) 1( xx xx xx y 、 2021/6/732 方法三:方法三: if (x10) if x1 y=x; else y=2*x-1; else y=3*x-11; 后不能加后不能加 和和 可一起省略可一起省略 2021/6/733 若上面分段函數(shù)改為若上面分段函數(shù)改為 則程序改為則程序改為 void main( ) float x,y; scanf (”%f ”, else if ( x1) y=x; else if ( x10 ) y=2*x-1; else y=3*x-11; printf(”y=%fn”,y); )2010(113 )101 (12 ) 12

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論