C語(yǔ)言程序設(shè)計(jì)課件:分支結(jié)構(gòu)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)課件:分支結(jié)構(gòu)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)課件:分支結(jié)構(gòu)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)課件:分支結(jié)構(gòu)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)課件:分支結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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)介

C語(yǔ)言程序設(shè)計(jì)

分支結(jié)構(gòu)5.1if語(yǔ)句5.1.1if語(yǔ)句格式 5.1.2if語(yǔ)句的嵌套5.2Switch語(yǔ)句

5.3分支結(jié)構(gòu)應(yīng)用 5.1if語(yǔ)句用if語(yǔ)句可以構(gòu)成分支結(jié)構(gòu)。它根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段。C語(yǔ)言的if語(yǔ)句有三種基本形式。5.1.1if語(yǔ)句格式1.基本形式if語(yǔ)句的一般格式如下:if(表達(dá)式)語(yǔ)句;其語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行其后的語(yǔ)句,否則不執(zhí)行該語(yǔ)句。例5-1使用if語(yǔ)句計(jì)算|a-b|。#include<stdio.h>voidmain()

{inta,b,c=0;printf(“輸入a和b的值,用逗號(hào)分隔:”);

scanf(″%d,%d″,&a,&b);

if(a>b)c=a-b;

if(a<b)c=b-a;printf(“a-b的絕對(duì)值:%d\n”,c);

}

運(yùn)行結(jié)果:10,5↙

a-b的絕對(duì)值:5例5-1使用if語(yǔ)句計(jì)算|a-b|。#include<stdio.h>voidmain()

{inta,b,c=0;printf(“輸入a和b的值,用逗號(hào)分隔:”);

scanf(″%d,%d″,&a,&b);

if(a>b)c=a-b;

if(a<b)c=b-a;printf(“a-b的絕對(duì)值:%d\n”,c);

}運(yùn)行結(jié)果:輸入a和b的值,用逗號(hào)分隔:10,5↙a-b的絕對(duì)值:52.if-else形式

if(表達(dá)式)語(yǔ)句1;

else語(yǔ)句2;

其語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2。例5-2對(duì)例5-1的改寫(xiě),方法二,用if~else語(yǔ)句實(shí)現(xiàn)。#include<stdio.h>voidmain()

{inta,b,c=0;printf(“輸入a和b的值,用逗號(hào)分隔:”);

scanf(″%d,%d″,&a,&b);

if(a>b)c=a-b;

elsec=b-a;printf(“a-b的絕對(duì)值:%d\n”,c);

}運(yùn)行結(jié)果:

輸入a和b的值,用逗號(hào)分隔:10,5↙a-b的絕對(duì)值:5if-else-if形式

有多個(gè)分支時(shí),可采用if-else-if語(yǔ)句。

一般形式為:if(表達(dá)式1)語(yǔ)句1;

elseif(表達(dá)式2)語(yǔ)句2;

elseif(表達(dá)式3)語(yǔ)句3;

elseif(表達(dá)式n)語(yǔ)句n;

else語(yǔ)句n+1;

依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為真時(shí),則執(zhí)行其對(duì)應(yīng)的語(yǔ)句。然后跳到整個(gè)if語(yǔ)句之外繼續(xù)執(zhí)行程序。如果所有的表達(dá)式均為假,則執(zhí)行語(yǔ)句n。例5-4編程實(shí)現(xiàn)輸入某人出生年份,輸出此人是“幾零后”。#include<stdio.h>voidmain(){intyear;printf("請(qǐng)輸入你的出生年份:");scanf(“%d”,&year);if(year<1980)printf("你已過(guò)不惑之年了!\n");elseif(year<1990)printf("你是80后!\n");elseif(year<2000)printf("你是90后!\n");elseif(year<2010)printf("你是00后!\n");elseprintf("你是00后!\n");}運(yùn)行結(jié)果:請(qǐng)輸入你的出生年份:1993你是90后!請(qǐng)輸入你的出生年份:2002你是00后!5.1.2if語(yǔ)句的嵌套

其一般形式可表示如下:

if(表達(dá)式)if語(yǔ)句;

或:if(表達(dá)式)if語(yǔ)句;elseif語(yǔ)句;

在嵌套內(nèi)的if語(yǔ)句可能又是if-else型的,這將會(huì)出現(xiàn)多個(gè)if和多個(gè)else重疊的情況,else總是與它前面最近的同層沒(méi)有匹配的if配對(duì)。5.1.2if語(yǔ)句的嵌套

例5-5用if語(yǔ)句的嵌套對(duì)例5-4進(jìn)行改寫(xiě)。

#include<stdio.h>voidmain(){intyear;printf("請(qǐng)輸入你的出生年份:");scanf(“%d”,&year);if(year<1990)if(year>=1980)printf("你是80后!\n");elseprintf("你已過(guò)不惑之年了!\n");elseif(year<2000)printf("你是90后!\n");elseif(year<2010)printf("你是00后!\n");elseprintf("你是10后!\n");}5.2Switch語(yǔ)句 switch語(yǔ)句的一般形式如下:switch(表達(dá)式){

case常量表達(dá)式1:語(yǔ)句1;break;

case常量表達(dá)式2:語(yǔ)句2;break;

case常量表達(dá)式n:語(yǔ)句n;break;

default:語(yǔ)句n+1;break;}關(guān)于switch語(yǔ)句的幾點(diǎn)說(shuō)明。(1)switch后的表達(dá)式可以是任何表達(dá)式,其值必須為整型,或字符型,或枚舉型。(2)每個(gè)case后面的常量表達(dá)式的值必須互不相同,否則就會(huì)出現(xiàn)互相矛盾的現(xiàn)象。(3)各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。(4)可以讓多個(gè)case共用一組執(zhí)行語(yǔ)句。

(5)switch語(yǔ)句允許嵌套使用。表達(dá)式的值=常量表達(dá)式2的值表達(dá)式語(yǔ)句1語(yǔ)句2語(yǔ)句n語(yǔ)句n+1表達(dá)式的值=常量表達(dá)式1的值表達(dá)式的值=常量表達(dá)式n的值其他breakbreakbreakbreakswitch多分支結(jié)構(gòu)執(zhí)行流程圖例5-7要求輸入一個(gè)數(shù)字,輸出一個(gè)對(duì)應(yīng)的英文星期幾。#include<stdio.h>voidmain(){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a){case1:printf("Monday\n");break;case2:printf("Tuesday\n");break;case3:printf("Wednesday\n");break;case4:printf("Thursday\n");break;case5:printf("Friday\n");break;case6:printf("Saturday\n");break;case7:printf("Sunday\n");break;default:printf("error\n");}}運(yùn)行結(jié)果:inputintegernumber:3↙Wednesday5.3分支結(jié)構(gòu)應(yīng)用例5-8判別鍵盤(pán)輸入字符的類(lèi)別。程序如下:#include"stdio.h"voidmain(){charc;printf("inputacharacter:");c=getchar();if(c<32)printf("Thisisacontrolcharacter\n");elseif(c>='0'&&c<='9')printf("Thisisadigit\n");elseif(c>='A'&&c<='Z')printf("Thisisacapitalletter\n");elseif(c>='a'&&c<='z')printf("Thisisasmallletter\n");elseprintf("Thisisanothercharacter\n");}

本章小結(jié)

溫馨提示

  • 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)論