版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第4章選擇結(jié)構(gòu)程序設(shè)計(jì)
主要內(nèi)容一、選擇結(jié)構(gòu)概述二、關(guān)系、邏輯表達(dá)式三、單分支選擇結(jié)構(gòu)四、雙分支選擇結(jié)構(gòu)五、多分支選擇結(jié)構(gòu)六、選擇結(jié)構(gòu)的嵌套一、選擇結(jié)構(gòu)概述1、為什么要用選擇結(jié)構(gòu)?來源于現(xiàn)實(shí)如:汽車行駛中,如果交通燈是紅色或黃色,則停止,否則通行一、選擇結(jié)構(gòu)概述2、選擇結(jié)構(gòu)的類型單分支雙分支多分支表達(dá)式?語句表達(dá)式?語句1語句2YNYN二、關(guān)系、邏輯表達(dá)式1、關(guān)系表達(dá)式關(guān)系運(yùn)算符:
<、
<=、>、
>=
==、!=關(guān)系表達(dá)式:a>b,a+b>b+c,’a’<‘b’,(a>b)>(b<c)關(guān)系表達(dá)式的值是一個邏輯值,即“真”或“假”。優(yōu)先級高二、關(guān)系、邏輯表達(dá)式2、邏輯表達(dá)式邏輯運(yùn)算符:
&&、
||、!
邏輯表達(dá)式:
a&&b
,
a||b,
!a值是一個邏輯值,即“真”或“假”。優(yōu)先次序:
!(非)->&&(與)->||(或)二、關(guān)系、邏輯表達(dá)式2、邏輯表達(dá)式設(shè)a=4,b=5:!aa&&ba||b!a||b4&&0||2值為0值為1值為1值為1值為1三、單分支選擇結(jié)構(gòu)1、實(shí)現(xiàn)單分支選擇結(jié)構(gòu)的語句—if語句單分支表達(dá)式?語句YNIf(表達(dá)式)
語句三、單分支選擇結(jié)構(gòu)2、單分支選擇結(jié)構(gòu)示例例1、求a、b兩數(shù)中較大的數(shù)。#include<stdio.h>intmain(){inta,b,max;printf(“inputab:”);scanf(“%d%d”,&a,&b);max=a;if(a<b)max=b;printf(“themaxis%d\n”,max);return0;}三、單分支選擇結(jié)構(gòu)例2、從鍵盤上讀入一個大寫字符,轉(zhuǎn)換為小寫字符輸出(要求判斷是否是大寫字母)。#include<stdio.h>intmain(){charc1,c2;printf(“inputacharacter:”);scanf(“%c”,&c1);if(c1>64&&c1<91){c2=c1+32;printf(“theLowercaseletteris%c\n”,c2);}return0;}
四、雙分支選擇結(jié)構(gòu)1、if語句If(表達(dá)式)
語句1;else
語句2;
四、雙分支選擇結(jié)構(gòu)例3、求a、b兩數(shù)中較大的數(shù)(雙分支)。#include<stdio.h>intmain(){inta,b,max;printf(“inputab:”);scanf(“%d%d”,&a,&b);if(a<b)max=b;elsemax=a;printf(“themaxis%d\n”,max);return0;}四、雙分支選擇結(jié)構(gòu)2、條件表達(dá)式格式:條件?表達(dá)式2:表達(dá)式3如果
條件為真,則返回表達(dá)式2的值,否則返回表達(dá)式3的值四、雙分支選擇結(jié)構(gòu)例4、求a、b兩數(shù)中較大的數(shù)(條件表達(dá)式)。#include<stdio.h>intmain(){inta,b,max;printf(“inputab:”);scanf(“%d%d”,&a,&b);
max=(a<b)?b:a;printf(“themaxis%d\n”,max);return0;}四、雙分支選擇結(jié)構(gòu)例5、將大寫字母轉(zhuǎn)化為小寫字母。charc1;c1=(c1>64&&c1<91)?(c1+32):ch;或者c1=(c1>=’A’&&c1<=’Z’)?(c1+32):ch;五、多分支選擇結(jié)構(gòu)表達(dá)式1?語句1YN表達(dá)式2?語句2YN表達(dá)式n?語句nYN…語句n+1五、多分支選擇結(jié)構(gòu)1、If語句實(shí)現(xiàn)if條件1
語句1
;if條件2
語句2
;if條件3
語句3;a>0a=0a<0或:if條件1
語句1
;elseif條件2
語句2
;else
語句3;五、多分支選擇結(jié)構(gòu)2、Switch語句例6:10086語音提示。例7:輸入一百分制分?jǐn)?shù),請轉(zhuǎn)換為等級A,B,C,D。五、多分支選擇結(jié)構(gòu)2、Switch語句語句1表達(dá)式語句2語句n語句n+1值1值2值n否則五、多分支選擇結(jié)構(gòu)2、Switch語句(1)設(shè)計(jì)要領(lǐng):①先對要做的幾個操作編號。操作1操作2操作3操作4值集合操作集合五、多分支選擇結(jié)構(gòu)2、Switch語句(1)設(shè)計(jì)要領(lǐng):操作1操作2操作3操作41354②選取合適的某個表達(dá)式,讓其取值能分別指向某個操作。表達(dá)式值2五、多分支選擇結(jié)構(gòu)(2)switch語句格式switch(表達(dá)式){case常量1:語句1;case常量2:語句2;…case常量n:語句n;default:語句n+1;}break;終止此分支語句五、多分支選擇結(jié)構(gòu)(3)break語句終止本次選擇結(jié)構(gòu)。格式:break;五、多分支選擇結(jié)構(gòu)例8將等級成績轉(zhuǎn)換為百分制成績,A等為85分以上,B等為70-84之間,C等為60-69分,D等為60分以下。
成績的等級由鍵盤輸入。五、多分支選擇結(jié)構(gòu)開始結(jié)束輸入等級grade“85~100”“70~84”“60~69”“<60”grade#include<stdio.h>voidmain(){chargrade;printf(“請輸入等級成績:”);scanf(“%C”,&grade);printf(“Yourscore:”);switch(grade){case‘A’:
printf(“85~100\n”);break;case‘B’:printf(“70~84\n”);break;case‘C’:printf(“60~69\n”);break;case‘D’:
printf(“<60\n”);break;}}ABCD五、多分支選擇結(jié)構(gòu)例9運(yùn)輸公司對用戶計(jì)算運(yùn)費(fèi)。路程(s)越遠(yuǎn),每公里運(yùn)費(fèi)越低。標(biāo)準(zhǔn)如下:s<250km沒有折扣250≤s<5002%折扣500≤s<10005%折扣1000≤s<20008%折扣2000≤s<300010%折扣3000≤s15%折扣設(shè)每公里每噸貨物的基本運(yùn)費(fèi)為p,貨物重為w,距離為s,折扣為d,則總運(yùn)費(fèi)f的計(jì)算公式為:f=p*w*s*(1-d)
五、多分支選擇結(jié)構(gòu)分析折扣變化的規(guī)律性:折扣的“變化點(diǎn)”都是250的倍數(shù)取表達(dá)式為s/250,其值裝入c。c代表250的倍數(shù)。
c<1,無折扣;1≤c<2,折扣d=2%;2≤c<4,d=5%;4≤c<8,d=8%;8≤c<12,d=10%;c≥12,d=15%。
五、多分支選擇結(jié)構(gòu)#include<stdio.h>
voidmain()
{
intc,s;
floatp,w,d,f;
scanf("%f,%f,%d",&p,&w,&s);
if(s>=3000)c=12;
elsec=s/250;
switch(c){
case0:d=0;break;
case1:d=2;break;
case2:
case3:d=5;break;
case4:
case5:
case6:
case7:d=8;break;
case8:
case9:
case10:
case11:d=10;break;
case12:d=15;break;}
f=p*w*s*(1-d/100.0);
printf("freight=%15.4f\n",f);}五、多分支選擇結(jié)構(gòu)例10[簡單計(jì)算器]下面程序是實(shí)現(xiàn)一個簡單的運(yùn)算器(保留兩位小數(shù)點(diǎn)):如果由鍵盤輸入10+50,計(jì)算機(jī)可以輸出結(jié)果60.00;如果輸入8*6,計(jì)算機(jī)輸出48.00;如果輸入20/4,計(jì)算機(jī)輸出5.00;如果輸入8-6,計(jì)算機(jī)輸出2.00,請?jiān)诳仗幪钌线m當(dāng)?shù)拇a。五、多分支選擇結(jié)構(gòu)#include"stdio.h"voidmain(){floata,b,c;charop;scanf("%f%c%f",&a,&op,&b);switch(op){case'+':
;case'-':
;case'*':
;case'/':
;default:printf("error");return;}printf("result=%f",c);}c=a+b;breakc=a-b;breakc=a*b;breakc=a/b;break六、選擇結(jié)構(gòu)的嵌套在選擇結(jié)構(gòu)中又包含一個或多個選擇結(jié)構(gòu)。如:if()
語句1;elseif()
語句2;
else語句3;注意:if與else配對情況,else與最近的if配對。六、選擇結(jié)構(gòu)的嵌套例11有一函數(shù)編一程序,輸入一個x的值,要求輸出相應(yīng)的y值。方法1:用三個獨(dú)立的if語句來完成。方法2:用if語句的嵌套。六、選擇結(jié)構(gòu)的嵌套例12你的身材標(biāo)準(zhǔn)嗎?從鍵盤輸入某人的身高和體重后,按照下面的方法確定此人的體重是否標(biāo)準(zhǔn)。標(biāo)準(zhǔn)體重=(身高-110)kg超過標(biāo)準(zhǔn)體重5kg為過胖,低于標(biāo)準(zhǔn)體重5kg為過瘦六、選擇結(jié)構(gòu)的嵌套#include<stdio.h>intmain(){floatheight,weight
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024音樂教師工作總結(jié)范文(31篇)
- 提升學(xué)科服務(wù)地方能力的策略及實(shí)施路徑
- 2024年花卉托管協(xié)議
- 2024年度中外農(nóng)產(chǎn)品進(jìn)出口貿(mào)易合同3篇
- 2024建筑安裝工程勞務(wù)分包合同模板
- 2024年版汽車金融借款合同模板一
- 2024校醫(yī)校園心理危機(jī)干預(yù)與心理咨詢服務(wù)合同3篇
- 2024年起重機(jī)維修保養(yǎng)與購銷一體化合同范本3篇
- 2024房屋買賣詳細(xì)協(xié)議條款匯編版B版
- 2024年版人工智能語音助手授權(quán)使用協(xié)議
- 2024信息技術(shù)應(yīng)用創(chuàng)新信息系統(tǒng)適配改造成本度量
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測試(零模)英語 含解析
- 陜西測繪地理信息局所屬事業(yè)單位2025年上半年招聘87人和重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 保險學(xué)期末試題及答案
- 高一數(shù)學(xué)上學(xué)期期末模擬試卷01-【中職專用】2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期(高教版2023基礎(chǔ)模塊)(解析版)
- 嚴(yán)重精神障礙患者隨訪服務(wù)記錄表
- 2024-2025學(xué)年人教版八年級上冊地理期末測試卷(一)(含答案)
- 統(tǒng)編版(2024新版)七年級上冊道德與法治第四單元綜合測試卷(含答案)
- 滬教版英語小學(xué)六年級上學(xué)期期末試題與參考答案(2024-2025學(xué)年)
- 北京市海淀區(qū)2023-2024學(xué)年四年級上學(xué)期語文期末試卷
- 混凝土企業(yè)安全培訓(xùn)
評論
0/150
提交評論