C 程式流程結構

2021-10-21 03:56:43 字數 4611 閱讀 8405

<1>if

<2>if......else....

<3>if.....else if......else

【例項】輸入乙個年份,判斷是否為閏年。閏年的年份必須滿足以下兩個條件之一)(1)能被4整除,但不能被100整除的年份都是閏年。(2)能被400整除的年份都是閏年

include using namespace std;

int main()

if語句中,如果內嵌語句又是if語句,就構成了巢狀if語句。

一般形式如下:

if()

if()語句1

else語句2

else

if()語句3

else語句4

應當注意if與else的配對關係。else總是與它上面最近的、且未配對的if配對。假如寫成:

if()

if()語句l

else

if()語句2

else語句3

第乙個else寫在與第乙個if(外層if) 同一列上, 看似else與第乙個if對應, 但實際上,else是與第二個if配對,因為它們相距最近,而且第二個if並未與任何else配對。為了避免誤用,最好使每一層內嵌的if語句都包含else子句, 這樣if的數目和else的數目相同,從內層到外層一一對應,不至於出錯。

如果if與else的數目不一樣,為實現程式設計者的意圖,可以加花括號來確定配對關係。

例如:

if()

//這個語句是上一行if語句的內嵌if

else語句2//本行與第乙個if配對

這時{}限定了內嵌if語句的範圍,{}外的else不會與{}內的if配對。關係清楚,不易出錯。

例項】用巢狀if語句實現上個例子的功能。**如下:#include using namespace std;

c++提供了乙個switch語句, 稱為多分支語句(開關語句) , 可以用來實現多分支選擇程式結構。

switch語句的語法格式為:

switch(表示式)(1)當switch後面括號中表示式的值與某乙個case分支的常量表示式匹配時,就執行該分支。如果所有的case分支中常量表示式都不能與switch後面括號中表示式的值匹配,就執行default分支。
(2)break語句可選,如果沒有break語句,每乙個case分支都只作為開關語句執行入口,執行完該分支後,還將接著執行其後的所有分支。因此,為保證邏輯的正確實現,通常每個case分支都與break語句聯用。

(3) 每個常量表示式的取值必須各不相同, 否則將引起歧義。各case子句後面必須是常量, 而不能是變數或表示式。各個case(包括default) 分支出現的次序可以任意, 通常將default分支放在最後。

(4)允許多個常量表示式對應同乙個語句序列。例如:

char score;

cin>>score;

switch (score)

case 'a':

case 'a': cout<

break;

case 'b':

case 'b': cout<

break;

default:cout

例項】用switch語句編寫程式實現如下功能:某百貨公司為了**,採用購物打折的辦法。在1000元以上者,按九五折優惠:在2000元以上者,按九折優惠:在3000元以上者,按八五折優惠;在5000元以上者,按八折優惠。編寫程式,輸入購物款數,計算並出***。

作用:滿足迴圈條件,執行迴圈語句

語法:while(迴圈條件)

解釋:只要迴圈條件的結果為真,就執行迴圈語句

示例:

int main() 

system("pause");

return 0;

}注意:在執行迴圈語句時候,程式必須提供跳出迴圈的出口,否則出現死迴圈。

作用:滿足迴圈條件,執行迴圈語句

語法:do while(迴圈條件);

**注意:**與while的區別在於==do...while會先執行一次迴圈語句==,再判斷迴圈條件

示例:

int main()  while (num < 10);

system("pause");

return 0;

}//與while迴圈區別在於,do...while先執行一次迴圈語句,再判斷迴圈條件

作用:滿足迴圈條件,執行迴圈語句

語法:for(起始表示式;條件表示式;末尾迴圈體)

示例:

int main() 

system("pause");

return 0;

}詳解:

注意:for迴圈中的表示式,要用分號進行分隔

總結:while , do...while, for都是開發中常用的迴圈語句,for迴圈結構比較清晰,比較常用

作用:在迴圈體中再巢狀一層迴圈,解決一些實際問題

示例:

int main() 

cout << endl;

} system("pause");

return 0;

}

【例項】輸出九九乘法表。

#include #include/*io代表輸入輸出,manip是manipulator(操縱器)的縮寫(在c++上只能通過輸入縮寫才有效。)

iomanip的作用:

主要是對cin, cout之類的一些操縱運運算元,比如setfill, setw, setbase, setprecision等等*/

作用:用於跳出==選擇結構==或者==迴圈結構==

break使用的時機:

示例:

int main() 

cout << i << endl;

}system("pause");

return 0;

}

示例:

注意:continue並沒有使整個迴圈終止,而break會跳出迴圈

作用:可以無條件跳轉語句

語法:goto 標記;

解釋:如果標記的名稱存在,執行到goto語句時,會跳轉到標記的位置

注意:在程式中不建議使用goto語句,以免造成程式流程混亂

C 程式流程結構 選擇結構

格式 if 條件 注意1 條件後面不能加分號 語法 if 條件 else 語法 if 條件1 else if 條件2 else include include using namespace std intmain elseif 700 score 650 else elseif 600 score...

c 程式流程結構 迴圈結構

2 do while迴圈語句 3 for迴圈語句 4 巢狀迴圈 語法 while 迴圈條件 解釋 只要迴圈條件的結果為真,就執行迴圈語句。例子 列印0 9 int main system pause return0 注意1 一定要避免死迴圈。描述 隨機生成乙個1 100之間的數字,玩家進行猜測,如果...

C 筆記3 程式流程結構

三種程式執行結構 順序結構 選擇結構 迴圈結構 1 if語句 int goal 5 int guess cout 請輸入乙個分數 guess if guess 5 else if guess 5 else 2 三目運算子 int a 8,b 5 cout a a b a b char ch d sw...