




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章分支語(yǔ)句4.1if結(jié)構(gòu)功能:當(dāng)表達(dá)式值非0時(shí),執(zhí)行語(yǔ)句體A,否則不執(zhí)行語(yǔ)句體A.形式1
if(表達(dá)式)語(yǔ)句體A4.1.1
if語(yǔ)句例如:if(x>y)
{x=x%2;
printf("%d",x);
}其流程圖:表達(dá)式語(yǔ)句體A=00形式
if(表達(dá)式)功能: 表達(dá)式為非0(真),執(zhí)行語(yǔ)句體A
表達(dá)式為0(假),執(zhí)行語(yǔ)句體Belse語(yǔ)句體B語(yǔ)句體A4.1.2
if~else語(yǔ)句例:if(x>y) printf("%d",x); else
printf("%d",y);0=0語(yǔ)句體A語(yǔ)句體B表達(dá)式形式
if(表達(dá)式1)elseif(表達(dá)式2)elseif(表達(dá)式3)……elseif(表達(dá)式n)else語(yǔ)句體1語(yǔ)句體2語(yǔ)句體3語(yǔ)句體n語(yǔ)句體n+14.1.3
if語(yǔ)句的嵌套條件2語(yǔ)句體1語(yǔ)句體2語(yǔ)句體3語(yǔ)句體n語(yǔ)句n+1……=00條件1條件n條件3=0=0=0=0000流程:如:if(3)prinf("o.k");if('a')…1.表達(dá)式可以是邏輯、關(guān)系,甚至是算術(shù)表達(dá)式2.語(yǔ)句必須以分號(hào)結(jié)束3.若語(yǔ)句不止一條,則必須用{}括起來(lái)。在{}外可以不用分號(hào)二、注意的問(wèn)題4.else與最近的if配對(duì).#include<stdio.h>
main()
{floata,b,t;printf("pleaseinput2number:");scanf("%f,%f",&a,&b);
if(a>b)
{t=a;a=b;b=t;}
printf("%5.2f,%5.2f",a,b);
}例1輸入兩個(gè)實(shí)數(shù),按照數(shù)值由小到大次序輸出這兩個(gè)數(shù)。pleaseinput2number:3.6,–3.2–3.20,3.60運(yùn)行情況如下:例2輸入三個(gè)數(shù),按大小順序輸出。#include<stdio.h>
main()
{floata,b,c,t;
printf("pleaseinput3number:");scanf("%f,%f,%f",&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("%5.2f,%5.2f,%5.2f",a,b,c);
}運(yùn)行情況如下:pleaseinput3number:3,7,1
1.00,3.00,7.00例3
有一函數(shù):y=–1(x<0)0(x=0)1(x>0)編一程序,輸入一個(gè)x值,輸出y值。有以下幾種寫法,請(qǐng)判斷哪些是正確的?程序2:將程序1的if語(yǔ)句改為:
#include<stdio.h>
main()
{intx,y;
printf("pleaseinputanumber:");scanf("%d",&x);
if(x>=0)
if(x>0)
y=1;
else
y=0;
else
y=-1;
printf("x=%d,y=%d\n",x,y);
}程序1:
#include<stdio.h>
main()
{intx,y;
printf("pleaseinputanumber:");scanf("%d",&x);
if(x<0)
y=–1;
elseif(x==0)
y=0;
else
y=1;
printf("x=%d,y=%d\n",x,y);
}程序4:將程序1的if語(yǔ)句改為:#include<stdio.h>main(){intx,y;printf("pleaseinputanumber:");scanf("%d",&x);
y=0;if(x>=0)if(x>0)y=1;elsey=-1;printf("x=%d,y=%d\n",x,y);}
程序3:將程序1的if語(yǔ)句改為:#include<stdio.h>main(){intx,y;printf("pleaseinputanumber:");scanf("%d",&x);
y=-1;if(x!=0)if(x>0)y=1;elsey=0;printf("x=%d,y=%d\n",x,y);}1.程序1和程序2是正確的。
它們代表的函數(shù)為:2.程序3和程序4是錯(cuò)誤的。
它們代表的函數(shù)為:y=0(x<0)–1(x=0)1(x>0)y=–1(x<0)0(x=0)1(x>0)結(jié)論:思考練習(xí):分別畫出每個(gè)程序的流程圖4.2switch語(yǔ)句用if或if/else或它們的嵌套也可使程序?qū)崿F(xiàn)多路分支,但容易出現(xiàn)下面的問(wèn)題:(1)可讀性差(2)破壞結(jié)構(gòu)解決問(wèn)題的方法:采用switch語(yǔ)句。switch(變量){
case常量表達(dá)式1:語(yǔ)句體1
case常量表達(dá)式2:語(yǔ)句體2
case常量表達(dá)式n:語(yǔ)句體ndefault:語(yǔ)句體(n+1)}一般形式:(1)
根據(jù)表達(dá)式的取值,判斷其與哪一個(gè)常量表達(dá)式相等。如=表達(dá)式i,則自語(yǔ)句i開(kāi)始執(zhí)行,直到語(yǔ)句n+1止。(2)若與所有常量表達(dá)式值不相等,則從default后的語(yǔ)句開(kāi)始執(zhí)行。功能:注:default可有可無(wú)。例:
根據(jù)成績(jī)等級(jí)打印百分?jǐn)?shù)段.switch(grade){case'A':printf("85~100\n");case'B':printf("70~84\n");case'C':printf("60~69\n");case'D':printf("<60\n");default:printf("error\n");}程序如下:#include<stdio.h>main(){chargrade;printf("pleaseinputacharacter:");scanf("%c",&grade);switch(grade) {case'A':printf("85-100\n"); case'B':printf("70-84\n"); case'C':printf("60-69\n"); case'D':printf("<60\n"); default:printf("Error\n");}}運(yùn)行結(jié)果為:A程序運(yùn)行結(jié)果不在預(yù)料之中!產(chǎn)生錯(cuò)誤的原因:
沒(méi)有完全起到分支作用。85-10070-8460-69<60Errorswitch(表達(dá)式)
{case常表1:語(yǔ)句1;
break;
case常表2:
語(yǔ)句2;
break;
……
case常表n:語(yǔ)句n;
break;
default:語(yǔ)句n+1;
}一般形式為:解決辦法:
增加break語(yǔ)句,使之跳出switch結(jié)構(gòu)。1.常量表達(dá)式的值必須互不相等,否則會(huì)有二異性。2.case順序無(wú)關(guān)緊要。3.不一定非用break不可,有時(shí)幾種情況合并執(zhí)行一組語(yǔ)句。注意:switch(grade){case'A':case'B':case'C':
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學(xué)工作參考總結(jié)高三語(yǔ)文教師期末個(gè)人參考總結(jié)
- 篷布遮陽(yáng)篷在商業(yè)建筑的裝飾效果考核試卷
- 五年級(jí)下冊(cè)各單元好詞好句盤點(diǎn)
- 5-16一般同步時(shí)序電路的設(shè)計(jì)1-原始狀態(tài)轉(zhuǎn)移表的建立
- 北京市西城區(qū)北京師范大學(xué)附屬實(shí)驗(yàn)中22024?2025學(xué)年學(xué)高一下學(xué)期階段測(cè)試一(3月) 數(shù)學(xué)試題(含解析)
- 晉城職業(yè)技術(shù)學(xué)院《誤差理論與測(cè)量平差基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 天津鐵道職業(yè)技術(shù)學(xué)院《風(fēng)景園林專業(yè)導(dǎo)論課》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林省長(zhǎng)春市汽開(kāi)區(qū)達(dá)標(biāo)名校2025屆重點(diǎn)高中聯(lián)盟領(lǐng)軍考試4月初三化學(xué)試題(文)試題含解析
- 天津大學(xué)《大學(xué)生創(chuàng)新創(chuàng)業(yè)與就業(yè)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉林醫(yī)藥學(xué)院《現(xiàn)代公司理論與實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 小學(xué)生金融知識(shí)普及課件
- 七年級(jí)下冊(cè)《青春之光》課件
- 集體備課培訓(xùn)講座
- 上海市閔行區(qū)2024-2025學(xué)年高三下學(xué)期二模地理試題(含答案)
- 2025-2030中國(guó)橡膠粉改性瀝青行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 危廢處置方案
- 2025年化學(xué)檢驗(yàn)工職業(yè)技能競(jìng)賽參考試題庫(kù)(共500題)
- 兒童暴發(fā)性心肌炎診治專家建議(2025)解讀課件
- 農(nóng)村合作社農(nóng)業(yè)產(chǎn)品供應(yīng)合同
- 中國(guó)鍍錫銅絲行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告(2024-2030)
- GB/T 320-2025工業(yè)用合成鹽酸
評(píng)論
0/150
提交評(píng)論