




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高級(jí)語(yǔ)言程序設(shè)計(jì) (C語(yǔ)言),第五章 選擇結(jié)構(gòu)程序設(shè)計(jì),第五章 選擇結(jié)構(gòu)程序設(shè)計(jì),5.1 if語(yǔ)句 5.2 switch語(yǔ)句 5.3 無(wú)條件轉(zhuǎn)向語(yǔ)句,5.1 if語(yǔ)句,1. 簡(jiǎn)單的if語(yǔ)句 2. 雙分支if語(yǔ)句 3. 多分支if語(yǔ)句 4. 控制條件的表示 5. if語(yǔ)句的嵌套,1. 簡(jiǎn)單的if語(yǔ)句,格式: if ()語(yǔ)句 功能:,表達(dá)式,語(yǔ)句,F,T,程序應(yīng)用舉例,例1 求給定整數(shù)的絕對(duì)值。 x x0 |x|= -x x0 設(shè):x整數(shù) yx的絕對(duì)值,流程圖:,x0?,y=x,y=-x,T,F,開(kāi)始,輸出x,y,結(jié)束,輸入x,程序應(yīng)用舉例,例2 求4個(gè)整數(shù)中的偶數(shù)之和。 設(shè):a,b,c,d4個(gè)整
2、數(shù)。 s偶數(shù)之和,作為累加器使用,先要清0。 分析: 偶數(shù)能被2整除,如果設(shè)x為整數(shù),則有x%2=0,余數(shù)為0。,流程圖:,a%2=0?,s=0,s=s+a,T,F,s=s+b,開(kāi)始,輸出a,b,c,d,s,結(jié)束,輸入a,b,c,d,b%2=0?,T,F,c%2=0?,s=s+c,T,s=s+d,d%2=0?,T,F,I,I,F,程序應(yīng)用舉例,例3 已知a,b,c 3個(gè)整數(shù),將3個(gè)數(shù)按從大到小的順序排列輸出。 設(shè): a,b,c 3個(gè)整數(shù)。,流程圖:,ab?,a與b交換,T,F,a與c交換,開(kāi)始,輸出a,b,c,結(jié)束,輸入a,b,c,ac?,T,F,bc?,b與c交換,T,F,2.雙分支if語(yǔ)句
3、if_else語(yǔ)句,格式: if () 語(yǔ)句1 else 語(yǔ)句2,2. if_else語(yǔ)句,功能:,表達(dá)式,語(yǔ)句2,T,F,語(yǔ)句1,3. 多分支if語(yǔ)句,格式: if () 語(yǔ)句1 else if () 語(yǔ)句2 else if () 語(yǔ)句3 . else if () 語(yǔ)句n-1 else 語(yǔ)句n,3. 多分支語(yǔ)句,功能:,表達(dá)式1,語(yǔ)句2,T,F,語(yǔ)句1,表達(dá)式2,表達(dá)式n-1,語(yǔ)句n,語(yǔ)句n-1,T,T,F,F,4. 控制條件的表示,控制條件通常用關(guān)系表達(dá)式或邏輯表 達(dá)式構(gòu)造。 在判斷時(shí),表達(dá)式中的非 0為True,0為False。而關(guān)系表達(dá)式或邏輯 表達(dá)式的返回值為1或0,1表示True,
4、 0表示False。,4. 控制條件的表示,在判斷表達(dá)式時(shí): 非0True 0False 而關(guān)系表達(dá)式或邏輯表達(dá)式的返回值: 1True 0False,5. If語(yǔ)句的嵌套,在一個(gè)條件語(yǔ)句中包含有另一個(gè)條件語(yǔ) 句的結(jié)構(gòu),成為條件的嵌套。,條件嵌套應(yīng)用舉例,例1 求分段函數(shù)。(P90) x +1 x0 y = x x=0 x-1 x0。,條件嵌套應(yīng)用舉例,例2 從鍵盤上輸入3個(gè)數(shù),若這3個(gè)數(shù)能構(gòu)成三角形的三邊長(zhǎng),則求這個(gè)三角形的面積,否則打印響應(yīng)的錯(cuò)誤信息,當(dāng)出現(xiàn)數(shù)據(jù)小于或等于0時(shí),顯示“數(shù)據(jù)無(wú)效!”;當(dāng)任意兩邊之和不大于第三邊時(shí),顯示“不能構(gòu)成三角形!” 分析:三個(gè)數(shù)能構(gòu)成三角形的充分必要條件
5、是: (1)三個(gè)數(shù)均大于0。 (2)任意兩邊之和大于第三邊。 設(shè):a,b,c三邊長(zhǎng) p中間變量,p=(a+b+c)/2 s三角形面積,5.2 switch語(yǔ)句,格式: switch() case :語(yǔ)句1 case :語(yǔ)句2 case :語(yǔ)句n default 語(yǔ)句n+1 ,5.2 switch語(yǔ)句,功能: 首先計(jì)算的值,然后依次與 (i=1,2,n)比較,若表達(dá)式的值與相 等,則從處開(kāi)始執(zhí)行,這里就是執(zhí)行的 入口,直到switch語(yǔ)句結(jié)束。若所有的 (i=1,2,n)的值均不等于表達(dá)式的值,則從default處 開(kāi)始執(zhí)行。,5.2 switch語(yǔ)句,說(shuō)明: (1)switch后面的可以是任何
6、表達(dá)式,取其整數(shù)部分與進(jìn)行比較。 (2)中不能出現(xiàn)變量,且類型必須是整型、字符型或枚舉型,各互不相同。 (3)語(yǔ)句I可以是一條語(yǔ)句或多條語(yǔ)句,多條語(yǔ)句不必用 將它們括起來(lái)。語(yǔ)句i處也可以沒(méi)有語(yǔ)句,程序執(zhí)行時(shí)會(huì)自動(dòng)向下順序執(zhí)行。 (4)default一般出現(xiàn)在所有的case之后,也可以出現(xiàn)在case之前或兩個(gè)case語(yǔ)句之間。Default可以省略。,5.2 switch語(yǔ)句,例1 用switch語(yǔ)句設(shè)計(jì)程序,實(shí)現(xiàn)輸出學(xué)生成績(jī)和 等級(jí)的功能。 分析:因?yàn)榉謹(jǐn)?shù)x為0100分,則x/10的值為0,1,2, 3,4,5,6,7,8,9,10。,5.2 switch語(yǔ)句,分析結(jié)果: 第一行輸出正確,后面
7、7行輸出是多余的,原因何在? 原因: 根據(jù)switch語(yǔ)句的功能,在執(zhí)行完一個(gè)case后面的語(yǔ) 句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)指向?!癱ase ”只是起語(yǔ)句標(biāo)號(hào)的作用,并不是在該處進(jìn)行 條件判斷。在執(zhí)行switch語(yǔ)句時(shí),計(jì)算機(jī)根據(jù)switch后 面的值找到響應(yīng)的入口標(biāo)號(hào),就從此標(biāo)號(hào)開(kāi)始 一直執(zhí)行下去,不再判斷。 那么,如何終止switch語(yǔ)句的執(zhí)行呢?C語(yǔ)言中提供 的break語(yǔ)句可以做到這一點(diǎn)。,5.2 switch語(yǔ)句,格式: break; 功能: 終止它所在的switch語(yǔ)句的執(zhí)行。,5.3 無(wú)條件轉(zhuǎn)向語(yǔ)句,格式: goto ; 功能: 無(wú)條件轉(zhuǎn)向語(yǔ)句標(biāo)號(hào)所標(biāo)識(shí)的語(yǔ)句執(zhí)行。,5
8、.3 無(wú)條件轉(zhuǎn)向語(yǔ)句,說(shuō)明: 1用標(biāo)識(shí)符后面跟冒號(hào)表示。 例如: goto k; k: 2goto語(yǔ)句與相應(yīng)的必須在同一個(gè)函數(shù)中, 不允許跨兩個(gè)函數(shù)。,5.3 無(wú)條件轉(zhuǎn)向語(yǔ)句,例1 輸入三角形3邊的邊長(zhǎng)并輸出。若輸入的3邊長(zhǎng)不 能滿足構(gòu)成三角形的條件,程序在顯示提示信息后,利用 goto語(yǔ)句自動(dòng)轉(zhuǎn)到輸入函數(shù)調(diào)用語(yǔ)句,要求用戶重新輸入 3邊長(zhǎng)的值,直到輸入的3個(gè)邊長(zhǎng)滿足構(gòu)成三角形的條件為 止。 設(shè):x,y,z三角形的3條邊長(zhǎng),5.3 無(wú)條件轉(zhuǎn)向語(yǔ)句,例2 改進(jìn)輸出學(xué)生成績(jī)和的等級(jí)的程序,使之當(dāng)輸入 的成績(jī)非法時(shí),要求用戶重新輸入合法的成績(jī)。,5.4 應(yīng)用舉例,例1 輸入3個(gè)整數(shù),求最小值。 設(shè):
9、a,b,c3個(gè)整數(shù) min最小值,5.4 應(yīng)用舉例,例2 編寫程序,判斷某一年是否是閏年。 判斷閏年的條件: (1)能被4整除,但不能被100整除的年份都是閏年。如1996,2004年等都是閏年。 (2)能被100整除,又能被400整除的年份是閏年。如1600,2000年都是閏年。 (3)不符合這兩個(gè)條件的年份不是閏年。 設(shè): yezr年份 leap表示是否閏年,如果是,則leap=1,否則leap=0。,流程圖:,year被4整除?,leap=1,T,F,leap=0,開(kāi)始,輸出“閏年”,結(jié)束,輸入year,year被100整除?,T,F,year被400整除?,T,leap,T,F,F,leap=0,輸出“非閏年”,leap=1,5.4 應(yīng)用舉例,例3 求一元二次方程ax2+bx+c=0的根。(P99) 分析:對(duì)于求一元二次方程ax2+bx+c=0, (1)若a=0,則原方程變?yōu)橐辉淮畏匠蘠x+c=0,則,當(dāng)b不等于0時(shí),x=-c/b。 (2)若a0,則方程有2個(gè)根(實(shí)根或復(fù)根) 若b2-4ac0 ,則方程有兩個(gè)實(shí)根: x1,2= ( -bb2-4ac)/(2a) 若b2-4ac
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工地勞務(wù)施工合同
- 汽車零部件制造業(yè)供應(yīng)鏈管理優(yōu)化方案
- 互聯(lián)網(wǎng)廣告合作與推廣合同
- 職業(yè)培訓(xùn)課件
- 食品營(yíng)養(yǎng)與健康管理實(shí)踐模擬卷
- 電梯安全管理人員聯(lián)考習(xí)題庫(kù)跟答案
- 農(nóng)業(yè)生產(chǎn)數(shù)字化轉(zhuǎn)型戰(zhàn)略方案
- 三年級(jí)語(yǔ)文下冊(cè) 第四單元 15 小蝦教學(xué)設(shè)計(jì) 新人教版
- 公司勞務(wù)合同協(xié)議
- 第三單元 100以內(nèi)數(shù)的認(rèn)識(shí)整單元(教案)-2024-2025學(xué)年一年級(jí)下冊(cè)數(shù)學(xué)人教版001
- JJF 1159-2006四極桿電感耦合等離子體質(zhì)譜儀校準(zhǔn)規(guī)范
- 工程結(jié)構(gòu)檢測(cè)鑒定與加固第1章工程結(jié)構(gòu)檢測(cè)鑒定與加固概論課件
- 立體構(gòu)成概述課件完整版
- 滬教牛津版小學(xué)三至六年級(jí)英語(yǔ)單詞表
- 采購(gòu)談判的技巧案例
- 質(zhì)量整改通知單(樣板)
- 公司董事會(huì)會(huì)議臺(tái)賬
- 西門子仿真數(shù)據(jù)與流程管理平臺(tái)介紹
- 短視頻:策劃+拍攝+制作+運(yùn)營(yíng)課件(完整版)
- 專業(yè)稅務(wù)顧問(wèn)業(yè)務(wù)報(bào)告
- 2021-2022學(xué)年福建省廈門市第一中學(xué)高二下學(xué)期期中生物試題(原卷版)
評(píng)論
0/150
提交評(píng)論