C語言程序設(shè)計(jì)(第四版)(微課版)ch04 選擇結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
C語言程序設(shè)計(jì)(第四版)(微課版)ch04 選擇結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
C語言程序設(shè)計(jì)(第四版)(微課版)ch04 選擇結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
C語言程序設(shè)計(jì)(第四版)(微課版)ch04 選擇結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
C語言程序設(shè)計(jì)(第四版)(微課版)ch04 選擇結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

4.1選擇結(jié)構(gòu)程序概述4.2if語句4.3switch語句選擇結(jié)構(gòu)單分支雙分支if(表達(dá)式)語句多分支if(表達(dá)式)語句1else語句2if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2……else語句nif語句的嵌套switch語句4.1.1簡(jiǎn)單if語句1.語法格式

if(條件)語句2.說明(1)執(zhí)行過程:

當(dāng)條件為“真”時(shí),執(zhí)行語句;為“假”時(shí),跳過語句,而直接執(zhí)行整個(gè)if語句后的其它語句。(2)條件中的結(jié)果為邏輯值。(3)語句如果有多條語句,要用一對(duì)花括號(hào)“{}”將其括起來,成為一個(gè)復(fù)合語句。例4.1#include<stdio.h>main(){ floatx,y; printf("請(qǐng)輸入數(shù)據(jù):\n"); scanf("%f",&x); y=x;/*初始化y值*/

if(x<0)y=-x*x; printf("f(%.2f)=%.2f",x,y);}例4.2#include<stdio.h>main(){ floata,b,temp; scanf("%f%f",&a,&b);

if(a>b) { temp=a;/*三條語句,實(shí)現(xiàn)a、b變量值交換*/ a=b; b=temp; } printf("a=%.2fb=%.2f\n",a,b);}4.1.2if...else語句1.語法格式if(條件)

語句1else語句22.說明(1)執(zhí)行過程:當(dāng)條件為“真”時(shí),執(zhí)行語句1;為“假”時(shí),執(zhí)行語句2。(2)語句1和語句2都可為復(fù)合語句。例4.3#include<stdio.h>main(){ floatweight,pay; printf("請(qǐng)輸入重量\n"); scanf("%f",&weight);

if(weight<=50) pay=weight*0.35; else pay=50*0.35+(weight-50)*0.5; printf("pay=%.2f",pay);}比較a、b兩個(gè)數(shù)的大小,將較大數(shù)賦給max。 inta,b,max;a=1;b=2;

if(a>b) max=a; else max=b; printf("%d",max);嵌套if...else語句在一個(gè)if...else語句中又包含一個(gè)或多個(gè)if...else語句時(shí),稱為嵌套if...else語句。在C語言中允許多層嵌套。例4.4使用嵌套if語句來選出三個(gè)數(shù)字中最大的數(shù),然后再顯示它#include<stdio.h>main(){ floata,b,c; printf(“Enterthreevalues\n”); scanf(“%f%f%f”,&a,&b,&c); printf(“\nLargestvaluesis”); if(a>b) { if(a>c) printf(“%f\n”,a); else printf(“%f\n”,c); } else { if(c>b) printf(“%f\n”,c); else printf(“%f\n”,b); }}4.1.4階梯式if...else語句利用階梯式if...else可解決多分支的問題。其一般形式如下:if(條件表達(dá)式1)語句序列1elseif(條件表達(dá)式2)語句序列2 elseif(條件表達(dá)式3)語句序列3 elseif(條件表達(dá)式4)語句序列4 ...

elseif(條件表達(dá)式n-1)語句序列n-1

else語句序列n

如果沒有任何縮進(jìn),我們應(yīng)準(zhǔn)確判斷出if和else的配對(duì)關(guān)系,在下表中同時(shí)給出了正確的嵌套形式和錯(cuò)誤的嵌套形式,結(jié)果是不同。在C語言中,一個(gè)else語句總是與最近的未終止的if匹配。原型嵌套:正確理解嵌套:錯(cuò)誤理解m=0;

if(a<b)

if(a<c)

m=10;

else

m=20;

printf("m=%d",m);m=0;

if(a<b)

{if(a<c)

m=10;

else

m=20;

}printf("m=%d",m);m=0;

if(a<b)

{if(a<c)

m=10;}

else

m=20;

printf("m=%d",m);當(dāng)a=2;b=1;c=3;時(shí),結(jié)果:m=0當(dāng)a=2;b=1;c=3;時(shí),結(jié)果:m=0當(dāng)a=2;b=1;c=3;時(shí),結(jié)果:m=20當(dāng)a=2;b=3;c=1;時(shí),結(jié)果:m=20當(dāng)a=2;b=3;c=1;時(shí),結(jié)果:m=20當(dāng)a=2;b=3;c=1;時(shí),結(jié)果:m=0當(dāng)a=1;b=2;c=3;時(shí),結(jié)果:m=10當(dāng)a=1;b=2;c=3;時(shí),結(jié)果:m=10當(dāng)a=1;b=2;c=3;時(shí),結(jié)果:m=104.2switch語句1.語法格式switch(表達(dá)式){case常量表達(dá)式1:[語句序列1];[break;]case常量表達(dá)式2:[語句序列2];[break;]…case常量表達(dá)式n:[語句序列n];[break;][default:語句序列]}2.執(zhí)行流程例4.5根據(jù)輸入的數(shù)據(jù)判斷星期幾,然后再顯示它#include<stdio.h>main(){ inta; printf("inputintegernumber:\n"); scanf("%d",&a); switch(a) { case1:printf("Monday\n"); case2:printf("Tudsdtay\n"); case3:printf("Wednesday\n"); case4:printf("Thursday\n"); case5:printf("Friday\n"); case6:printf("Saturday\n"); case7:printf("Sunday\n"); default:printf("error!\n"); }}運(yùn)行結(jié)果:inputintegernumber:

3↙WednesdayThursdayFridaySaturdaySundayerror!3case3:printf("Wednesday\n");case4:printf("Thursday\n");case5:printf("Friday\n");case6:printf("Saturday\n");case7:printf("Sunday\n");default:printf("error!\n");例4.5根據(jù)輸入的數(shù)據(jù)判斷星期幾,然后再顯示它#include<stdio.h>main(){ inta; printf("inputintegernumber:\n"); scanf("%d",&a); switch(a) { case1:printf("Monday\n");break; case2:printf("Tudsdtay\n");break; case3:printf("Wednesday\n");break; case4:printf("Thursday\n");break; case5:printf("Friday\n");break

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論