版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、time第五章選擇結(jié)構(gòu)程序設計time內(nèi)容回顧1.C語句概述控制語句;函數(shù)調(diào)用語句;表達式語句;空語句;復合語句2.數(shù)據(jù)輸入與輸出putchar函數(shù);getchar函數(shù);printf函數(shù);scanf函數(shù)time內(nèi)容回顧3.順序結(jié)構(gòu)程序 一般包括以下幾個部分: a.程序開頭的編譯預處理命令; b.順序結(jié)構(gòu)程序的函數(shù)體中,主要包括: (1)變量類型的說明。 (2)提供數(shù)據(jù)語句。 (3)運算部分。 (4)輸出部分。time本章內(nèi)容關系運算符和關系表達式邏輯運算符和邏輯表達式if語句switch語句良好的源程序書寫風格注釋time 關系運算實際上是比較運算,是將兩個值進行比較,判斷其比較的結(jié)果是否符合
2、給定的條件:如果符合條件,則為真(1);否則為假(0)。5.1 關系運算符和關系表達式 大于 = 大于等于 小于 = 小于等于 = = 等于 ! = 不等于1.關系運算符time(2) 由一個關系運算符連接兩個對象形成的表達式稱為關系表達式,這兩個運算對象可以是算術表達式、字符表達式等; 關系運算對象為字符數(shù)據(jù),比較其對應的ASCII碼; 六個關系運算符都是雙目運算符; 說明:(3) 關系表達式的值為0或1。time2.運算符的優(yōu)先級問題3x3是否成立,然后判斷該關系表達式的值與100的關系。無論x的值為多少,該關系表達式的值都是1!?=!=優(yōu)先級高優(yōu)先級低算術運算賦值運算 關系運算(高)(低
3、)time例 int i=1,j=7,a; a=i+(j%4!=0); 則a=2例 a0 結(jié)果為 A100 結(jié)果為10例 若a=0; b=0.5; x=0.3; 則 a=x100 則z=應用舉例:0BACKtime5.2 邏輯運算符和邏輯表達式 & 邏輯與 | 邏輯或 ! 邏輯非1.邏輯運算符邏輯運算舉例: a & b 若a、b均為真,則表達式的值為真 a | b 若a、b之一真,則表達式的值為真 !a 若a為真,則表達式的值為假time(2)邏輯表達式的值為0(邏輯假)或1(邏輯真) &和|是雙目運算符,!是單目運算符; 說明:(3)邏輯運算符的運算優(yōu)先級 a. ?。ǚ牵?&(與) |(或)
4、 b. ! 算術運算 關系運算 & | 賦值運算在進行判別時,非“0”代表“真”,“0”代表“假”time (4)邏輯運算符兩側(cè)的操作數(shù),除可以是和非的整數(shù)外,也可以是其它任何類型的數(shù)據(jù),如實型、字符型等。說明: (5)在計算邏輯表達式時,只有在必須執(zhí)行下一個表達式才能求解時,才求解該表達式(即并不是所有的表達式都被求解)。 例如:假設num=12,則: !num的值為 num=1 num31的值為 011例如:假設n1=1、n2=2、n3=3、n4=4、x=1、y=1, 表達式:(x=n1n2)&(y=n3n4) 則表達式的值為 ,x= , y= 。 001BACKtime5.3 if語句i
5、f語句的3種形式1、if(表達式)語句例如:if(xy) printf(“%d”,x);xyprintf(“%d”,x);真假理論上可以是任意數(shù)值類型,但一般為邏輯表達式或關系表達式??梢允且粭l或多條語句,如果是多條則必須用括起來。time2 if(表達式) 語句1 else 語句2if(x y) printf(“%d”,x); else printf(“%d”,y);xyprintf(“%d”,x);printf(“%d”,y);真假注意注意time3.if(表達式1) 語句1 else if(表達式2) 語句2 else if(表達式3) 語句3 else if(表達式m) 語句m els
6、e 語句ntime#include main () int x, y; scanf(“%d” ,&x) ; if (x0) y= - 1; else if (x= =0) y=0; else y=1;printf(“x=%d ,y=%dn”,x ,y); x0y=-1 x= =0y=0y=1真假真假 -1 (x0)timeif (expr1) if (expr2) statement1 else statement2內(nèi)嵌ifif語句的嵌套if (expr1) statement1else if(expr3) statement3 else statement4內(nèi)嵌ifif (expr1) if
7、 (expr2) statement1 else statement2else if(expr3) statement3 else statement4內(nèi)嵌if內(nèi)嵌iftimeif()if()if()else.else.else.實現(xiàn)if else 正確配對方法:加 if (expr1) if (expr2) statement1else statement3 內(nèi)嵌ifif ( ) if ( ) 語句1 else if ( ) 語句2 else 語句3 if else 配對原則:缺省 時,else總是和它上面離它最近的未配對的if配對正確time例1、輸入兩數(shù)并判斷其大小關系。#include
8、 main() int x,y; printf(Enter integer x,y:); scanf(%d,%d,&x,&y); if(x!=y) if(xy) printf(XYn); else printf(XYn); else printf(X=Yn);運行:Enter integer x,y:12,23 XY Enter integer x,y:12,12 X=Yx!=y假真xy真printf(XYn)假printf(XYn)printf(X=Yn)time例2 輸入任意三個數(shù)num1、num2、num3,按從小到大的順序排序輸出。num1num22211temp隨機值221122nu
9、m1num222111111#include main()int num1,num2,num3,temp; printf(Please input three numbers:); scanf(%d%d%d,&num1,&num2,&num3); if (num1num2) temp=num1;num1=num2; num2=temp; if (num2num3) temp=num2;num2=num3; num3=temp; if (num1num2) temp=num1;num1=num2;num2=temp; printf(Three numbers after sorted: %d,%
10、d,%dn,num1,num2,num3); num1=num2;num2=num1;temp=num1;num1=num2;num2=temp;NO!程序運行情況如下:Please input three numbers:11 22 18Three numbers after sorted: 11,18,22time條件表達式:實現(xiàn)簡單的二路分支結(jié)構(gòu)格式: 表達式1?表達式2:表達式3 是C語言中唯一的三目運算符,它要求三個運算對象,優(yōu)先級高于賦值運算符,低于關系和算術運算符。表達式1:一般為邏輯表達式意義:如果表達式1為真,條件表達式取表達式2的值 如果表達式1為假,條件表達式取表達式3的
11、值。 例 (a=b)?Y:N (x%2=1)?1:0 (x=0)?x:-x (c=a & c=A & ch=Z) ? (ch+32) : ch; printf(ch=%cn,ch);BACKtimeswitch( 表達式) case E1: 語句組 1; break; case E2: 語句組 2; break; . case En: 語句組 n; break; default: 語句組 ; break; switch表達式語句組1語句組2語句組n語句組.E 1E 2Endefaultcase 5.4 switch語句time 首先計算表達式的值,將該表達式的值與每一個case標號進行比較:
12、如果找到匹配的標號,就從其對應的語句開始執(zhí)行,一直執(zhí)行遇到 break 語句退出switch 結(jié)構(gòu), 若沒有遇到 break 語句,則一直執(zhí)行到 switch 結(jié)束。 如果未找到匹配的標號,則執(zhí)行 default 對應的語句。執(zhí)行過程:time#include main() int c; printf(Enter m or n or h or other:); c=getchar(); switch(c) case m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHe
13、llo!n); break; default : printf(n?n); break; 例 根據(jù)輸入字母輸出字符串time說明:(1)switch后面的“表達式”,可以是int、char和枚舉型中的一種。(2)每個case后面“常量表達式”的值,必須各不相同,否則會出現(xiàn)相互矛盾的現(xiàn)象(即對表達式的同一值,有兩種或兩種以上的執(zhí)行方案)。(3)case后面的常量表達式僅起語句標號作用,并不進行條件判斷。系統(tǒng)一旦找到入口標號,就從此標號開始執(zhí)行,不再進行標號判斷,所以必須加上break語句,以便結(jié)束switch語句。(4)各case及default子句的先后次序,不影響程序執(zhí)行結(jié)果。(5)用swi
14、tch語句實現(xiàn)的多分支結(jié)構(gòu)程序,完全可以用if語句或if語句的嵌套來實現(xiàn)。(6)多個case子句,可共用同一語句(組)。如: case A: case B: case C: printf(“score60n”); break; .time例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 運行結(jié)果:score為5時,輸出: Very good
15、! Good! Pass! Fail! data error!time例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); 運行結(jié)果:a=2,b=1timemain() int x; scanf(%d,&x); switch(x/10) case 10: case 9 :printf(An);break; case 8 :p
16、rintf(Bn);break; case 7 :printf(Cn);break; case 6 :printf(Dn);break; default:printf(En); 例3 輸入一百分制成績,輸出其五分制成績。BACKtime良好的源程序書寫風格注釋在語言源程序中,注釋可分為三種情況:(1)在函數(shù)體內(nèi)對語句的注釋;(2)在函數(shù)之前對函數(shù)的注釋;(3)在源程序文件開始處,對整個程序的總體說明。加以注釋的原則是:如果不加注釋,理解起來就會有困難,或者雖無困難、但浪費時間。time(1)順序結(jié)構(gòu)在每個順序程序段之前,用注釋說明其功能。除很復雜的處理外,一般沒有必要每條語句都加以注釋。 (2)選擇結(jié)構(gòu) 在C語言中,選擇結(jié)構(gòu)是由if語句和switch語句來實現(xiàn)的。一般地說,要在前面說明其作用,在每個分支條件語句行的后面,說明該分支的含義。良好的源程序書寫風格注釋time 1)if語句
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度協(xié)議管理儲存規(guī)定
- 2024石料運送責任明確協(xié)議樣式
- 2024年房地產(chǎn)出售協(xié)議范本下載
- 2024汽車購買分期借款協(xié)議
- 駕照考試試題 交通信號及其含義(共258題)含答案
- 2024毛竹行業(yè)買賣合作協(xié)議模板
- 內(nèi)訓課件教學課件
- 語言園地課件教學課件
- 八年級下冊生物全冊教案(人教版)
- 籃球社團活動 教案
- 小學校長家校共育交流分享發(fā)言稿
- 辦公用品及耗材采購服務投標方案(技術方案)
- 表現(xiàn)性評價在小學語文整本書閱讀教學中的實踐研究
- 2024至2030年海上風電智能運維行業(yè)市場需求與競爭戰(zhàn)略分析報告
- 中學生法律知識競賽考試題庫200題(含各題型)
- 公園保潔服務投標方案
- 食品保質(zhì)期延長技術研究
- 初中數(shù)學試題大全(六十九)尺規(guī)作圖難題
- 2024-2030年中國索道纜車市場運行狀況與未來經(jīng)營模式分析報告
- 高一思想政治上冊2024-2025學年達標測試試卷及答案部編版
- SHT+3413-2019+石油化工石油氣管道阻火器選用檢驗及驗收標準
評論
0/150
提交評論