




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì),信息工程學(xué)院 施瑩 2020年8月,關(guān)系運(yùn)算符與關(guān)系表達(dá)式 邏輯運(yùn)算符與邏輯表達(dá)式 if語(yǔ)句(條件運(yùn)算符與條件表達(dá)式) switch語(yǔ)句 程序舉例,第五章 選擇結(jié)構(gòu)程序設(shè)計(jì),5.1關(guān)系運(yùn)算符和表達(dá)式 關(guān)系運(yùn)算符 種類(lèi):= != 結(jié)合方向:自左向右 優(yōu)先級(jí)別:,關(guān)系表達(dá)式的值:是邏輯值“真”或“假”,用1和0表示,/表達(dá)式值1,/表達(dá)式值1,/表達(dá)式值0,/d=1,/f=0,例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc),例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc,關(guān)系運(yùn)算注意:,例 若a=0; b
2、=0.5; x=0.3; 則 a=x=b的值為,0,例 5278在C中是允許的, 值為,0,例 int i=1, j=7,a; a=i+(j%4!=0); 則a=,2,例 a0 結(jié)果為 A100 結(jié)果為,1,0,關(guān)系運(yùn)算注意:,例 注意區(qū)分“=”與“=” int a=0,b=1; if(a=b) printf(“a equal to b”); else printf(“a not equal to b”);,例 應(yīng)避免對(duì)實(shí)數(shù)作相等或不等的判斷 如 1.0/3.0*3.0=1.0 結(jié)果為 可改寫(xiě)為:fabs(1.0/3.0*3.0-1.0)1e-6,0,返回,a equal to b,fabs(
3、 )取絕對(duì)值函數(shù),5.2邏輯運(yùn)算符和表達(dá)式 邏輯運(yùn)算符 種類(lèi): ! (非) b=5; !a ab=2;c=3;d=4;m=1;n=1; (m=ab) 執(zhí)行過(guò)程:,例:if (xy) printf(“%d”,x);,形式二: 格式:if (expression) statement1; else statement2; 執(zhí)行過(guò)程:,例:if (xy) max=x; else max=y;,形式三: 格式:,if ( expr1 ) statement1; else if (expr2 ) statement2; else if (expr3 ) statement3; . else statem
4、entn; ,執(zhí)行過(guò)程:,例:if (salary1000) index=0.4; else if (salary800) index=0.3; else if (salary600) index=0.2; else if (salary400) index=0.1; else index=0;,如:if(a=b,說(shuō)明: if后面的表達(dá)式類(lèi)型任意,語(yǔ)句可以是復(fù)合語(yǔ)句用 if(x) if(x!=0) if(!x) if(x=0),例 考慮下面程序的輸出結(jié)果: #include main() int x,y; scanf(“%d,%d”, ,Compile Error! 編譯出錯(cuò),/*ch5_1.
5、c*/ #include main() int x,y; printf(Enter an integer:); scanf(%d, ,例: 求一個(gè)數(shù)的絕對(duì)值,運(yùn)行:Enter an integer:-12 integer:-12 absolute value :12,/*變量定義*/ /*語(yǔ)句提示*/ /*鍵盤(pán)輸入一個(gè)數(shù)值*/,/*ch5_2.c*/ #include main() int a,b; /*變量定義*/ printf(Enter integer a:); /*語(yǔ)句提示*/ scanf(%d, ,例 輸入兩個(gè)數(shù)并判斷兩數(shù)相等否,運(yùn)行:Enter integer a:12 Enter
6、 integer b:12 a=b,運(yùn)行:Enter integer a:12 Enter integer b:9 a!=b,/*ch5_3.c*/ #include main() char c; /*變量定義*/ printf(Enter a character:); /*語(yǔ)句提示*/ c=getchar(); /*鍵盤(pán)輸入一個(gè)字符*/ if(c=0 ,例 判斷輸入字符種類(lèi),運(yùn)行:Enter a character: The character is a control character,運(yùn)行:Enter a character:8 The character is a digit,運(yùn)行:
7、 Enter a character: D The character is a capital letter,運(yùn)行: Enter a character: h The character is a lower letter,運(yùn)行: Enter a character:F1 The character is other character,The character is a control character,The character is a digit,The character is a capital letter,The character is a lower letter,T
8、he character is other character,if語(yǔ)句嵌套: 一般形式:,例 輸入兩數(shù)并判斷其大小關(guān)系,/*ch5_4.c*/ #include main() int x,y; printf(Enter integer x,y:); scanf(“%d %d”,x,y)%d,%d, ,運(yùn)行:Enter integer x,y:12 23 XY Enter integer x,y:12 12 X=Y,if else 配對(duì)原則:缺省 時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì),例: if (a=b) if(b=c) printf(“a=b=c”); else printf
9、(“a!=b”);,修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);,實(shí)現(xiàn)if else 正確配對(duì)方法:加 ,例 考慮下面程序輸出結(jié)果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; printf(“%d”,x); ,結(jié)果:-1,返回,條件運(yùn)算符與表達(dá)式 一般形式: expr1 ? expr2 : expr3 執(zhí)行過(guò)程 功能:相當(dāng)于條件語(yǔ)句,但不能取代一般if語(yǔ)句,例 求 a+|b
10、| printf(“a+|b|=%dn”,b0?a+b:a-b);,例 (a=b)?Y:N (x%2=1)?1:0 (x=0)?x:-x (c=a x0,表達(dá)式值為a xy?1:1.5 /xy ,值為1.0; xy ,值為1.5,返回,5.4 switch語(yǔ)句 一般形式:,switch( 表達(dá)式) case E1: 語(yǔ)句組 1; break; case E2: 語(yǔ)句組 2; . case En: 語(yǔ)句組 n; break; default: 語(yǔ)句組 ; break; ,執(zhí)行過(guò)程:,說(shuō)明: E1,E2,En是常量表達(dá)式,且值必須互不相同待; 執(zhí)行完一個(gè)case后面的語(yǔ)句,流程轉(zhuǎn)移到下一個(gè)case
11、繼續(xù)執(zhí)行,若要終止程序,必須用break跳出;,如: case A: case B: case C: printf(“score70n”); case D: printf(“score60n”); .,break;,case后可包含多個(gè)可執(zhí)行語(yǔ)句,且不必加 ; switch可嵌套; 多個(gè)case可共用一組執(zhí)行語(yǔ)句。,例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“da
12、ta error!”); ,運(yùn)行結(jié)果:score為5時(shí),輸出: Very good! Good! Pass! Fail! data error!,Break; Break; Break; Break; Break;,例 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); ,運(yùn)行結(jié)果:a=2,b=1,/*ch5_5.c*/ #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(nHello
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能交通系統(tǒng)中的行人行為預(yù)測(cè)模型考核試卷
- 企業(yè)安全生產(chǎn)培訓(xùn)教材的數(shù)字化轉(zhuǎn)型升級(jí)考核試卷
- 2025年中國(guó)pps濾袋數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)M氫基甲酯數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025年中國(guó)BR型板式換熱器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)2U形電子節(jié)能燈數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)震擊標(biāo)準(zhǔn)震篩機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)鋁合金野營(yíng)床市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)遠(yuǎn)程通訊器市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)茶葉天然保鮮劑市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 農(nóng)產(chǎn)品產(chǎn)業(yè)園項(xiàng)目可行性研究報(bào)告專(zhuān)用模板
- 2025至2030中國(guó)醫(yī)藥軟包裝行業(yè)市場(chǎng)發(fā)展分析及競(jìng)爭(zhēng)格局與投資發(fā)展報(bào)告
- 2025年中國(guó)氯化聚醚項(xiàng)目投資計(jì)劃書(shū)
- DB37-T5311-2025建筑工程消防設(shè)計(jì)文件編制標(biāo)準(zhǔn)
- 成都市高新區(qū)2023年七年級(jí)《歷史》下冊(cè)期末試卷與參考答案
- 中國(guó)上市銀行2024年回顧及未來(lái)展望-安永-202505
- TSG Z7002-2022特種設(shè)備檢測(cè)機(jī)構(gòu)核準(zhǔn)規(guī)則
- 2025年數(shù)字經(jīng)濟(jì)下的創(chuàng)業(yè)政策調(diào)整策略試題及答案
- 政治 (道德與法治)八年級(jí)下冊(cè)自由平等的追求教案
- 山東省濟(jì)南市高新區(qū)學(xué)卷B2024-2025學(xué)年數(shù)學(xué)五下期末教學(xué)質(zhì)量檢測(cè)試題含答案
- 訂單外發(fā)合同協(xié)議
評(píng)論
0/150
提交評(píng)論