C語言 分支語言和迴圈語句

2021-09-25 08:35:30 字數 3904 閱讀 8101

分支語句

·if·switch

迴圈語句

·while

·for

·do while

if語句

if語句的結構:

if(表示式)

語句;if(表示式)

語句1; else(表示式)

語句2;

//多分支 if(表示式1)

語句1; else if(表示式2)

語句2; else

語句3; 注意:如果表示式的結果為真

,則語句1執行,否則表達2執行。

c語言中0表示假,非0表示真。

**演示:

#includeint main()

else

return 0;

}

注意:適當使用{}可以使**的邏輯更加清楚。

switch語句

switch語句也是一種分支語句,常用於分支情況。

比如:輸入1,輸出星期一;

輸入2,輸出星期二;

輸入3,輸出星期三;

輸入4,輸出星期四;

輸入5,輸出星期五;

輸入6,輸出星期六;

輸入7,輸出星期七;

switch語句的結構

switch(整型表示式)

#includeint main()

}

break語句的實際效果是把語句列表劃分為不同的部分。在最後乙個 case 語句的後面加上一條 break語句。 (之所以這麼寫是可以避免出現在以前的最後乙個 case 語句後面忘了新增 break語句)。

default子句

如果表達的值域所有的case標籤的值都不匹配那麼所有的語句都會被跳過。 程式並不會終止,也不會報錯,因為這種情況在c中並不認為適合錯誤。 但是,如果你並不想忽略不匹配所有標籤 的表示式的值時可以在語句列表中增加一條default子句,把下面的標籤 default: 寫在任何 乙個case標籤可以出現的位置。

當 switch表示式的值並不匹配所有case標籤的值時,這個default子句後面的語句就會執行。所以,每個switch語句中只能出現一條default子句。 但是它可以出現在語句列表的任何位 置,而且語句流會像貫穿乙個case標籤一樣貫穿default子句。

while迴圈

我們已經掌握了,if語句:

if(條件)

語句;

當條件滿足的情況下,if語句後的語句執行,否則不執行。但是這個語句只會執行一次。

但是我們發現生活中很多的實際的例子是:同一件事情我們需要完成很多次。 c語言中給我們引入了:while語句,可以實現迴圈。

while(表示式)

迴圈語句;

比如我們實現:

用while迴圈在螢幕上列印1-10的字。

#include

intmain()

return0;

}

while語句中的break和continue

break介紹

#include

intmain()

return0;

}

輸出結果是:1 2 3 4

總結:在while迴圈中只要碰到break,就停止後期所有的迴圈,直接終止迴圈,所以break是用對於永久終止迴圈的。

countinue介紹:

#include

intmain()

return0;

}

輸出結果是:2 3 4 6 7 8 9 10

總結:在while迴圈中continue的作用就是終止本次迴圈,就是本次迴圈中continue後面的**不再執行,直接跳轉到while語句的判斷部分進行下一次迴圈。

for迴圈

語法

for(表示式1;表示式2;表示式3)

迴圈語句

表示式1為初始化部分,用於初始化迴圈變數;表示式2為條件判斷部分,用於判斷迴圈終止時候;表示式3為調整部分,用於迴圈部分的調整。

比如我們實現:

用for迴圈在螢幕上列印1-10的字。

#include

intmain()

return0;

}

可以發現在while和for迴圈中都存在迴圈的三個必須條件,但是由於風格的問題在while迴圈中使得三個部分很可能偏離較遠,這樣查詢修改就不夠集中和方便。所以,for迴圈的風格更勝一籌。for迴圈使用的頻率也最高。

在for迴圈中也可以出現break和continue,他們的意義和在while迴圈中是一樣的。

一些建議:

1. 不可在for 迴圈體內修改迴圈變數,防止for 迴圈失去控制。

2. 建議for語句的迴圈控制變數的取值採用「前閉後開區間」寫法。

int i =0;

//前閉後開的寫法

for(i=

0; i<

10; i++

)//兩邊都是閉區間

for(i=

0; i<=

9; i++

)

一些for迴圈的變種

#include 

intmain()

//變種2

int x, y;

for(x =

0, y =

0; x<

2&& y<5;

++x, y++

)return0;

}

do…while()迴圈

語法:

do

迴圈語句;

while(表示式);語法:

迴圈至少執行一次,使用的場景有限,所以不是經常使用

#include 

intmain()

while

(i<10)

;return0;

}

goto語句

c語言中提供了可以隨意濫用的goto語句和標記跳轉的標號。

從理論上goto語句是沒有必要的,實踐中沒有goto語句也可以很容易的寫出**。

但是某些場合下goto語句還是用得著的,最常見的用法就是終止程式在某些深度巢狀的結構的處理過程,例如一次跳出兩層或多層迴圈。

這種情況使用break是達不到目的的。它只能從最內層迴圈退出到上一層的迴圈。

下面是使用goto語句的乙個例子:

乙個關機程式

#include 

intmain()

;system

("shutdown -s -t 60");

again:

printf

("電腦將在1分鐘內關機,如果輸入:我是豬,就取消關機!\n請輸入:>");

scanf

("%s"

, input);if

(0==strcmp

(input,

"我是豬"))

else

return0;

}

C語言 if分支語句

分支語句可以在程式執行的時候從多組語句中選擇一組執行而忽略其他組,如果編寫程式的時候遇到多種可能性,每種可能性都需要使用專門的語句處理,這種情況就可以採用分支結構解決。if關鍵字可以用來編寫分支 if分支裡需要為每種可能性編寫專門的處理語句 if分支裡需要為每組語句編寫配對的邏輯表示式,執行的時候如...

C語言 菜鳥整理分支與迴圈語句

迴圈語句 if 表示式 如果表示式為真,則執行花括號裡面的語句 非0表示真 如果表示式為假,則跳過花括號裡面的內容執行別的內容 0表示假 if 表示式1 如果表示式1為真執行語句1,否則執行語句2 if 表示式1 else if 表示式2 如果表示式1為真,則執行語句1,否則判斷表示式2,表示式2為...

c 基本語言和sql語句

一 c 最基本的格式 code using system namespace u static void main string args code 二 sql 語句 1 建立資料庫 create database bulls 2 引用資料庫 use bulls 3 建立表 create table...