任務(wù)利用順序結(jié)構(gòu)程序解決實(shí)際問(wèn)題順序結(jié)構(gòu)程_第1頁(yè)
任務(wù)利用順序結(jié)構(gòu)程序解決實(shí)際問(wèn)題順序結(jié)構(gòu)程_第2頁(yè)
任務(wù)利用順序結(jié)構(gòu)程序解決實(shí)際問(wèn)題順序結(jié)構(gòu)程_第3頁(yè)
任務(wù)利用順序結(jié)構(gòu)程序解決實(shí)際問(wèn)題順序結(jié)構(gòu)程_第4頁(yè)
任務(wù)利用順序結(jié)構(gòu)程序解決實(shí)際問(wèn)題順序結(jié)構(gòu)程_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【例2.10】計(jì)算1+2+3+4+5的和。#include<stdio.h>intmain(void){inti=1,s=0;s=s+i;i++;s=s+i;i++;s=s+i;i++;s=s+i;i++;s=s+i;

printf("sum=%d\n",s);}2.2.2順序結(jié)構(gòu)程序設(shè)計(jì)應(yīng)用重復(fù)執(zhí)行多次循環(huán)結(jié)構(gòu)任務(wù)2.2利用順序結(jié)構(gòu)程序解決實(shí)際問(wèn)題

選擇結(jié)構(gòu)程序:根據(jù)不同的條件,執(zhí)行不同的語(yǔ)句(根據(jù)不同的條件選擇不同的道路)。兩種選擇語(yǔ)句:if語(yǔ)句和switch語(yǔ)句。1、if語(yǔ)句的3種形式

(1)if基本形式if(表達(dá)式)語(yǔ)句#include<stdio.h>intmain(void){ intscore; printf("請(qǐng)輸入成績(jī):"); scanf("%d",&score);

if(score>=60)printf("恭喜,通過(guò)!\n");}2.3.1if語(yǔ)句及應(yīng)用【例2.11】用if語(yǔ)句判斷考試結(jié)果。任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題#include<stdio.h>intmain(void){ intscore; printf("請(qǐng)輸入成績(jī):"); scanf("%d",&score);

if(score>=60)printf("恭喜,通過(guò)!\n");

elseprintf("未通過(guò),繼續(xù)努力!\n");}1、if語(yǔ)句的3種形式

2.3.1if語(yǔ)句及應(yīng)用if(表達(dá)式)語(yǔ)句1else語(yǔ)句2(2)if…else基本形式【例2.12】用if…else語(yǔ)句判斷考試結(jié)果。練習(xí):【例2.13】用if…else語(yǔ)句判斷輸入的數(shù)據(jù)是否為0。【例2.14】用if…else語(yǔ)句判斷輸入的兩個(gè)數(shù)據(jù)是否有0。任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題說(shuō)明:注意if與else的配對(duì)關(guān)系。else總是與它上面最近的未配對(duì)的if配對(duì)。1、if語(yǔ)句的3種形式

2.3.1if語(yǔ)句及應(yīng)用(3)if…else嵌套形式——用于解決多分支問(wèn)題任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題

虛線左側(cè)的嵌套結(jié)構(gòu),還可寫成虛線右側(cè)的更加緊湊的形式。1、if語(yǔ)句的3種形式

2.3.1if語(yǔ)句及應(yīng)用(3)if…else嵌套形式——用于解決多分支問(wèn)題任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題【例2.15】根據(jù)符號(hào)函數(shù),編程實(shí)現(xiàn)輸入一個(gè)x值,輸出y值。#include<stdio.h>intmain(void){ intx,y; printf("請(qǐng)輸入x的值:"); scanf("%d",&x); printf("x=%d,y=%d\n",x,y);}if(x<0) y=-1;else

if(x==0)y=0;

elsey=1;if(x<0) y=-1;else

if(x==0)y=0;elsey=1;1、if語(yǔ)句的3種形式

2.3.1if語(yǔ)句及應(yīng)用(3)if…else嵌套形式——用于解決多分支問(wèn)題任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題2、條件運(yùn)算符(三目運(yùn)算符?:)和條件表達(dá)式2.3.1if語(yǔ)句及應(yīng)用條件表達(dá)式的一般形式:表達(dá)式1?表達(dá)式2:

表達(dá)式3條件表達(dá)式通常用于賦值語(yǔ)句之中。可寫為:max=(a>b)?a:b;例如:if(a>b)max=a; elsemax=b;

(2)條件運(yùn)算符的結(jié)合方向是自右至左。

a>b?a:c>d?c:d

等價(jià)于a>b?a:(c>d?c:d)

(1)條件運(yùn)算符的運(yùn)算優(yōu)先級(jí)低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符,但高于賦值運(yùn)算符。因此,max=(a>b)?a:b等價(jià)于max=a>b?a:b說(shuō)明:任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題#include<stdio.h>intmain(void){ inta,b,max; printf("請(qǐng)輸入兩個(gè)整數(shù):"); scanf("%d%d",&a,&b);

max=a>b?a:b; printf("max=%d\n",max);}2.3.1if語(yǔ)句及應(yīng)用2、條件運(yùn)算符和條件表達(dá)式【例2.16】利用條件運(yùn)算符求兩數(shù)的最大值。練習(xí):用條件運(yùn)算符實(shí)現(xiàn)——輸入兩個(gè)整數(shù),輸出它們的差值(絕對(duì)值)。任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題#include<stdio.h>intmain(void){ inta,b,t; printf("請(qǐng)輸入兩個(gè)整數(shù):"); scanf("%d%d",&a,&b); if(a<b) { t=a;a=b;b=t; } printf("由大到小:%d,%d\n",a,b);}【例2.17】輸入兩個(gè)整數(shù),要求按由大到小的順序輸出。3、if語(yǔ)句應(yīng)用

