一、流程結構
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分...