版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、,選擇結(jié)構(gòu)程序設(shè)計(jì),1,一、 什么叫“選擇” 二、 在C中選擇結(jié)構(gòu)的表現(xiàn)形式 三、 “關(guān)系運(yùn)算”與“邏輯運(yùn)算” 四、 選擇結(jié)構(gòu)的使用實(shí)例 五、 總結(jié)、疑問、常見錯(cuò)誤,主要內(nèi)容,2,從小學(xué)時(shí)代: 語文課的造句練習(xí): 如果就 英語學(xué)習(xí)中單詞: if then ,一、什么叫“選擇”,3,生活中的“選擇” 體育課排隊(duì)中位置的選擇 第一次排隊(duì) 來了新人的排隊(duì) 大學(xué)的選擇: 高考分?jǐn)?shù)、學(xué)校知名度、興趣、就業(yè)前景、 風(fēng)險(xiǎn):招生數(shù)量、競(jìng)爭(zhēng)人數(shù)、,4,生活中的“選擇” 道路上的選擇 道口分類:三岔口、十字路口、五道口、N道口 選擇的依據(jù)?目的地、道路、暢通性,5,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),生活中的“選擇” 領(lǐng)導(dǎo)要
2、求:明天上午10點(diǎn)鐘到北京清華大學(xué)參加會(huì)議,后天回校參加選舉會(huì)。你怎么辦? 交通工具的選擇:飛機(jī)、火車、汽車 ,6,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),總結(jié): 依據(jù)某些條件實(shí)現(xiàn)(達(dá)到)某個(gè)目標(biāo)的情況處理稱為選擇。 因此首先必須知道“條件”,然后是使用適當(dāng)?shù)奶幚矸绞健?選擇的必要條件:“條件”,7,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),在C中選擇結(jié)構(gòu)的表現(xiàn)形式,一般稱為 if 語句 switch 語句 可以從不同的角度去觀察分析這兩個(gè)語句。,二、在C中“選擇結(jié)構(gòu)”的表現(xiàn)形式,8,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),1 從詞義看: if 語句 switch 語句,9,選擇結(jié)構(gòu),單分支,雙分支,if (表達(dá)式) 語句,多分支,if (表
3、達(dá)式) 語句else 語句,if (表達(dá)式1) 語句 else if (表達(dá)式) 語句 else 語句n,if 語句的嵌套,switch 語句,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),2 從分支看分為三種分支,10,if (表達(dá)式) 語句,switch (表達(dá)式) case : . ,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),3 從一般形式的角度分兩種,基本結(jié)構(gòu) : 選擇標(biāo)識(shí)符 (表達(dá)式) 語句,你注意到與前面第一部分的介紹有什么不同嗎?,(表達(dá)式),11,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),關(guān)于表達(dá)式的定義,表達(dá)式由運(yùn)算符、常量及變量構(gòu)成。,C語言的表達(dá)式基本遵循一般代數(shù)規(guī)則。 雖然進(jìn)一步細(xì)分,又分為算術(shù)表達(dá)式、關(guān)系表達(dá)式、賦值表達(dá)式,
4、 有幾點(diǎn)卻是與C語言緊密相關(guān)的需要注意。 1. 類型轉(zhuǎn)換 2. 復(fù)合運(yùn)算的使用,12,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),根據(jù)給定的條件判斷決定要執(zhí)行的操作。,單選擇,語句格式: if (表達(dá)式) 語句; 例: if (ab) x=a;,if 語句的使用。,13,舉例,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),#include void main() float a,b,t=0; scanf(“%f,%f”, ,3,4, if (ab) t=a; a=b; b=t; ,3.00, 4.00,當(dāng)某些語句作為一個(gè)整體出現(xiàn)的時(shí)候,必須是復(fù)合語句的形式。,14,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),if 語句中對(duì)于表達(dá)式的要求,1. 對(duì)表達(dá)式的
5、類型沒有任何要求 2. 使用的是表達(dá)式的結(jié)果值 3. 這個(gè)結(jié)果值若非0,則都作為“真”處理。 4. 針對(duì)上一條,對(duì)float類型的結(jié)果要格外注意。,15,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),switch 語句的使用。,格式:switch(表達(dá)式) case 常量表達(dá)式:語句序列; case 常量表達(dá)式:語句序列; case 常量表達(dá)式n: 語句序列n; default :語句序列n+1; ,16,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),switch 語句中注意的問題,1. 規(guī)則上對(duì)表達(dá)式的類型沒有任何要求,但實(shí)際使用中一般采用結(jié)果為整形或字符型的表達(dá)式,或者是與常量表達(dá)式類型一致的表達(dá)式. 2. 使用的是表達(dá)式的結(jié)果值與
6、常量表達(dá)式“等于”的比較結(jié)果。 3. 要注意case的執(zhí)行順序的影響。,17,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),在班級(jí)排隊(duì)中排隊(duì)的依據(jù)是“相互之間身高”的差異; 在三角形構(gòu)成判定定理中要求“任意兩邊之和大于第三邊”; 因此兩個(gè)對(duì)象(量)之間不僅可以實(shí)施算術(shù)運(yùn)算,還存在一定的“關(guān)系”。 小學(xué)時(shí)就知道:ab是否成立要看具體值。 在C語言中稱之為關(guān)系運(yùn)算。,三、“關(guān)系運(yùn)算”與“邏輯運(yùn)算”,18,運(yùn)算定義、運(yùn)算符號(hào)、運(yùn)算對(duì)象,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),這些運(yùn)算相互之間的優(yōu)先級(jí),與其它運(yùn)算組合時(shí)的優(yōu)先級(jí),運(yùn)算結(jié)果值、如何使用這個(gè)結(jié)果,關(guān)心什么?,19,關(guān)系運(yùn)算符, = = != (6種),講座 選擇結(jié)構(gòu)程序設(shè)計(jì),優(yōu)
7、先級(jí),賦值 關(guān)系( 后2前4 ) 算術(shù),關(guān)系表達(dá)式,用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子.,算術(shù)、關(guān)系、邏輯、賦值、字符。,值(結(jié)果),真(1) 假(0),舉例,已知: (a=3、b=2、 c=1、 d=0),0,a=bc,d=ab+c,1,53 ?,d=ab+c?,關(guān)系運(yùn)算符和關(guān)系表達(dá)式,20,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),關(guān)系運(yùn)算是表述對(duì)象之間的關(guān)系是否成立,在給出具體值必然有一個(gè)確定的、唯一的結(jié)果:要么成立、要么不成立。 上升到理論高度,將這了結(jié)果稱為邏輯值:“真”、“假”。 看一下造句題: 如果a來了并且b也來了,才能打開門。 如果a來了或者b也來了,都能打開門。 以上兩個(gè)問題引入了一個(gè)新
8、的運(yùn)算:邏輯運(yùn)算。,21,邏輯運(yùn)算符,!(邏輯非) scanf(“%f%f”, ,針對(duì)要求選擇單分支結(jié)構(gòu)即可。,單分支,要求,編成,采用固定輸出模式是,已經(jīng)符合如何處理,不符合時(shí)如何處理。,25,要求,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),#include void main() float a,b,c,p,s; scanf(“%f,%f,%f”, ,如何判斷是三角形的三邊?如何求三角形的面積。,3,4,5 s= 6.00,3,4,8 Not a triangle!,雙分支,分析,輸入三角形的三邊,求三角形的面積。,26,格式,舉例,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),if (cost3000) cash=500; e
9、lse if (cost2000) cash=300; else if (cost1500) cash=200; else if (cost1000) cash=100; else cash=0;,if (表達(dá)式1) 語句 else if (表達(dá)式) 語句 else 語句n,語句本身含分號(hào),多分支(一),27,if語句的嵌套,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),在if語句中又包含一個(gè)或多個(gè)if語句。,被嵌套的條件語句和嵌套進(jìn)去的條件語句既可是單分支,也可是雙分支。,if (表達(dá)式) if (表達(dá)式) 語句 else 語句 else if (表達(dá)式3) 語句3 else 語句4,注意,if與else的配對(duì)原
10、則: else總是與它上面的最近的未配對(duì)的if配對(duì)。,分析方法,1、主句是單分支還是雙分支的。 2、嵌套進(jìn)來的子句是雙分支還是單分支的,嵌套在if后面還是else后面。,多分支(二),28,開關(guān)語句,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),switch (表達(dá)式) case 常量表達(dá)式1:語句1 case 常量表達(dá)式2:語句2 case 常量表達(dá)式3:語句3 case 常量表達(dá)式n:語句n default: 語句n+1 ,當(dāng)分支較多時(shí),使用嵌套的if語句層數(shù)多,程序冗長(zhǎng)而且可讀性降低。此時(shí)可以考慮使用switch語句(開關(guān)語句)來處理多分支。,多分支(三),29,舉例,#include void main()
11、 char grade; printf(“請(qǐng)輸入考試等級(jí)AD:”); scanf(“%c”, ,B 7079 6069 60 Error,根據(jù)輸入的考試成績(jī)等級(jí)打印出百分制分?jǐn)?shù)段。 A: 80100 B: 7079 C: 6069 D: 60,說明:應(yīng)在每一個(gè)printf后加break語句,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),30,完善后,#include void main() char grade; printf(“請(qǐng)輸入考試等級(jí)AD:”); scanf(“%c”, ,B 7079,最后一行的break可以省略。,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),31,問題,#include void main() int s
12、core; printf(“請(qǐng)輸入考試成績(jī)0100:”); scanf(“%c”, ,根據(jù)輸入的考試成績(jī)(百分制整數(shù))打印出等級(jí)水平。(使用switch語句實(shí)現(xiàn)) A: 80100 B: 7079 C: 6069 D: 60,思考:本程序有問題么?,理想中,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),思考,使用什么結(jié)構(gòu)來解決問題?,32,#include void main() int score, p; printf(“請(qǐng)輸入考試成績(jī)0100:”); scanf(“%c”, ,改進(jìn)程序1,11種情況,思考:不同case值時(shí)執(zhí)行相同的操作,是否可以合并?,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),33,#include void
13、main() int score, p; printf(“請(qǐng)輸入考試成績(jī)0100:”); scanf(“%c”, ,改進(jìn)程序2,注意:多個(gè)case共用一組執(zhí)行語句時(shí),共用的執(zhí)行語句寫在最后一個(gè)case的后面。,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),34,問題,輸入一年號(hào),判斷這一年是否為閏年.,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),分析,當(dāng)給出數(shù)學(xué)表達(dá)式后,如何轉(zhuǎn)化為程序.,參考,N-S圖是結(jié)構(gòu)化程序設(shè)計(jì)中常用的方法,,35,參考程序,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),#include void main() int year,leap; scanf(%d, ,運(yùn)行情況如下: 輸入:1800 輸出:1800 is not a le
14、ap year 輸入:2000 輸出:2000 is a leap year 輸入:1996 輸出:1996 is a leap year,條件可否合并寫成一行呢?,36,改進(jìn)程序,講座章 選擇結(jié)構(gòu)程序設(shè)計(jì),#include void main() int year,leap; scanf(%d, ,37,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),總結(jié),前面所用的例子基本上都取自教材中,這里只是重新梳理分析。,選擇結(jié)構(gòu)有兩種基本形式,但是能組合出多種變化; 表達(dá)式不僅有算數(shù)表達(dá)式、還有關(guān)系、邏輯、條件(?)、逗號(hào)、賦值,等等。 表達(dá)式的使用要特別注意優(yōu)先級(jí)的影響。 在VC中“邏輯與”的表達(dá)式當(dāng)求解到“假”時(shí),后
15、面的不再計(jì)算。,38,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),問題?,能看懂程序,但是自己對(duì)立寫不出來; 模仿是學(xué)習(xí)的必要階段,但只是初級(jí)階段。 只有親自動(dòng)手才能熟悉;經(jīng)驗(yàn)需要自己總結(jié)。 如何設(shè)計(jì)程序的結(jié)構(gòu)? 如果讓你做一道菜,你怎么完成? 再?gòu)?fù)雜的機(jī)械,也是由簡(jiǎn)單部分構(gòu)成的,能把所有完成的任務(wù)分解成一步一步的,你就會(huì)寫程序了。 如何驗(yàn)證程序的正確與否? 你會(huì)驗(yàn)證一個(gè)公式的正確性,就會(huì)驗(yàn)證程序的正確性,原理一樣、方法多種。,39,講座 選擇結(jié)構(gòu)程序設(shè)計(jì),4. 復(fù)雜的表達(dá)式如何簡(jiǎn)單化? 加入圓括號(hào),明顯地表示出結(jié)構(gòu)關(guān)系; 充分利用優(yōu)先級(jí)的影響。 5. 如何快速的排除錯(cuò)誤? 先排除頭三個(gè)錯(cuò)誤;鼠標(biāo)點(diǎn)擊提示后,光標(biāo)到錯(cuò)誤所在的行,90%的錯(cuò)誤在本行。 6. 語法錯(cuò)誤與語義錯(cuò)誤是兩個(gè)概念 要求計(jì)算a+b,程序中寫成a-b,計(jì)算機(jī)不會(huì)知道這個(gè)錯(cuò)誤。,40,講座 選擇
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024校服生產(chǎn)與校園文化衫銷售及售后維護(hù)服務(wù)合同2篇
- 2車輛租賃公司和個(gè)人之間的租車協(xié)議2024
- 2024物業(yè)寵物托管中心與寵物服務(wù)商合同
- 2024年網(wǎng)絡(luò)安全技術(shù)合作合同協(xié)議3篇
- 2024標(biāo)準(zhǔn)化房產(chǎn)居間業(yè)務(wù)協(xié)議一
- 2024年網(wǎng)絡(luò)游戲開發(fā)與運(yùn)營(yíng)合同:虛擬物品與玩家權(quán)益保護(hù)
- 鄭州師范學(xué)院《素描表現(xiàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江旅游職業(yè)學(xué)院《專業(yè)外語(秘書)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中南大學(xué)《生化工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 《保護(hù)性拆除》課件
- 蘇北四市(徐州、宿遷、淮安、連云港)2025屆高三第一次調(diào)研考試(一模)語文試卷(含答案)
- 第7課《中華民族一家親》(第一課時(shí))(說課稿)2024-2025學(xué)年統(tǒng)編版道德與法治五年級(jí)上冊(cè)
- 2025年進(jìn)出口貿(mào)易公司發(fā)展戰(zhàn)略和經(jīng)營(yíng)計(jì)劃
- 2025年上海市嘉定區(qū)高三語文一模作文8篇范文:人們往往用“有用”作為判別事物并做出選擇的重要標(biāo)準(zhǔn)
- 2025年行政執(zhí)法人員執(zhí)法資格考試必考題庫及答案(共232題)
- 網(wǎng)站建設(shè)合同范本8篇
- GB/T 44888-2024政務(wù)服務(wù)大廳智能化建設(shè)指南
- 玻璃鱗片施工技術(shù)規(guī)范
- 操作規(guī)程管理制度的內(nèi)容及示例
- 初中物理實(shí)驗(yàn)記錄表
- 初中學(xué)生成績(jī)通知單
評(píng)論
0/150
提交評(píng)論