2.3.1if語(yǔ)句及應(yīng)用任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題#include<stdio.h>intmain(void){ inta,b,c,t; printf("請(qǐng)輸入三個(gè)整數(shù):"); scanf("%d%d%d",&a,&b,&c); if(a<b) {t=a;a=b;b=t; } if(a<c) {t=a;a=c;c=t; } if(b<c) {t=b;b=c;c=t; } printf("由大到小:%d,%d,%d\n",a,b,c);}【拓展】輸入3個(gè)整數(shù),要求按由大到小的順序輸出

。3個(gè)數(shù)進(jìn)行比較時(shí),實(shí)際上需要比較兩輪:第1輪,選出三個(gè)數(shù)中最大的數(shù),賦給變量a;第2輪,在剩余的兩個(gè)數(shù)中選出最大的數(shù),賦給變量b;最后剩下的數(shù)最小,賦給變量c。

對(duì)多個(gè)數(shù)進(jìn)行排序時(shí),仍可采用“選擇法”。

3、if語(yǔ)句應(yīng)用

2.3.1if語(yǔ)句及應(yīng)用【思考與實(shí)驗(yàn)】

1)輸入2個(gè)整數(shù),輸出較大值和較小值。2)輸入4個(gè)整數(shù),要求按由小到大的順序輸出。任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題

4個(gè)開(kāi)關(guān)SW1、SW2、SW3、SW4的狀態(tài)分別由LIGHT1、LIGHT2、LIGHT3、LIGHT4燈指示。如:開(kāi)關(guān)SW1閉合,LIGHT1燈亮;SW1斷開(kāi),LIGHT1燈滅。【例2.18】嵌入式應(yīng)用:微控制器MCU實(shí)現(xiàn)多路開(kāi)關(guān)狀態(tài)指示功能。3、if語(yǔ)句應(yīng)用

2.3.1if語(yǔ)句及應(yīng)用任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題【例2.19】根據(jù)輸入的課程成績(jī)(整數(shù)),判斷并輸出對(duì)應(yīng)的等級(jí)。

輸入成績(jī)與輸出結(jié)果:90~100,優(yōu)秀;80~89,良好;70~79,中等;60~69,及格;0~59,不及格;其他值,輸入有誤!if(score>=90&&score<=100)printf("優(yōu)秀\n");elseif(score>=80&&score<90) printf("良好\n");elseif(score>=70&&score<80)printf("中等\n");elseif(score>=60&&score<70)printf("及格\n");elseif(score>=0&&score<60)printf("不及格\n");else

printf("輸入有誤\n");3、if語(yǔ)句應(yīng)用

2.3.1if語(yǔ)句及應(yīng)用任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題2.3.2switch語(yǔ)句及應(yīng)用

處理多分支選擇問(wèn)題時(shí),可采用if…else嵌套形式,還可采用switch語(yǔ)句。

switch語(yǔ)句的一般形式:

當(dāng)switch括號(hào)內(nèi)“表達(dá)式”的值與某個(gè)case后面“常量表達(dá)式”的值相等時(shí),即執(zhí)行該行對(duì)應(yīng)的語(yǔ)句,后面的break語(yǔ)句可用來(lái)終止switch語(yǔ)句的執(zhí)行。若switch括號(hào)內(nèi)“表達(dá)式”的值與所有case后面的“常量表達(dá)式”均不相等時(shí),則執(zhí)行default后面的語(yǔ)句。(2)case后面的表達(dá)式必須是常量表達(dá)式,不能是變量;說(shuō)明:(1)switch括號(hào)內(nèi)的“表達(dá)式”,其值的類型應(yīng)為整型或字符型;(6)帶有[]的部分為可選部分。(3)每一個(gè)case后面的常量表達(dá)式必須互不相同;(4)多個(gè)case可以共用一組執(zhí)行語(yǔ)句;(5)在case后面,允許有多個(gè)語(yǔ)句,可以不用{}括起來(lái);任務(wù)2.3利用選擇結(jié)構(gòu)程序解決實(shí)際問(wèn)題【例2.20】用switch語(yǔ)句實(shí)現(xiàn):根據(jù)輸入的課程成績(jī)(整數(shù)),判斷并輸出對(duì)應(yīng)的等級(jí)。

輸入成績(jī)與輸出結(jié)果:90~100,優(yōu)秀80~89,良好70~79,中等60~69,及格0~59,不及格其他值,輸入有誤!#include<stdio.h>intmain(void){intscore;printf("請(qǐng)輸入課程成績(jī)(整數(shù)):");scanf("%d",&score);if(score>100||score<0)

printf("輸入錯(cuò)誤!\n");else

switch(score/10){ case10:case9:printf("優(yōu)秀!\n");

break;case8:printf("良好!\n");

break;case7:printf("中等!\n");

break;case6:printf("及格!\n");

break;default:printf("不及格!\n");}}2.3.2switch語(yǔ)句及應(yīng)用思考:(1)能否用swtich解決多分支選擇結(jié)構(gòu)問(wèn)題,關(guān)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論