C語言的基本結(jié)構(gòu)與選擇語句_第1頁
C語言的基本結(jié)構(gòu)與選擇語句_第2頁
C語言的基本結(jié)構(gòu)與選擇語句_第3頁
C語言的基本結(jié)構(gòu)與選擇語句_第4頁
C語言的基本結(jié)構(gòu)與選擇語句_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第四章C51流程控制語句第一節(jié)、C語言的基本結(jié)構(gòu)

C語言是一種結(jié)構(gòu)化編程語言,結(jié)構(gòu)化語言的基本元素是模塊,是程序的一部分。每一個(gè)模塊中,都只有一個(gè)出口和一個(gè)入口。

結(jié)構(gòu)化程序由若干模塊組成,每個(gè)模塊中包含若干個(gè)基本結(jié)構(gòu),而每個(gè)基本結(jié)構(gòu)中可以有若干條語句。C語言有三種基本結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)一、順序結(jié)構(gòu)順序結(jié)構(gòu)是一種最基本的、最簡單的編程結(jié)構(gòu)。AB二、選擇結(jié)構(gòu)選擇結(jié)構(gòu)有兩種形式:二選一結(jié)構(gòu)多選一結(jié)構(gòu)二選一結(jié)構(gòu)(if語句):表達(dá)式為1?A1B0表達(dá)式為1?A10二、選擇結(jié)構(gòu)多選一結(jié)構(gòu)(switch語句):表達(dá)式的值=?A1A2An…...常量表達(dá)式1常量表達(dá)式2常量表達(dá)式n三、循環(huán)結(jié)構(gòu)循環(huán)語句有兩種:先判斷,后執(zhí)行先執(zhí)行,后判斷先判斷,后執(zhí)行(while,for):先執(zhí)行,后判斷(do…while):表達(dá)式為1?A10表達(dá)式為1?A10第二節(jié)選擇語句選擇結(jié)構(gòu)有兩種形式:多選一結(jié)構(gòu)(switch/case語句)復(fù)合語句:由一對(duì)大括號(hào)括起來的語句。例:{c=a;a=b;b=c;}二選一結(jié)構(gòu)(if

語句)一、if語句的基本形式if

語句的基本形式有四種:1.if(表達(dá)式)語句;3.if(表達(dá)式1)語句1;

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

elseif(表達(dá)式3)語句3;…….

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

else語句n+1;2.if(表達(dá)式)語句1;

else語句2;4.if的嵌套形式:

if(表達(dá)式1)

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

else語句2;

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

else語句4;二、if語句的各種例子b=3;if(a>=0)b=5;b=3;if(a==0)b=5;elseb=7;b=3;if(a<=0)b=5;elseif(a==1)b=7;elseif(a==2)b=9;elseif(a==3)b=11;elseb=13;b=3;if(a<=0)b=5;if(a<=5)b=7;elseb=9;elseif(a<=-5)b=11;elseb=13;三、if語句的垂懸問題例:

if(a>b)if(a>d)c=15;elsec=0;if(a>b){if(a>d)c=15;}elsec=0;當(dāng)if的個(gè)數(shù)與else的個(gè)數(shù)不相同時(shí),else采用就近配對(duì)的原則。

