版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中考沖刺個(gè)人決心書(shū)
- 中秋晚會(huì)來(lái)賓致辭范文(10篇)
- 中學(xué)生競(jìng)選班長(zhǎng)演講稿
- 中班家訪小結(jié)
- 密度應(yīng)用課件教學(xué)課件
- 2025年高考語(yǔ)文復(fù)習(xí)知識(shí)清單第十章作文專(zhuān)題10議論文寫(xiě)作課內(nèi)素材積累(學(xué)生版+解析)
- 渝長(zhǎng)一標(biāo)段動(dòng)火作業(yè)方案
- 超聲霧化課件教學(xué)課件
- 三年級(jí)數(shù)學(xué)計(jì)算題專(zhuān)項(xiàng)練習(xí)匯編及答案集錦
- 維修保證金協(xié)議書(shū)(2篇)
- 上海市2024-2025學(xué)年高一上學(xué)期期中數(shù)學(xué)試題(無(wú)答案)
- 山東省臨沂市莒南縣2024-2025學(xué)年九年級(jí)上學(xué)期11月期中道德與法治試題(含答案)
- 美國(guó)反無(wú)人機(jī)系統(tǒng)未來(lái)趨勢(shì)報(bào)告 THE U.S. COUNTER-UNMANNED AERIAL SYSTEMS MARKET REPORT 2024-2029
- 2024-2030年國(guó)內(nèi)不銹鋼行業(yè)市場(chǎng)發(fā)展分析及發(fā)展前景與投資機(jī)會(huì)研究報(bào)告
- 生氣王子課程設(shè)計(jì)
- 讓男方還房貸的協(xié)議書(shū)范文范本
- 2024-2030年全球家庭儲(chǔ)能市場(chǎng)運(yùn)行剖析及發(fā)展現(xiàn)狀調(diào)研研究報(bào)告
- 2024招商銀行校園招聘高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 經(jīng)濟(jì)師考試人力資源管理高級(jí)經(jīng)濟(jì)實(shí)務(wù)試卷及解答參考(2025年)
- 體育二年級(jí)上冊(cè) 安全地進(jìn)行游戲(教案)
- 蘇教版六年級(jí)上冊(cè)數(shù)學(xué)期中考試試題帶答案
評(píng)論
0/150
提交評(píng)論