c语言程序结构设计的心得,写给新手 选择结构程序设计总结
寫給新手 選擇結(jié)構(gòu)程序設(shè)計(jì)總結(jié)
選擇結(jié)構(gòu)程序設(shè)計(jì)總結(jié)??2010-11-2
一:C語(yǔ)言有兩種選擇結(jié)構(gòu):
(1):if語(yǔ)句,用來(lái)實(shí)現(xiàn)兩個(gè)分支的選擇結(jié)構(gòu);
(2):switch語(yǔ)句,用來(lái)實(shí)現(xiàn)多分支的選擇結(jié)構(gòu);
二:if語(yǔ)句:
if語(yǔ)句的一般形式如下:
if(表達(dá)式)
語(yǔ)句1;
或者是:
if(表達(dá)式){
語(yǔ)句1;
}
說(shuō)明:
【1】:if語(yǔ)句中的表達(dá)式可以是關(guān)系表達(dá)式,邏輯表達(dá)式,甚至是數(shù)值表達(dá)式,返回的是一個(gè)邏輯值,即真或假!
三:所有形式如下:
(1):單判斷語(yǔ)句
if(表達(dá)式1)
語(yǔ)句1;
或者是:
if(表達(dá)式1){
語(yǔ)句1;
}
(2):雙分支語(yǔ)句
if(表達(dá)式1)
語(yǔ)句1;
else
語(yǔ)句2;
或者是:
if(表達(dá)式1){
語(yǔ)句1;
}else{
語(yǔ)句2;
}
(3):多分支語(yǔ)句
if(表達(dá)式1)
語(yǔ)句1;
else if(表達(dá)式2)
語(yǔ)句2;
......
else if(表達(dá)式n)
語(yǔ)句n;
else
語(yǔ)句n+1;
說(shuō)明:
【1】:整個(gè)語(yǔ)句可以寫在多行上,也可以寫在一行上;
例子:
if(x>0) y=1;else y=0;
【2】:if語(yǔ)句寫在多行上,都是一個(gè)整體,屬于一個(gè)語(yǔ)句。不要誤認(rèn)為if部分是一個(gè)語(yǔ)句,else部分是另一個(gè)語(yǔ)句。在系統(tǒng)中對(duì)if語(yǔ)句編譯的時(shí)候,還要檢查是
否有else語(yǔ)句,如果有else語(yǔ)句,會(huì)把它當(dāng)做if語(yǔ)句的部分;如果沒(méi)有else語(yǔ)句,則認(rèn)為if語(yǔ)句已經(jīng)結(jié)束!還要注意else語(yǔ)句不能作為單獨(dú)語(yǔ)句來(lái)結(jié)束,它必須和
if語(yǔ)句配對(duì)使用,而且是和最近的if語(yǔ)句配對(duì),采用就近原則!
【3】:if語(yǔ)句不加大括號(hào),只對(duì)第一句代碼有約束作用,后面的代碼不在約束,會(huì)按照順序往下執(zhí)行;如果加上大括號(hào)會(huì)對(duì)括號(hào)里面的所有代碼都有約束作用。
四:選擇結(jié)構(gòu)語(yǔ)句的嵌套
if語(yǔ)句的嵌套:在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句稱為if語(yǔ)句的嵌套。
形式如下:
(1):在if語(yǔ)句中再嵌套if語(yǔ)句
if(表達(dá)式1){
if(表達(dá)式2){
語(yǔ)句1;
}
}
(2):在if語(yǔ)句中再嵌套雙分支語(yǔ)句
if(表達(dá)式1){
if(表達(dá)式2){
語(yǔ)句1;
}else{
語(yǔ)句2;
}
}
(3):在if語(yǔ)句中嵌套多分支語(yǔ)句
if(表達(dá)式1){
if(表達(dá)式2){
語(yǔ)句1;
}else if(表達(dá)式3){
語(yǔ)句2;
}else if(表達(dá)式4){
語(yǔ)句3;
}else{
語(yǔ)句4;
}
}
五:用switch語(yǔ)句實(shí)現(xiàn)多分支語(yǔ)句
switch語(yǔ)句是多分支選擇語(yǔ)句
switch語(yǔ)句作用:根據(jù)表達(dá)式的值來(lái)使流程跳轉(zhuǎn)到不同的語(yǔ)句。
六:一般的形式如下:
(1):無(wú)break語(yǔ)句形式
switch(表達(dá)式){
case 常量1:
語(yǔ)句1;
case 常量2:
語(yǔ)句2;
case 常量3:
語(yǔ)句3;
default:
語(yǔ)句4;
}
(2):有break語(yǔ)句形式
switch(表達(dá)式){
case 常量1:
語(yǔ)句1;
break;
case 常量2:
語(yǔ)句2;
break;
case 常量3:
語(yǔ)句3;
break;
default:
語(yǔ)句4;
break;
}
說(shuō)明:
【1】:switch語(yǔ)句后面的“表達(dá)式”,其值的類型應(yīng)為整數(shù)型(包括字符型)【字符型也屬于整數(shù)形式,按照ASCII碼來(lái)存儲(chǔ)到計(jì)算機(jī)當(dāng)中】
【2】:switch語(yǔ)句下面的大括號(hào)是一個(gè)復(fù)合語(yǔ)句,一定要打上,不打則會(huì)報(bào)錯(cuò)!里面是case關(guān)鍵字和default組合的若干語(yǔ)句。case后面的必須跟一個(gè)常量,
或是常量表達(dá)式。被當(dāng)做標(biāo)號(hào)作用,用來(lái)標(biāo)識(shí)一個(gè)位置。
【3】:沒(méi)有break語(yǔ)句,是按照順序依次往下執(zhí)行;有break語(yǔ)句,符合哪一種情況就執(zhí)行哪一種情況下的語(yǔ)句,之后馬上退出整個(gè)switch語(yǔ)句。
【4】:switch語(yǔ)句的運(yùn)行原理:在執(zhí)行switch語(yǔ)句時(shí),先計(jì)算switch后面的表達(dá)式的值,然后將它與各個(gè)case標(biāo)號(hào)比較,如果與某一個(gè)case標(biāo)號(hào)中的常量相同
,流程就轉(zhuǎn)到此case標(biāo)號(hào)的后面的語(yǔ)句。如果沒(méi)有switch表達(dá)式相匹配的case常量。再檢查有沒(méi)有default語(yǔ)句,若有就執(zhí)行default標(biāo)號(hào)后面的語(yǔ)句,若沒(méi)有則退
出整個(gè)switch語(yǔ)句。
【5】:各個(gè)case標(biāo)號(hào)出現(xiàn)的次序不影響結(jié)果,可以先出現(xiàn)default語(yǔ)句,其他case語(yǔ)句可以打亂。
【6】:每一個(gè)case常量必須互不相同,否則會(huì)出現(xiàn)矛盾現(xiàn)象,重復(fù)定義系統(tǒng)報(bào)錯(cuò)!
【7】:在case語(yǔ)句下不需要加大括號(hào),會(huì)自動(dòng)執(zhí)行case標(biāo)號(hào)語(yǔ)句后面的所有語(yǔ)句!
【8】:多個(gè)case標(biāo)號(hào)可以共用一組執(zhí)行語(yǔ)句。如下:
case 'A':
case 'B':
case 'C':
printf("及格了!\n");break;
七:多分支選擇語(yǔ)句嵌套:
(1):可以在switch中嵌套switch語(yǔ)句
switch(表達(dá)式1){
case 常量1:
switch(表達(dá)式2){
case 常量1:
語(yǔ)句1;
break;
case 常量2:
語(yǔ)句2;
break;
}
break;
case 常量2:
語(yǔ)句3;
break;
}
八:if語(yǔ)句與switch語(yǔ)句綜合嵌套使用
(1):可在if語(yǔ)句嵌套switch語(yǔ)句
if(表達(dá)式1){
switch(表達(dá)式2){
case 常量1:
break;
case 常量2:
break;
}
}
(2):可以在switch語(yǔ)句中嵌套if語(yǔ)句
switch(表達(dá)式1){
case 常量1:
if(表達(dá)式2){
語(yǔ)句1;
}else{
語(yǔ)句2;
}
break;
}
搜索更多相關(guān)主題的帖子:
程序設(shè)計(jì) 結(jié)構(gòu) 選擇
總結(jié)
以上是生活随笔為你收集整理的c语言程序结构设计的心得,写给新手 选择结构程序设计总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Zotero——一款文献管理工具
- 下一篇: BatchOutput DOC for