選擇結(jié)構(gòu)程序設(shè)計(jì)課件_第1頁
選擇結(jié)構(gòu)程序設(shè)計(jì)課件_第2頁
選擇結(jié)構(gòu)程序設(shè)計(jì)課件_第3頁
選擇結(jié)構(gòu)程序設(shè)計(jì)課件_第4頁
選擇結(jié)構(gòu)程序設(shè)計(jì)課件_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論