版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章選擇結(jié)構(gòu)程序設(shè)計(jì)
第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)的嵌套主要內(nèi)容一、選擇結(jié)構(gòu)概述一、選擇結(jié)構(gòu)概述1、為什么要用選擇結(jié)構(gòu)?來源于現(xiàn)實(shí)如:汽車行駛中,如果交通燈是紅色或黃色,則停止,否則通行一、選擇結(jié)構(gòu)概述1、為什么要用選擇結(jié)構(gòu)?來源于現(xiàn)實(shí)如:汽車行一、選擇結(jié)構(gòu)概述2、選擇結(jié)構(gòu)的類型單分支雙分支多分支表達(dá)式?語句表達(dá)式?語句1語句2YNYN一、選擇結(jié)構(gòu)概述2、選擇結(jié)構(gòu)的類型單分支雙分支多分支表達(dá)式?二、關(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á)式的值是一個(gè)邏輯值,即“真”或“假”。優(yōu)先級(jí)高二、關(guān)系、邏輯表達(dá)式1、關(guān)系表達(dá)式關(guān)系運(yùn)算符:關(guān)系表達(dá)式:優(yōu)二、關(guān)系、邏輯表達(dá)式2、邏輯表達(dá)式邏輯運(yùn)算符:
&&、
||、!
邏輯表達(dá)式:
a&&b
,
a||b,
!a值是一個(gè)邏輯值,即“真”或“假”。優(yōu)先次序:
!(非)->&&(與)->||(或)二、關(guān)系、邏輯表達(dá)式2、邏輯表達(dá)式邏輯運(yùn)算符:邏輯表達(dá)式:優(yōu)二、關(guān)系、邏輯表達(dá)式2、邏輯表達(dá)式設(shè)a=4,b=5:!aa&&ba||b!a||b4&&0||2值為0值為1值為1值為1值為1二、關(guān)系、邏輯表達(dá)式2、邏輯表達(dá)式設(shè)a=4,b=5:值為0值三、單分支選擇結(jié)構(gòu)1、實(shí)現(xiàn)單分支選擇結(jié)構(gòu)的語句—if語句單分支表達(dá)式?語句YNIf(表達(dá)式)
語句三、單分支選擇結(jié)構(gòu)1、實(shí)現(xiàn)單分支選擇結(jié)構(gòu)的語句—if語句單三、單分支選擇結(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、單分支選擇結(jié)構(gòu)示例例1、求a、b兩數(shù)中三、單分支選擇結(jié)構(gòu)例2、從鍵盤上讀入一個(gè)大寫字符,轉(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)例2、從鍵盤上讀入一個(gè)大寫字符,轉(zhuǎn)換為小寫四、雙分支選擇結(jié)構(gòu)1、if語句If(表達(dá)式)
語句1;else
語句2;
四、雙分支選擇結(jié)構(gòu)1、if語句If(表達(dá)式)四、雙分支選擇結(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)例3、求a、b兩數(shù)中較大的數(shù)(雙分支)。#四、雙分支選擇結(jié)構(gòu)2、條件表達(dá)式格式:條件?表達(dá)式2:表達(dá)式3如果
條件為真,則返回表達(dá)式2的值,否則返回表達(dá)式3的值四、雙分支選擇結(jié)構(gòu)2、條件表達(dá)式格式:條件?表達(dá)式2:表達(dá)四、雙分支選擇結(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)例4、求a、b兩數(shù)中較大的數(shù)(條件表達(dá)式)四、雙分支選擇結(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)例5、將大寫字母轉(zhuǎn)化為小寫字母。char五、多分支選擇結(jié)構(gòu)表達(dá)式1?語句1YN表達(dá)式2?語句2YN表達(dá)式n?語句nYN…語句n+1五、多分支選擇結(jié)構(gòu)表達(dá)式1?語句1YN表達(dá)式2?語句2YN表五、多分支選擇結(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)1、If語句實(shí)現(xiàn)if條件1a>0a=五、多分支選擇結(jié)構(gòu)2、Switch語句例6:10086語音提示。例7:輸入一百分制分?jǐn)?shù),請(qǐng)轉(zhuǎn)換為等級(jí)A,B,C,D。五、多分支選擇結(jié)構(gòu)2、Switch語句例6:10086語音提五、多分支選擇結(jié)構(gòu)2、Switch語句語句1表達(dá)式語句2語句n語句n+1值1值2值n否則五、多分支選擇結(jié)構(gòu)2、Switch語句語句1表達(dá)式語句2語句五、多分支選擇結(jié)構(gòu)2、Switch語句(1)設(shè)計(jì)要領(lǐng):①先對(duì)要做的幾個(gè)操作編號(hào)。操作1操作2操作3操作4值集合操作集合五、多分支選擇結(jié)構(gòu)2、Switch語句(1)設(shè)計(jì)要領(lǐng):①五、多分支選擇結(jié)構(gòu)2、Switch語句(1)設(shè)計(jì)要領(lǐng):操作1操作2操作3操作41354②選取合適的某個(gè)表達(dá)式,讓其取值能分別指向某個(gè)操作。表達(dá)式值2五、多分支選擇結(jié)構(gòu)2、Switch語句(1)設(shè)計(jì)要領(lǐng):1五、多分支選擇結(jié)構(gòu)(2)switch語句格式switch(表達(dá)式){case常量1:語句1;case常量2:語句2;…case常量n:語句n;default:語句n+1;}break;終止此分支語句五、多分支選擇結(jié)構(gòu)(2)switch語句格式switch五、多分支選擇結(jié)構(gòu)(3)break語句終止本次選擇結(jié)構(gòu)。格式:break;五、多分支選擇結(jié)構(gòu)(3)break語句終止本次選擇結(jié)構(gòu)。五、多分支選擇結(jié)構(gòu)例8將等級(jí)成績轉(zhuǎn)換為百分制成績,A等為85分以上,B等為70-84之間,C等為60-69分,D等為60分以下。
成績的等級(jí)由鍵盤輸入。五、多分支選擇結(jié)構(gòu)例8將等級(jí)成績轉(zhuǎn)換為百分制成績,五、多分支選擇結(jié)構(gòu)開始結(jié)束輸入等級(jí)grade“85~100”“70~84”“60~69”“<60”grade#include<stdio.h>voidmain(){chargrade;printf(“請(qǐng)輸入等級(jí)成績:”);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)開始結(jié)束輸入等級(jí)grade“85~100”五、多分支選擇結(jié)構(gòu)例9運(yùn)輸公司對(duì)用戶計(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)例9運(yùn)輸公司對(duì)用戶計(jì)算運(yùn)費(fèi)。五、多分支選擇結(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)分析折扣變化的規(guī)律性:五、多分支選擇結(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)#include<stdio.h>
vo五、多分支選擇結(jié)構(gòu)例10[簡(jiǎn)單計(jì)算器]下面程序是實(shí)現(xiàn)一個(gè)簡(jiǎ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,請(qǐng)?jiān)诳仗幪钌线m當(dāng)?shù)拇a。五、多分支選擇結(jié)構(gòu)例10[簡(jiǎn)單計(jì)算器]五、多分支選擇結(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)#include"stdio.h"c=六、選擇結(jié)構(gòu)的嵌套在選擇結(jié)構(gòu)中又包含一個(gè)或多個(gè)選擇結(jié)構(gòu)。如:if()
語句1;elseif()
語句2;
else語句3;注意:if與else配對(duì)情況,else與最近的if配對(duì)。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度運(yùn)輸車司機(jī)雇傭合同附帶職業(yè)健康與安全保護(hù)
- 2025年度物業(yè)與開發(fā)公司社區(qū)文化活動(dòng)宣傳合作合同
- 二零二五年度商業(yè)空間室內(nèi)外裝飾工程合同書
- 2025年度烘焙店員工安全培訓(xùn)及責(zé)任合同
- 二零二五年度虛擬偶像與數(shù)字人電子協(xié)議與版權(quán)授權(quán)合同
- 2025年度個(gè)人教育培訓(xùn)課程開發(fā)合同范本2篇
- 二零二五版廈門往屆畢業(yè)生落戶咨詢代理合同3篇
- 二零二五年度倉儲(chǔ)物流中心出租合同3篇
- 二零二五年度車房租賃與交通規(guī)劃咨詢服務(wù)合同3篇
- 二零二四醫(yī)療器械健康大數(shù)據(jù)分析與銷售合同3篇
- 中考語文二輪復(fù)習(xí):記敘文閱讀物象的作用(含練習(xí)題及答案)
- 老年外科患者圍手術(shù)期營養(yǎng)支持中國專家共識(shí)(2024版)
- 子宮畸形的超聲診斷
- 2024年1月高考適應(yīng)性測(cè)試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- EPC項(xiàng)目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
- 《復(fù)旦大學(xué)》課件
- 針灸與按摩綜合療法
- 四川2024年專業(yè)技術(shù)人員公需科目“數(shù)字經(jīng)濟(jì)與驅(qū)動(dòng)發(fā)展”參考答案(通用版)
- 《我的家族史》課件
評(píng)論
0/150
提交評(píng)論