IOS基礎 C語言學習之流程控制

2021-06-28 12:29:08 字數 4072 閱讀 6193

一、流程結構

c語言提供3種流程結構,分別是:

順序結構:預設的流程結構。按照書寫順序執行每一條語句。

選擇結構:對給定的條件進行判斷,再根據判斷結果來決定執行哪一段**。

迴圈結構:在給定條件成立的情況下,反覆執行某一段**。

如下圖所示:

二、選擇結構 – if

1. 簡單使用

1>     if (表示式)  語句1;

if(score>50) 

***;

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

f(score >50) 

***;

else

***;

3>      if(表示式)

if(score >50) 

else

4>     if -else if-else

if(a==0)

else if (a>0)

… …else

特點:只有乙個括號會被執行

2. 使用注意

1> 

不要在if的小括號後面新增分號

2> 像a==0這樣的表示式,最好寫成0==a,若你誤寫成0=a,編譯器會直接報錯的

3> 直接寫個if(a)是可以的,c語言預設所有大於0的值都為真

三、選擇結構2-switch語句

1. 基本形式

switch(整型表示式)

3. break

1> break的作用break關鍵字的作用是退出整個switch語句。預設的格式中,每個case後面都有個break,因此執行完case中的語句後,就會退出switch語句。

2> break的基本使用情況

如果某個case後面沒有break,意味著執行完這個case中的語句後,會按順序執行後面所有case和default中的語句,直到遇到break為止

3> break的特例

在某些時候,我們確實沒有必要在每乙個case後面新增break。下面舉乙個例子:判斷分數的優良中差等級(100分滿分)。

int score = 77;

switch (score/10)

分析:當score的範圍是90~100,score/10的值為10或9時,就會執行第6行**,然後退出switch語句;

當score的範圍是80~89,score/10的值為8時,就會執行第10行**,然後退出switch語句;

當score的範圍是60~79,score/10的值為7或6時,就會執行第15行**,然後退出switch語句;

當score的範圍並不是60~100,score/10的值並不在6~10範圍內時,就會執行第19行**,然後退出switch語句;

score的值是77,所以score/10的值是7,輸出結果:中等

4. 在case中定義變數

有時候,我們可能會想在case中定義一些變數,這個時候,就必須用大括號{}括住case中的所有語句。

5. if和switch的對比

1> 其實if和swift在很多情況下可以互換

2> 在專案實戰中,if用得比較多,比較靈活,switch只能某個單值,用的比較少

四、迴圈結構1-while迴圈

1. 形式

while ( 條件 )

2.舉例

在螢幕上重複輸出10次hello world,每輸出一次的換行。

int count = 0;

while ( count < 10 )

3.注意

仔細看下面**:

int count = 0;

while ( count < 10 );

分析:俗話說細節決定成敗,仔細看,while後面不小心加了個分號,就變成死迴圈了,而且這種錯誤還不容易除錯,所以,要注意!

五、迴圈結構2-do while迴圈

形式如下:

do  while (條件);
使用do-while結構時,記得在最後加上乙個分號;

不管while中的條件是否成立,迴圈體中的語句至少會被執行一遍;

其實do-while

跟while是同乙個迴圈,幾乎所有情況他們都等價,只有一種情況,就是當條件完全不滿足時,do-while會執行一次迴圈體,while不會執行,所以會導致結果不同,除了這個沒其他特例了,剩下的就沒什麼好說的了,我一般不用這個;

六、迴圈結構3-for迴圈

for迴圈很常用,個人愛好。

1.形式

for (語句1; 條件; 語句2)
執行過程:

先執行語句1一次,然後判斷條件,條件滿足執行迴圈體,然後執行語句2,再判斷條件,再執行迴圈體,再執行語句2,如此迴圈。

2.舉例

for (int i = 0; i<5; i++)

3.補充

如果for迴圈的初始化語句和迴圈一次後執行的語句是由多條語句組成的,就用逗號,隔開

for (int x = 0, y =0; x<3; x++, y+=2)

4. for迴圈巢狀

for迴圈是可以巢狀的,而且很常用。

#include int main()

}return 0;

}

5. 注意

1> 最簡單的死迴圈 for(;;);

2> for迴圈內部定義的變數,作用域只在內部,for結束就銷毀,包括那個i

6. while迴圈和for迴圈的比較

1> while迴圈和for迴圈在任何情況下都可以互換

2> for迴圈的好處在於迴圈結束可以及時銷毀變數

七、break和continue

1. break

1> 使用場合:switch\迴圈結構

2> 迴圈巢狀下的break

2. continue

1> 使用場合:迴圈結構

2> 迴圈巢狀下的continue

C 基礎之流程控制

1 異常捕獲 我們在程式中經常會出現各種各樣的異常,你如果想要你的程式變得強大一些。在你的 中應該經常性的使用try catch來進行異常捕獲。哪行 有可能出現異常,你就要進行異常捕獲。語法 try try和catch之間不能有其他的 catch 執行過程 如果try中的 沒有出現異常,那麼catc...

C 之流程控制

學習到了c 關於語法的學習做一下小小的總結。流程控制分為兩種方法 分支 有條件的執行 迴圈 重複執行相同的語句。1.條件分支 1.三元運算子 2.if語句 if語句功能比較多,是進行決策的有效方式。if語句有兩種形式,一種有else分支,一種沒有。3.switch語句 switch語句與if語句非常...

C 學習總結 之 流程控制

流程控制 名稱 語句 形式 意義 順序結構 從上向下順序執行 無條件跳轉 分支機構 if語句實現分支 if 判斷 如果 則 if 判斷 else 如果 則 否則 if elseif else if else巢狀進行多條件判斷 switch 語句實現分支 switch variable 如果case分...