![C程序基本結(jié)構(gòu)與流程課件_第1頁(yè)](http://file4.renrendoc.com/view/01293b2922a24e57727c69ca06762fc1/01293b2922a24e57727c69ca06762fc11.gif)
![C程序基本結(jié)構(gòu)與流程課件_第2頁(yè)](http://file4.renrendoc.com/view/01293b2922a24e57727c69ca06762fc1/01293b2922a24e57727c69ca06762fc12.gif)
![C程序基本結(jié)構(gòu)與流程課件_第3頁(yè)](http://file4.renrendoc.com/view/01293b2922a24e57727c69ca06762fc1/01293b2922a24e57727c69ca06762fc13.gif)
![C程序基本結(jié)構(gòu)與流程課件_第4頁(yè)](http://file4.renrendoc.com/view/01293b2922a24e57727c69ca06762fc1/01293b2922a24e57727c69ca06762fc14.gif)
![C程序基本結(jié)構(gòu)與流程課件_第5頁(yè)](http://file4.renrendoc.com/view/01293b2922a24e57727c69ca06762fc1/01293b2922a24e57727c69ca06762fc15.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章C程序流程設(shè)計(jì)C語(yǔ)句概述程序的三種基本結(jié)構(gòu)
選擇型程序設(shè)計(jì)
循環(huán)型程序設(shè)計(jì)
輔助控制語(yǔ)句第四章C程序流程設(shè)計(jì)C語(yǔ)句概述程序的三種基本結(jié)構(gòu)
選擇型14.1C語(yǔ)句概述
C語(yǔ)句:以“;”作分隔符,編譯后產(chǎn)生機(jī)器指令.C語(yǔ)句分類(lèi)表達(dá)式語(yǔ)句:表達(dá)式加分號(hào)構(gòu)成。(包括函數(shù)調(diào)用語(yǔ)句)空語(yǔ)句:;程序控制語(yǔ)句(9種):if()~else~switchfor()~while()~do~while()continuebreakgotoreturn分支循環(huán)輔助控制如total=total+limit;a=3;func();printf(“Hello,world!\n”);4.1C語(yǔ)句概述
C語(yǔ)句:以“;”作分隔符,編譯后產(chǎn)生機(jī)器2:用{…}括起來(lái)的一組語(yǔ)句一般形式:
{[數(shù)據(jù)說(shuō)明部分;]執(zhí)行語(yǔ)句部分;}說(shuō)明:“}”后不加分號(hào)語(yǔ)法上和單一語(yǔ)句相同復(fù)合語(yǔ)句可嵌套復(fù)合語(yǔ)句:用{…}括起來(lái)3結(jié)構(gòu)化程序設(shè)計(jì)基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無(wú)條件轉(zhuǎn)移語(yǔ)句(goto)結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序叫~優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率三種基本結(jié)構(gòu)順序結(jié)構(gòu)ABAB流程圖N-S圖4.2程序的三種基本結(jié)構(gòu)
結(jié)構(gòu)化程序設(shè)計(jì)ABAB流程圖N-S圖4.2程序的三種基本結(jié)4PAB真假PBA真假kA1A2AiAnk=k2k=k1k=knk=ki......二分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)選擇結(jié)構(gòu)PAB真假PBA真假kA1A2AiAnk=k2k=k1k=k5當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)PA假真當(dāng)P為真AAP真假A直到P為真注:A,B,A1….An可以是一個(gè)簡(jiǎn)單語(yǔ)句,也可以是一個(gè)基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)
當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)PA假真當(dāng)P為真AAP真假A直到P6if語(yǔ)句(條件選擇語(yǔ)句)if語(yǔ)句的三種形式形式一:格式:if(expression)statement執(zhí)行過(guò)程:exprstatement非0=0例:if(x>y)printf(“%d”,x);exprstatement1statement2非0=0形式二:格式:if(expression)statement1elsestatement2執(zhí)行過(guò)程:例:if(x>y)max=x;elsemax=y;4.3選擇型程序設(shè)計(jì)exprstatement非0=0例:if(x>y)exp7三:格式:if(expr1)statement1elseif(expr2)statement2elseif(expr3)statement3…...[elsestatementn]expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0執(zhí)行過(guò)程:
例:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;選擇型程序設(shè)計(jì)形式三:if(expr1)stat8如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a(chǎn)’)printf(“%d”,’a’);if后面的表達(dá)式類(lèi)型任意語(yǔ)句可以是復(fù)合語(yǔ)句if(x)if(x!=0)if(!x)if(x==0)例考慮下面程序的輸出結(jié)果:#include<stdio.h>main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d\n”,x,y);}CompileError!說(shuō)明:如:if(a==b&&x==y)printf(“a=9:一般形式:if(expr1)if(expr2)statement1elsestatement2elseif(expr3)statement3elsestatement4內(nèi)嵌if內(nèi)嵌ifif(expr1)if(expr2)statement1elsestatement2內(nèi)嵌ifif(expr1)if(expr2)statement1elsestatement3
內(nèi)嵌ifif(expr1)statement1elseif(expr3)statement3elsestatement4內(nèi)嵌ifif語(yǔ)句嵌套:if(expr1)內(nèi)嵌if內(nèi)嵌ifif(expr1)內(nèi)10/*ch4_4.c*/#include<stdio.h>main(){intx,y;printf("Enterintegerx,y:");scanf("%d,%d",&x,&y);
if(x!=y)
if(x>y)printf("X>Y\n");elseprintf("X<Y\n");
elseprintf("X==Y\n");}運(yùn)行:Enterintegerx,y:12,23X<YEnterintegerx,y:12,6X>YEnterintegerx,y:12,12X==Y例輸入兩數(shù)并判斷其大小關(guān)系/*ch4_4.c*/運(yùn)行:Enterinteger11缺省{}時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)if(……)if(……)if(……)else…...else…...else…...if~else配對(duì)原則:缺省{}時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)12例:if(a==b)if(b==c)printf(“a==b==c”);elseprintf(“a!=b”);修改:if(a==b)
{if(b==c)printf(“a==b==c”);
}elseprintf(“a!=b”);實(shí)現(xiàn)if~else正確配對(duì)方法:加{}例:if(a==b)修改:if(a==b)實(shí)現(xiàn)if13一般形式:執(zhí)行過(guò)程:switch表達(dá)式語(yǔ)句組1語(yǔ)句組2語(yǔ)句組n語(yǔ)句組…...E1E2Endefaultcaseswitch語(yǔ)句(開(kāi)關(guān)分支語(yǔ)句)執(zhí)行過(guò)程:switch表達(dá)式語(yǔ)句組1語(yǔ)句組2語(yǔ)句組n語(yǔ)句組…14switch(表達(dá)式){caseE1: 語(yǔ)句組1;break;caseE2: 語(yǔ)句組2;break;…….caseEn: 語(yǔ)句組n;break;[default: 語(yǔ)句組;break;]}switch(表達(dá)式)15:E1,E2,…En是常量表達(dá)式,且值必須互不相同語(yǔ)句標(biāo)號(hào)作用,必須用break跳出case后可包含多個(gè)可執(zhí)行語(yǔ)句,且不必加{}switch可嵌套多個(gè)case可共用一組執(zhí)行語(yǔ)句如:……case‘A’:case‘B’:case‘C’:printf(“score>60\n”);break;……..說(shuō)明::如:……說(shuō)明:16例switch(score){case5:printf(“Verygood!”);case4:printf(“Good!”);case3:printf(“Pass!”);case2:printf(“Fail!”);default:printf(“dataerror!”);}運(yùn)行結(jié)果:score為5時(shí),輸出:Verygood!Good!Pass!Fail!dataerror!例子(1)例switch(score)運(yùn)行結(jié)果:score為517/*ch4_5.c*/#include<stdio.h>intmain(){intc;printf("Entermornorhorother:");c=getchar();switch(c){case'm':printf("\nGoodmorning!\n");break;case'n':printf("\nGoodnight!\n");break;case'h':printf("\nHello!\n");break;default:printf("\n????????\n");break;}return0;}例子(2)根據(jù)輸入字母輸出字符串/*ch4_5.c*/例子(2)根據(jù)輸入字母輸出字符串18#include<stdio.h>intmain(){ chargrade; grade=getchar(); switch(grade) { case'A':printf("90~100\n");break; case'B':printf("80~89\n");break; case'C':printf("70~79\n");break; case'D':printf("60~69\n");break; case'E':printf("<60\n");break; default:printf("error\n");break; }return0;}#include<stdio.h>intmain(){chargrade;grade=getchar();switch(grade){ case'A': case'B': case'C': case'D':printf(">60\n");break; case'E':printf("<60\n");break; default:printf("error\n");break;return0;}}#include<stdio.h>#include<stdi19輸入一個(gè)年份,判斷是否是閏年#include<stdio.h>intmain(){ intyear; printf(“請(qǐng)輸入一個(gè)年份:"); scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0) { printf(“%d是閏年\n",year); } else printf(“%d不是閏年\n",year);return0;}輸入一個(gè)年份,判斷是否是閏年20概述C語(yǔ)言可實(shí)現(xiàn)循環(huán)的語(yǔ)句:用goto和if構(gòu)成循環(huán)while語(yǔ)句do~while語(yǔ)句for語(yǔ)句goto語(yǔ)句及用goto構(gòu)成循環(huán)goto語(yǔ)句一般格式:goto語(yǔ)句標(biāo)號(hào);….…..標(biāo)號(hào):語(yǔ)句;4.4循環(huán)型程序設(shè)計(jì)goto語(yǔ)句標(biāo)號(hào);4.4循環(huán)21功能:無(wú)條件轉(zhuǎn)移語(yǔ)句說(shuō)明:不能用整數(shù)作標(biāo)號(hào)只能出現(xiàn)在goto所在函數(shù)內(nèi),且唯一只能加在可執(zhí)行語(yǔ)句前面限制使用goto語(yǔ)句4.4循環(huán)型程序設(shè)計(jì)(1)功能:無(wú)條件轉(zhuǎn)移語(yǔ)句4.4循環(huán)型程序設(shè)計(jì)(1)22/*ch5_1.c*/#include<stdio.h>main(){inti,sum=0;i=1;loop:if(i<=100){sum+=i; i++;
gotoloop;}printf("%d",sum);}sum=0+1sum==1+2=3sum=3+3=6sum=6+4……sum=4950+100=5050循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體例用if和goto語(yǔ)句構(gòu)成循環(huán)/*ch5_1.c*/sum=0+1循環(huán)初值循環(huán)終值循環(huán)變量23一般形式:while(表達(dá)式)循環(huán)體語(yǔ)句;執(zhí)行流程:expr循環(huán)體假(0)真(非0)whilewhile語(yǔ)句while(表達(dá)式)執(zhí)行流程:expr循環(huán)體假(0)真(非24特點(diǎn):先判斷表達(dá)式,后執(zhí)行循環(huán)體說(shuō)明:循環(huán)體有可能一次也不執(zhí)行循環(huán)體可為任意類(lèi)型語(yǔ)句下列情況,退出while循環(huán)條件表達(dá)式不成立(為零)循環(huán)體內(nèi)遇break,return,goto無(wú)限循環(huán):while(1)循環(huán)體;While語(yǔ)句特點(diǎn)和說(shuō)明特點(diǎn):先判斷表達(dá)式,后執(zhí)行循環(huán)體While語(yǔ)句特點(diǎn)和說(shuō)明25用while循環(huán)求/*ch5_2.c*/#include<stdio.h>main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體例子用while循環(huán)求/*ch5_2.c*/循環(huán)初值循環(huán)終值循26/*ch5_21.c*/#include<stdio.h>intmain(){inti=1;while(i<=10){printf("%d*%d=%d\n",i,i,i*i);i++;return0;}}運(yùn)行結(jié)果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100例顯示1~10的平方/*ch5_21.c*/運(yùn)行結(jié)果:例顯示1~10的平方27一般形式:do循環(huán)體語(yǔ)句;while(表達(dá)式);執(zhí)行流程:do循環(huán)體expr假(0)真(非0)whiledo~while語(yǔ)句do執(zhí)行流程:do循環(huán)體expr假(0)真(非0)whil28特點(diǎn):先執(zhí)行循環(huán)體,后判斷表達(dá)式說(shuō)明:至少執(zhí)行一次循環(huán)體do~while可轉(zhuǎn)化成while結(jié)構(gòu)expr循環(huán)體假(0)真(非0)循環(huán)體While循環(huán)do~while語(yǔ)句特點(diǎn)和說(shuō)明特點(diǎn):先執(zhí)行循環(huán)體,后判斷表達(dá)式expr循環(huán)體假(0)真(非29一般形式:for([expr1];[expr2];[expr3])循環(huán)體語(yǔ)句;執(zhí)行流程:expr2循環(huán)體假(0)真(非0)forexpr1expr3for語(yǔ)句
一般形式:for([expr1];[expr2];[30:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值){ 循環(huán)體語(yǔ)句;}說(shuō)明:for語(yǔ)句中expr1,expr2,expr3類(lèi)型任意,都可省略,但分號(hào);不可省無(wú)限循環(huán):for(;;)for語(yǔ)句可以轉(zhuǎn)換成while結(jié)構(gòu)expr1;while(expr2){ 循環(huán)體語(yǔ)句; expr3;}for語(yǔ)句一般應(yīng)用形式:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)說(shuō)明:ex31三種循環(huán)可互相嵌套,層數(shù)不限外層循環(huán)可包含兩個(gè)以上內(nèi)循環(huán),但不能相互交叉嵌套循環(huán)的執(zhí)行流程(1)while(){……while(){……}…...}(2)do{……do{……}while();…...}while();(3)while(){……do{……}while();…….}(4)for(;;){……do{……}while();……while(){……}…...}內(nèi)循環(huán)外循環(huán)內(nèi)循環(huán)嵌套循環(huán)的跳轉(zhuǎn)禁止:從外層跳入內(nèi)層跳入同層的另一循環(huán)向上跳轉(zhuǎn)循環(huán)的嵌套
三種循環(huán)可互相嵌套,層數(shù)不限(1)while()(2)32
4.5輔助控制語(yǔ)句break語(yǔ)句功能:在循環(huán)語(yǔ)句和switch語(yǔ)句中,終止并跳出循環(huán)體或開(kāi)關(guān)體說(shuō)明:break只能終止并跳出最近一層的結(jié)構(gòu)break不能用于循環(huán)語(yǔ)句和switch語(yǔ)句之外的任何其它語(yǔ)句之中4.5輔助控制語(yǔ)句334.5輔助控制語(yǔ)句(圖解1)expr……break;……假(0)真(非0)whiledo……break;…...expr假(0)真(非0)while4.5輔助控制語(yǔ)句(圖解1)expr……假(0)真(非0)34expr2……break;…...假(0)真(非0)forexpr1expr3switchexpr語(yǔ)句組1break;語(yǔ)句組2break;語(yǔ)句組nbreak;語(yǔ)句組break;…...const1const2constndefaultcase4.5輔助控制語(yǔ)句(圖解2)expr2……假(0)真(非0)forexpr1expr3s35功能:結(jié)束本次循環(huán),跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,進(jìn)行下一次是否執(zhí)行循環(huán)體的判斷僅用于循環(huán)語(yǔ)句中expr……continue;……假(0)真(非0)while真(非0)do……continue;…...expr假(0)whileexpr2……continue;…...假(0)真(非0)forexpr1expr3continue語(yǔ)句expr……假(0)真(非0)while真(非0)do……e36break語(yǔ)句不僅可以用來(lái)跳出switch語(yǔ)句,還可以用來(lái)跳出循環(huán)體,提前結(jié)束循環(huán)。#include<stdio.h>intmain(){floatpi=3.14159;for(r=1;r<=10;r++){area=pi*r*r;if(area>100)break;printf(“r=%lf,area=%lf\n”,r,area);return0;}}break語(yǔ)句不僅可以用來(lái)跳出switch語(yǔ)句,還可以用來(lái)跳37輸出100~200之間的不能被3整除的數(shù)。#include<stdio.h>intmain(){intn;for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%d”,n);}printf(“\n”);return0;}if(n%3!=0)printf(“%d”,n);輸出100~200之間的不能被3整除的數(shù)。#include<38演講完畢,謝謝觀(guān)看!演講完畢,謝謝觀(guān)看!39第四章C程序流程設(shè)計(jì)C語(yǔ)句概述程序的三種基本結(jié)構(gòu)
選擇型程序設(shè)計(jì)
循環(huán)型程序設(shè)計(jì)
輔助控制語(yǔ)句第四章C程序流程設(shè)計(jì)C語(yǔ)句概述程序的三種基本結(jié)構(gòu)
選擇型404.1C語(yǔ)句概述
C語(yǔ)句:以“;”作分隔符,編譯后產(chǎn)生機(jī)器指令.C語(yǔ)句分類(lèi)表達(dá)式語(yǔ)句:表達(dá)式加分號(hào)構(gòu)成。(包括函數(shù)調(diào)用語(yǔ)句)空語(yǔ)句:;程序控制語(yǔ)句(9種):if()~else~switchfor()~while()~do~while()continuebreakgotoreturn分支循環(huán)輔助控制如total=total+limit;a=3;func();printf(“Hello,world!\n”);4.1C語(yǔ)句概述
C語(yǔ)句:以“;”作分隔符,編譯后產(chǎn)生機(jī)器41:用{…}括起來(lái)的一組語(yǔ)句一般形式:
{[數(shù)據(jù)說(shuō)明部分;]執(zhí)行語(yǔ)句部分;}說(shuō)明:“}”后不加分號(hào)語(yǔ)法上和單一語(yǔ)句相同復(fù)合語(yǔ)句可嵌套復(fù)合語(yǔ)句:用{…}括起來(lái)42結(jié)構(gòu)化程序設(shè)計(jì)基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無(wú)條件轉(zhuǎn)移語(yǔ)句(goto)結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序叫~優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率三種基本結(jié)構(gòu)順序結(jié)構(gòu)ABAB流程圖N-S圖4.2程序的三種基本結(jié)構(gòu)
結(jié)構(gòu)化程序設(shè)計(jì)ABAB流程圖N-S圖4.2程序的三種基本結(jié)43PAB真假PBA真假kA1A2AiAnk=k2k=k1k=knk=ki......二分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)選擇結(jié)構(gòu)PAB真假PBA真假kA1A2AiAnk=k2k=k1k=k44當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)PA假真當(dāng)P為真AAP真假A直到P為真注:A,B,A1….An可以是一個(gè)簡(jiǎn)單語(yǔ)句,也可以是一個(gè)基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)
當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)PA假真當(dāng)P為真AAP真假A直到P45if語(yǔ)句(條件選擇語(yǔ)句)if語(yǔ)句的三種形式形式一:格式:if(expression)statement執(zhí)行過(guò)程:exprstatement非0=0例:if(x>y)printf(“%d”,x);exprstatement1statement2非0=0形式二:格式:if(expression)statement1elsestatement2執(zhí)行過(guò)程:例:if(x>y)max=x;elsemax=y;4.3選擇型程序設(shè)計(jì)exprstatement非0=0例:if(x>y)exp46三:格式:if(expr1)statement1elseif(expr2)statement2elseif(expr3)statement3…...[elsestatementn]expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0執(zhí)行過(guò)程:
例:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;選擇型程序設(shè)計(jì)形式三:if(expr1)stat47如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a(chǎn)’)printf(“%d”,’a’);if后面的表達(dá)式類(lèi)型任意語(yǔ)句可以是復(fù)合語(yǔ)句if(x)if(x!=0)if(!x)if(x==0)例考慮下面程序的輸出結(jié)果:#include<stdio.h>main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d\n”,x,y);}CompileError!說(shuō)明:如:if(a==b&&x==y)printf(“a=48:一般形式:if(expr1)if(expr2)statement1elsestatement2elseif(expr3)statement3elsestatement4內(nèi)嵌if內(nèi)嵌ifif(expr1)if(expr2)statement1elsestatement2內(nèi)嵌ifif(expr1)if(expr2)statement1elsestatement3
內(nèi)嵌ifif(expr1)statement1elseif(expr3)statement3elsestatement4內(nèi)嵌ifif語(yǔ)句嵌套:if(expr1)內(nèi)嵌if內(nèi)嵌ifif(expr1)內(nèi)49/*ch4_4.c*/#include<stdio.h>main(){intx,y;printf("Enterintegerx,y:");scanf("%d,%d",&x,&y);
if(x!=y)
if(x>y)printf("X>Y\n");elseprintf("X<Y\n");
elseprintf("X==Y\n");}運(yùn)行:Enterintegerx,y:12,23X<YEnterintegerx,y:12,6X>YEnterintegerx,y:12,12X==Y例輸入兩數(shù)并判斷其大小關(guān)系/*ch4_4.c*/運(yùn)行:Enterinteger50缺省{}時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)if(……)if(……)if(……)else…...else…...else…...if~else配對(duì)原則:缺省{}時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)51例:if(a==b)if(b==c)printf(“a==b==c”);elseprintf(“a!=b”);修改:if(a==b)
{if(b==c)printf(“a==b==c”);
}elseprintf(“a!=b”);實(shí)現(xiàn)if~else正確配對(duì)方法:加{}例:if(a==b)修改:if(a==b)實(shí)現(xiàn)if52一般形式:執(zhí)行過(guò)程:switch表達(dá)式語(yǔ)句組1語(yǔ)句組2語(yǔ)句組n語(yǔ)句組…...E1E2Endefaultcaseswitch語(yǔ)句(開(kāi)關(guān)分支語(yǔ)句)執(zhí)行過(guò)程:switch表達(dá)式語(yǔ)句組1語(yǔ)句組2語(yǔ)句組n語(yǔ)句組…53switch(表達(dá)式){caseE1: 語(yǔ)句組1;break;caseE2: 語(yǔ)句組2;break;…….caseEn: 語(yǔ)句組n;break;[default: 語(yǔ)句組;break;]}switch(表達(dá)式)54:E1,E2,…En是常量表達(dá)式,且值必須互不相同語(yǔ)句標(biāo)號(hào)作用,必須用break跳出case后可包含多個(gè)可執(zhí)行語(yǔ)句,且不必加{}switch可嵌套多個(gè)case可共用一組執(zhí)行語(yǔ)句如:……case‘A’:case‘B’:case‘C’:printf(“score>60\n”);break;……..說(shuō)明::如:……說(shuō)明:55例switch(score){case5:printf(“Verygood!”);case4:printf(“Good!”);case3:printf(“Pass!”);case2:printf(“Fail!”);default:printf(“dataerror!”);}運(yùn)行結(jié)果:score為5時(shí),輸出:Verygood!Good!Pass!Fail!dataerror!例子(1)例switch(score)運(yùn)行結(jié)果:score為556/*ch4_5.c*/#include<stdio.h>intmain(){intc;printf("Entermornorhorother:");c=getchar();switch(c){case'm':printf("\nGoodmorning!\n");break;case'n':printf("\nGoodnight!\n");break;case'h':printf("\nHello!\n");break;default:printf("\n????????\n");break;}return0;}例子(2)根據(jù)輸入字母輸出字符串/*ch4_5.c*/例子(2)根據(jù)輸入字母輸出字符串57#include<stdio.h>intmain(){ chargrade; grade=getchar(); switch(grade) { case'A':printf("90~100\n");break; case'B':printf("80~89\n");break; case'C':printf("70~79\n");break; case'D':printf("60~69\n");break; case'E':printf("<60\n");break; default:printf("error\n");break; }return0;}#include<stdio.h>intmain(){chargrade;grade=getchar();switch(grade){ case'A': case'B': case'C': case'D':printf(">60\n");break; case'E':printf("<60\n");break; default:printf("error\n");break;return0;}}#include<stdio.h>#include<stdi58輸入一個(gè)年份,判斷是否是閏年#include<stdio.h>intmain(){ intyear; printf(“請(qǐng)輸入一個(gè)年份:"); scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0) { printf(“%d是閏年\n",year); } else printf(“%d不是閏年\n",year);return0;}輸入一個(gè)年份,判斷是否是閏年59概述C語(yǔ)言可實(shí)現(xiàn)循環(huán)的語(yǔ)句:用goto和if構(gòu)成循環(huán)while語(yǔ)句do~while語(yǔ)句for語(yǔ)句goto語(yǔ)句及用goto構(gòu)成循環(huán)goto語(yǔ)句一般格式:goto語(yǔ)句標(biāo)號(hào);….…..標(biāo)號(hào):語(yǔ)句;4.4循環(huán)型程序設(shè)計(jì)goto語(yǔ)句標(biāo)號(hào);4.4循環(huán)60功能:無(wú)條件轉(zhuǎn)移語(yǔ)句說(shuō)明:不能用整數(shù)作標(biāo)號(hào)只能出現(xiàn)在goto所在函數(shù)內(nèi),且唯一只能加在可執(zhí)行語(yǔ)句前面限制使用goto語(yǔ)句4.4循環(huán)型程序設(shè)計(jì)(1)功能:無(wú)條件轉(zhuǎn)移語(yǔ)句4.4循環(huán)型程序設(shè)計(jì)(1)61/*ch5_1.c*/#include<stdio.h>main(){inti,sum=0;i=1;loop:if(i<=100){sum+=i; i++;
gotoloop;}printf("%d",sum);}sum=0+1sum==1+2=3sum=3+3=6sum=6+4……sum=4950+100=5050循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體例用if和goto語(yǔ)句構(gòu)成循環(huán)/*ch5_1.c*/sum=0+1循環(huán)初值循環(huán)終值循環(huán)變量62一般形式:while(表達(dá)式)循環(huán)體語(yǔ)句;執(zhí)行流程:expr循環(huán)體假(0)真(非0)whilewhile語(yǔ)句while(表達(dá)式)執(zhí)行流程:expr循環(huán)體假(0)真(非63特點(diǎn):先判斷表達(dá)式,后執(zhí)行循環(huán)體說(shuō)明:循環(huán)體有可能一次也不執(zhí)行循環(huán)體可為任意類(lèi)型語(yǔ)句下列情況,退出while循環(huán)條件表達(dá)式不成立(為零)循環(huán)體內(nèi)遇break,return,goto無(wú)限循環(huán):while(1)循環(huán)體;While語(yǔ)句特點(diǎn)和說(shuō)明特點(diǎn):先判斷表達(dá)式,后執(zhí)行循環(huán)體While語(yǔ)句特點(diǎn)和說(shuō)明64用while循環(huán)求/*ch5_2.c*/#include<stdio.h>main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體例子用while循環(huán)求/*ch5_2.c*/循環(huán)初值循環(huán)終值循65/*ch5_21.c*/#include<stdio.h>intmain(){inti=1;while(i<=10){printf("%d*%d=%d\n",i,i,i*i);i++;return0;}}運(yùn)行結(jié)果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100例顯示1~10的平方/*ch5_21.c*/運(yùn)行結(jié)果:例顯示1~10的平方66一般形式:do循環(huán)體語(yǔ)句;while(表達(dá)式);執(zhí)行流程:do循環(huán)體expr假(0)真(非0)whiledo~while語(yǔ)句do執(zhí)行流程:do循環(huán)體expr假(0)真(非0)whil67特點(diǎn):先執(zhí)行循環(huán)體,后判斷表達(dá)式說(shuō)明:至少執(zhí)行一次循環(huán)體do~while可轉(zhuǎn)化成while結(jié)構(gòu)expr循環(huán)體假(0)真(非0)循環(huán)體While循環(huán)do~while語(yǔ)句特點(diǎn)和說(shuō)明特點(diǎn):先執(zhí)行循環(huán)體,后判斷表達(dá)式expr循環(huán)體假(0)真(非68一般形式:for([expr1];[expr2];[expr3])循環(huán)體語(yǔ)句;執(zhí)行流程:expr2循環(huán)體假(0)真(非0)forexpr1expr3for語(yǔ)句
一般形式:for([expr1];[expr2];[69:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值){ 循環(huán)體語(yǔ)句;}說(shuō)明:for語(yǔ)句中expr1,expr2,expr3類(lèi)型任意,都可省略,但分號(hào);不可省無(wú)限循環(huán):for(;;)for語(yǔ)句可以轉(zhuǎn)換成while結(jié)構(gòu)expr1;while(expr2){ 循環(huán)體語(yǔ)句; expr3;}for語(yǔ)句一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公家具的環(huán)保理念與可持續(xù)發(fā)展
- 現(xiàn)代生活節(jié)奏下的胃腸疾病預(yù)防教育
- 生產(chǎn)制造中的綠色技術(shù)升級(jí)路徑與策略
- 基坑施工安全專(zhuān)項(xiàng)方案
- 現(xiàn)代服務(wù)業(yè)的發(fā)展趨勢(shì)及投資策略研究
- 生產(chǎn)安全監(jiān)督與危機(jī)管理一體化建設(shè)
- 生態(tài)農(nóng)業(yè)發(fā)展對(duì)商業(yè)模式的創(chuàng)新影響
- 現(xiàn)代農(nóng)業(yè)機(jī)械設(shè)備智能化國(guó)際對(duì)比研究
- 2024-2025學(xué)年高中生物 專(zhuān)題5 課題1 DNA的粗提取與鑒定說(shuō)課稿 新人教版選修1
- 9 生活離不開(kāi)他們 第一課時(shí) 說(shuō)課稿-2023-2024學(xué)年道德與法治四年級(jí)下冊(cè)統(tǒng)編版001
- 中國(guó)城市居民的健康意識(shí)和生活方式調(diào)研分析報(bào)告
- 上海星巴克員工手冊(cè)
- 復(fù)產(chǎn)復(fù)工試題含答案
- 部編版語(yǔ)文三年級(jí)下冊(cè)第六單元大單元整體作業(yè)設(shè)計(jì)
- 售后服務(wù)經(jīng)理的競(jìng)聘演講
- 新概念英語(yǔ)第2冊(cè)課文(完整版)
- 慢加急性肝衰竭護(hù)理查房課件
- 文件丟失應(yīng)急預(yù)案
- 全球職等系統(tǒng)GGS職位評(píng)估手冊(cè)
- 云南華葉投資公司2023年高校畢業(yè)生招聘1人筆試參考題庫(kù)(共500題)答案詳解版
- 專(zhuān)項(xiàng)法律意見(jiàn)書(shū)(私募基金管理人重大事項(xiàng)變更)-詳細(xì)版
評(píng)論
0/150
提交評(píng)論