if的個(gè)數(shù)大于等于else的個(gè)數(shù)。if(a>b)if(a>d)c=13;elseif(a>e)c=15;elsec=0;四、條條件運(yùn)運(yùn)算符符條件運(yùn)運(yùn)算符符的格格式::表達(dá)式式1??表達(dá)達(dá)式2:表表達(dá)式式3含義::if(表達(dá)式式1)表表達(dá)式式2;else表達(dá)式式3;例:(a>d)?(c=15):(c=0);也可寫寫為::c=(a>d)?15:0;含義::if(a>d)c=15;elsec=0;例:max=(a>b)?a:b;if(a>b)max=a;elsemax=b;題:d=(a>b)?a:(b>c)?a:c五、if語句的的例子子y=1當(dāng)當(dāng)x>00當(dāng)當(dāng)x=0-1當(dāng)當(dāng)x<01.if(x<0)y=-1;elsey=0;if(x>0)y=1;2.if(x>0)y=1;if(x<0)y=-1;elsey=0;3.if(x<0)y=-1;if(x==0)y=0;if(x>0)y=1;4.if(x<0)y=-1;elseif(x==0)y=0;elsey=1;5.y=-1;if(x==0)y=0;elsey=1;6.y=-1;if(x==0)y=0;if(x>0)y=1;7.if(x<=0)y=-1;elsey=1;if(x==0)y=0;8.if(x<=0)y=0;if(x>=0)y=1elsey=-1;9.if(x<=0)y=-1;elsey=1;if(x>=0)y=0;六、switch/case語句switch語句的的基本本形式式如下下:switch(表達(dá)式式){case常量表表達(dá)式式1::語句句1;;break;case常量表表達(dá)式式2::語句句2;;break;…………………………...case常量表表達(dá)式式n:語句n;break;default:語句n+1;}說明::1表表達(dá)式式一般般要求求是有有序可可數(shù)的的類型型,例例:整整形、、字符符型、、枚舉舉類型型等;;2.每每個(gè)個(gè)case后的常常量表表達(dá)式式必須須互不不相同同;3.case后的常常量表表達(dá)式式的順順序無無所謂謂;4.執(zhí)執(zhí)行行方式式是根根據(jù)表表達(dá)式式的值值來取取case后面的的常量量表達(dá)達(dá)式;;5.break可有可可無,,但執(zhí)執(zhí)行方方式不不一樣樣。七、switch語句的的例子子用A、B、、C、、D、、E來表示示分?jǐn)?shù)數(shù)的等等級(jí)::100<=score<=90A90<score<=80B80<score<=70C70<score<=60Dscore<=90Eswitch(score){}switch(scores/10){case10:case9:grade=‘‘A’’;break;case8:grade=‘‘B’’;break;case7:grade=‘‘C’’;break;case6:grade=‘‘D’’;break;default:grade=‘E’;}第二節(jié)節(jié)循循環(huán)環(huán)語句句循環(huán)語語句一一般有有循環(huán)環(huán)體和和循環(huán)環(huán)終止止條件件組成成。一組被被重復(fù)復(fù)執(zhí)行行的語語句稱稱為循循環(huán)體體,能能否重重復(fù)執(zhí)執(zhí)行下下去則則取決決于循循環(huán)終終止條條件。。實(shí)現(xiàn)循循環(huán)的的語句句有以以下三三種::while語句先判斷斷,后后執(zhí)行行;do……while語句先執(zhí)行行,后后判斷斷;for語句先先判判斷,,后執(zhí)執(zhí)行。。一、while語句的的格式式和例例子while語句的的一般般形式式為::while(表達(dá)式式){循循環(huán)體體;}表達(dá)式為1?循環(huán)體10voidmain(void){inta=0,sum=0;while(){sum+=a;a++;}printf(““sum=%d””,sum);}a<101while((P1&0x10)>0&&y++<=5){a=1;b=45;x=P1;}二、、do……while語句句do...while語句句的的一一般般形形式式為為::do{循循環(huán)環(huán)體體;;}while(表達(dá)達(dá)式式));;voidmain(void){inta=0,sum=0;do{sum+=a;a++;}while();printf(““sum=%d””,sum);}a<101表達(dá)式為1?循環(huán)體10三、、for語句句for循環(huán)環(huán)語語句句的的一一般般形形式式為為::for((表達(dá)達(dá)式式1;;表表達(dá)達(dá)式式2;;表表達(dá)達(dá)式式3)){循循環(huán)環(huán)體體;;}for循環(huán)環(huán)的的語語句句執(zhí)執(zhí)行行過過程程如如下下::1、、先先對(duì)對(duì)表表達(dá)達(dá)式式1賦賦初初值值,,進(jìn)進(jìn)行行初初始始化化。。2、、判判斷斷表表達(dá)達(dá)式式2是是否否滿滿足足給給定定的的循循環(huán)環(huán)條條件件,,若若滿滿足足,,則則執(zhí)執(zhí)行行循循環(huán)環(huán)體體內(nèi)內(nèi)語語句句,,然然后后執(zhí)執(zhí)行行下下面面第第三三步步。。若若不不滿滿足足循循環(huán)環(huán)條條件件,,則則結(jié)結(jié)束束循循環(huán)環(huán),,轉(zhuǎn)轉(zhuǎn)到到第第五五步步。。3、、若若表表達(dá)達(dá)式式2為為真真,,在在執(zhí)執(zhí)行行指指定定的的循循環(huán)環(huán)語語句句后后,,求求解解表表達(dá)達(dá)式式3。。4、、回回到到第第二二步步繼繼續(xù)續(xù)執(zhí)執(zhí)行行。。5、、退退出出for循環(huán)環(huán),,執(zhí)執(zhí)行行下下面面一一第第語語句句。。四、、for語句句的的例例子子voidmain(void){intk,sum=0;for(k=0;k<101;k++)sum+=k;printf(““sum=%d\n””,sum);}例::1+2+……+100對(duì)for(k=0;k<101;k++)sum+=k;語句句的修修改改及及含含義義::k=0;for(;k<101;)sum+=k++;k=0;for(;k<101;k++)sum+=k;for(k=0;k<101;)sum+=k++;for(k=0;k<101;k++)sum+=k;k=0;for(;;)sum+=k++;五、、for語句句的的應(yīng)應(yīng)用用延時(shí)時(shí)程程序序::voidmsec(unsignedintx){unsignedcharj;while(x--)for(j=0;j<125;j++)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論