版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、順序順序選擇選擇循環(huán)循環(huán)問題提出問題提出計(jì)算三角形的周長(zhǎng):計(jì)算三角形的周長(zhǎng):main() float a,b,c,L; scanf(%f,%f,%f ,&a,&b,&c); L=a+b+c; printf(%f ,L);從從a和和b中找大數(shù)的問中找大數(shù)的問題題:輸入輸入a a和和b babmax=amax=b輸出輸出maxmax值值#include main()()int a,b.max;scanf(“%d,%d”,&a,&b);If (ab) max=a;else max=b;printf(“%d”,max);選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì) 關(guān)系運(yùn)算
2、關(guān)系運(yùn)算 邏輯運(yùn)算邏輯運(yùn)算 if if語句語句 switchswitch語句語句 結(jié)構(gòu)嵌套程序舉例結(jié)構(gòu)嵌套程序舉例學(xué)習(xí)目標(biāo):學(xué)習(xí)目標(biāo):了解程序的選擇控制結(jié)構(gòu)了解程序的選擇控制結(jié)構(gòu)理解關(guān)系運(yùn)算和邏輯運(yùn)算的概念理解關(guān)系運(yùn)算和邏輯運(yùn)算的概念掌握關(guān)系運(yùn)算符和邏輯運(yùn)算符的用法掌握關(guān)系運(yùn)算符和邏輯運(yùn)算符的用法 學(xué)習(xí)重點(diǎn):學(xué)習(xí)重點(diǎn):掌握關(guān)系運(yùn)算符和邏輯運(yùn)算符的用法掌握關(guān)系運(yùn)算符和邏輯運(yùn)算符的用法 算符算符含含 義義優(yōu)優(yōu) 先先 級(jí)級(jí)結(jié)結(jié) 合合 性性大于大于這些關(guān)系運(yùn)算這些關(guān)系運(yùn)算符優(yōu)先級(jí)相同,符優(yōu)先級(jí)相同,但比下面的優(yōu)但比下面的優(yōu)先級(jí)先級(jí)高高高于邏輯高于邏輯低于算術(shù)低于算術(shù)左結(jié)合性左結(jié)合性= 大于等于大于等于
3、小于小于 a + b c (a + b)a b != c (a b) != ca = b c a = (b c a = (b c)a - 2 c + d (a - 2) bc (ab)c例:例:int a = 3, b = 2, c = 1, d, f; a b a b) = c b + c b f = a b c注意:注意: C C語言中用語言中用0 0表示假表示假,非非0 0表示真表示真。 一個(gè)一個(gè)關(guān)系表達(dá)式的值或者是關(guān)系表達(dá)式的值或者是0 0或者是或者是1 1。 1或或0例如:例如:表達(dá)式表達(dá)式 表達(dá)式表達(dá)式 例如例如1.0/3.01.0/3.0* *3.0=1.03.0=1.0可改寫為
4、:可改寫為:fabs(1.0/3.0fabs(1.0/3.0* *3.0-1.0)1e-63.0-1.0)1e-6v 運(yùn)算符是用來做比較執(zhí)行的,不同于數(shù)學(xué)中的運(yùn)算符是用來做比較執(zhí)行的,不同于數(shù)學(xué)中的不等式不等式v 應(yīng)避免對(duì)實(shí)數(shù)作相等或不等的判斷應(yīng)避免對(duì)實(shí)數(shù)作相等或不等的判斷 算符算符含含 義義結(jié)結(jié) 合合 性性優(yōu)先級(jí)優(yōu)先級(jí)!單目運(yùn)算符,邏輯非,表示相反單目運(yùn)算符,邏輯非,表示相反右結(jié)合性右結(jié)合性 高高 低低&雙目運(yùn)算符,邏輯與,表示并且雙目運(yùn)算符,邏輯與,表示并且左結(jié)合性左結(jié)合性|雙目運(yùn)算符,邏輯或,表示或者雙目運(yùn)算符,邏輯或,表示或者AB!A!BA & BA | B假假假假11
5、00假假真真1001真真假假0101真真真真0011 練一練int a=5; float b=3.5;表達(dá)式表達(dá)式值值表達(dá)式表達(dá)式值值!a!(a&b)!(a b)a | ba & b!a|b!a&b!a|!ba&!b(a 0)!(a|b)(a 0)011000011001!、+、-、sizeof 高高算術(shù)運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符&、|賦值運(yùn)算符賦值運(yùn)算符 低低a b & b 10 | x -10、!x (a = x) & (x b) & (x y)(a = b) | (x = y)(!a) | (a b)(!a) bc
6、 = (a | b)(a + 7) & (b - 8)(a * 2) & (b / 1)思考數(shù)學(xué)中0 x= 0) printf(%lf, sqrt(x);if(表達(dá)式表達(dá)式)語句語句1else 語句語句2TF 【例】【例】輸入一個(gè)數(shù),若為正則輸輸入一個(gè)數(shù),若為正則輸出其平方根,否則輸出提示信息。出其平方根,否則輸出提示信息。#includemath.hmain() double x; printf (input two numbers: ); scanf (%lf, &x); if (x = 0) printf(%lf, sqrt(x); else printf(“In
7、put error!); 【例】【例】輸入兩個(gè)數(shù),輸出較大數(shù)。輸入兩個(gè)數(shù),輸出較大數(shù)。#includemath.hmain() float a,b; printf (input two numbers: ); scanf (%f%f, &a,&b); if (ab) printf(%f , a); else printf(%f ,b);if語句注意事項(xiàng)語句注意事項(xiàng) 。 int x=0;if(x)printf(“x=2”);else printf(“x=3”);例例: main ( ) int x = 0; if (x = 0) printf (“x = 0n”); else p
8、rintf (“x != 0n”); 例例: main ( ) int x = 0; if (x = 0) printf (“x = 0n”); else printf (“x != 0n”); (3) 在在if語句中,如果表達(dá)式是一個(gè)判斷兩個(gè)數(shù)是否語句中,如果表達(dá)式是一個(gè)判斷兩個(gè)數(shù)是否相等的關(guān)系表達(dá)式,要當(dāng)心不要將相等的關(guān)系表達(dá)式,要當(dāng)心不要將=寫成了賦值運(yùn)寫成了賦值運(yùn)算符算符=。if語句注意事項(xiàng)語句注意事項(xiàng) if語句注意事項(xiàng)語句注意事項(xiàng) 條件表達(dá)式如:輸入的兩個(gè)數(shù)a,b,輸出較大的數(shù)main()char a,b;scanf(“%d,%d”,&a,&b);If (ab) pr
9、intf(“%d”,a); else printf(“%d”,b);(ab)?printf(“%d”,a):printf(“%d”,b);總結(jié):格式為:表達(dá)式1?表達(dá)式2 :表達(dá)式3說明:條件運(yùn)算符是三目運(yùn)算符,優(yōu)先級(jí)高于賦值運(yùn)算符,低于關(guān)系與算術(shù)運(yùn)算符。條件運(yùn)算符具有右結(jié)合性 當(dāng)一個(gè)表達(dá)式中出現(xiàn)多個(gè)條件運(yùn)算符時(shí),應(yīng)該將位于最右邊的問號(hào)與離它最近的冒號(hào)配對(duì),并按這一原則正確區(qū)分各條件運(yùn)算符的運(yùn)算對(duì)象。 例如: wx ? x+w : xy ? x : y 與 wx ? x+w : ( xy ? x : y) 等價(jià) 與 (wx ? x+w : x0)?l:(x=0& c =A&c=
10、a&c y) printf (X Yn); else printf (X 0) if (b 0) a+; else a-; printf (a = %dn,a); 例例: 判斷運(yùn)行結(jié)果判斷運(yùn)行結(jié)果main ( ) int a = 1, b = -1; if (a 0) if (b 0) a+; else a-; printf (a = %dn,a); if語句注意事項(xiàng)語句注意事項(xiàng) 例:例: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);修改:修改: if (a=b) if(b=c) printf(“a=b=c”); else
11、 printf(“a!=b”);實(shí)現(xiàn)實(shí)現(xiàn)if else 正確配對(duì)方法:加正確配對(duì)方法:加 注意編程風(fēng)格!注意編程風(fēng)格! if () if () if () else else else 語言規(guī)定,在缺少 時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)。 if語句注意事項(xiàng)語句注意事項(xiàng) 尤其是在為真時(shí)嵌套單分支語句要注意。main( ) int x = 100, a = 10, b = 20; int v1 = 5, v2 = 3; if (a b) if (b != 15) if (!v1) x=1; else if (v2) x = 10; x = -1; printf (“x=%d”,
12、x);if (a =3: b = b + 2; break; printf (b = %dn, b);包含變量case a=3: b = b - 2; break; main ( ) char ch; scanf(%c,&ch); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (Yes,No or Alln); / /* * 假設(shè)輸入為:假設(shè)輸入為:N */ main ( ) char c
13、h; scanf(%c,&ch); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); case A : printf (Alln); break; default : printf (Yes,No or Alln); switch (a) case 1: case 2: case 3: b += 2; break; case 4: case 5: case 6: b -= 2; break; default: b *= 2; break; casecase子句和子句和defaultdefault子句如
14、果子句如果都帶有break,那么它們之,那么它們之間間順序的變化不會(huì)影響switch語句的功能。 switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (OKn); break; switch ( ch ) case Y : printf (Yesn); break; default : printf (OKn); break; case N : printf (Non); break; case A :
15、 printf (Alln); break; main ( ) char ch; scanf(%c,&ch); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (OKn); main ( ) char ch; scanf(%c,&ch); switch ( ch ) case Y : printf (Yesn); break; default : printf (OKn); case
16、 N : printf (Non); break; case A : printf (Alln); break; 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é)果:運(yùn)行結(jié)果: switch(i) case1:printf(ok);case 2:printf(ok);default:printf(ok);注意空格注意空格main() int i=1; switch(i) case1:printf(A);case 2:printf(B);default:printf(C);getch(); 關(guān)系表達(dá)式和邏輯表達(dá)式是兩種重要的表達(dá)式,關(guān)系表達(dá)式和邏輯表達(dá)式是兩種重要的表達(dá)式,主要用于條件執(zhí)行的判斷和循環(huán)執(zhí)行的判斷。主要用于條件執(zhí)行的判斷和循環(huán)執(zhí)行的判斷。語言選擇結(jié)構(gòu)的實(shí)現(xiàn):語言選擇結(jié)構(gòu)的實(shí)現(xiàn):ifif語句主要用于單向選擇。語句主要用于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通設(shè)施養(yǎng)護(hù)維修制度
- 2026湖北省定向西北工業(yè)大學(xué)選調(diào)生招錄參考題庫(kù)附答案
- 2026湖南財(cái)政經(jīng)濟(jì)學(xué)院招聘勞務(wù)派遣性質(zhì)工作人員參考題庫(kù)附答案
- 2026福建泉州市面向北京科技大學(xué)選優(yōu)生選拔引進(jìn)參考題庫(kù)附答案
- 2026福建省面向華中師范大學(xué)選調(diào)生選拔工作考試備考題庫(kù)附答案
- 2026福建福州第十九中學(xué)招聘編外行政人員(勞務(wù)派遣)1人考試備考題庫(kù)附答案
- 2026西藏林芝市察隅縣農(nóng)村公益電影放映人員招聘1人備考題庫(kù)附答案
- 2026遼寧大連產(chǎn)業(yè)園社招招聘?jìng)淇碱}庫(kù)附答案
- 2026陜西省面向南開大學(xué)招錄選調(diào)生備考題庫(kù)附答案
- 2026魯南技師學(xué)院第一批招聘教師8人參考題庫(kù)附答案
- 養(yǎng)生館運(yùn)營(yíng)成本控制與盈利模型
- 2025年廣東高校畢業(yè)生三支一扶考試真題
- DBJ-T 13-417-2023 工程泥漿技術(shù)標(biāo)準(zhǔn)
- 湖南省長(zhǎng)沙市雅禮教育集團(tuán)2024-2025學(xué)年七年級(jí)(下)期末數(shù)學(xué)試卷
- 鋁業(yè)廠房建設(shè)項(xiàng)目施工組織方案
- DB63-T 2256.3-2025 水利信息化工程施工質(zhì)量評(píng)定規(guī)范 第3部分 水情監(jiān)測(cè)系統(tǒng)
- 患者身份識(shí)別錯(cuò)誤應(yīng)急預(yù)案與處理流程
- 25年軍考數(shù)學(xué)試卷及答案
- 化工儲(chǔ)存設(shè)備知識(shí)培訓(xùn)課件
- 血透室水處理維護(hù)課件
- 浙江省寧波市2024-2025學(xué)年第二學(xué)期期末九校聯(lián)考高二英語試題(含答案)
評(píng)論
0/150
提交評(píng)論