C語言基礎 流程控制

2021-06-23 01:47:48 字數 4210 閱讀 1966

分支結構:分支結構就相當於岔路口,程式可以根據不同的情況,執行不同的**路徑

if(條件表示式)

1、if語句一定是以if開頭的

2、if語句最多只有乙個else

3、if語句可以有任意個else if

#include

格式if(條件表示式)else

先上個例子看看

int main(int argc, const char * argv)elseelse

} return 0;

}#include

第一種格式:

if(條件表示式)

第二種格式:

if(條件表示式)else

第三種格式:

if(條件表示式)else if(條件表示式2)else if(條件表示式3)

...else

}if語句本身就是一條語句;

int main(int argc, const char * argv)

int test2()else if(guess > 5)else

return 0;

}int test()else

return 0;

}#include

int main(int argc, const char * argv)

2、當我們使用變數與常量之間進行== !=的時候將常量寫前面,避免不小心錯誤

int a = 1;

//    if (2 == a)

//    if (a == 2)

//        printf("a = 2");

3、空語句也是語句,不要在if後面加;

if (a==2);

4、if的作用域,if內部定義的變數,不可以在外部訪問它

if(a==2)

//printf("b = %d",b);

5、作用域混亂

//    if (a == 2)

//        int b = 10;

return 0;

}1、程式執行到某個表示式那麼說明這個表示式前面的所有條件表示式都不成立

2、如果if中有else 那麼if語句中必有乙個分支會被執行

3、if語句中這麼多**段只有乙個**段會被執行

switch(整形變數\返回整形數的表示式)

使用場景:

當變數有幾個固定的取值的時候使用switch就更加清晰,可讀性會更好

如果表示式的值與case後面某個常量相等,那麼就執行這個case後面的語句,如果所有的都沒有匹配上,那麼執行default中語句

switch (表示式)

int main(),它才會結束

3、switch只要匹配上乙個case那麼後面的case都失效了

4、case 後面只可以放常量不可以放變數

5、預設情況下de****t情況下default後面的break是可以省略的

6、case 後面可以是常量或者是常量的表示式

7、switch語句只能處理整形

8、字元的本質就是乙個整形數,所以swich可以使用字元

9、default可以放到在任意位置,如果放到其他位置那麼break不可以省略

10、switch語句,case後面不可以直接定義變數,如果在case語句後面定義變數,必須把case後面的語句使用大括號,來明確作用域

int day = 4;

switch (week)

5、輸出對應的星期

return 0;

}break

1、用在switch中,用結束switch語句

2、迴圈結構中,結束當前的迴圈語句

3、break只對離它最近switch或者迴圈結構有效

4、break不可以單獨使用

continue:

1、只能用在迴圈結構中,跳過本次迴圈體中continue後面的語句,進入下一次條件判斷

2、continue只對它所在的迴圈有效

break,continue的共同特點:break與continue他們後面的語句都不會執行;

注意點:break與continue不可以直接用在迴圈結構中,需要與分支結構搭配使用

迴圈結構:重複執行相同操作;當滿足迴圈條件,就一直執行迴圈體,直到條件不再滿足。

while

( 條件 )

如果條件成立,就會執行迴圈體中的語句(「迴圈體」就是while後面大括號{}中的內容)。然後再次判斷條件,重複上述過程,直到條件不成立就結束while迴圈

while迴圈的特點:如果while中的條件一開始就不成立,那麼迴圈體中的語句永遠不會被執行

可以省略大括號{},但是只會影響到while後面的第一條語句。不建議省略大括號。

int main(int argc, const char * argv)

printf("轉圈\n");

//        counter++;

}printf("*************************=\n");

//  1              2  5           4 7

for (int counter = 0; counter < 3; counter++)

printf("轉圈\n");

//counter++;

}return 0;

}#include

格式:dowhile(條件表示式);//此處一定要加乙個分號

迴圈體的**至少會執行一次

int main(int argc, const char * argv)while (!win);

return 0;

}格式:

for(初始化表示式;條件表示式;迴圈後操作表示式)

初始化條件表示式:在整個迴圈中只執行一次

條件表示式:在每一次迴圈開始都會執行,如果條件表示式滿足就執行迴圈體,如果條件表示式不滿足就是結束迴圈

迴圈後操作表示式:在每一次迴圈體執行完畢都會執行操作後表示式

1、迴圈開始前做點事:比如初始化迴圈控制變數

2、確定迴圈條件表示式

3、迴圈後做點事,比如改變迴圈控制變數的值

#include

int main(int argc, const char * argv)

2、for後面的小括號中的語句是可以根據需要定製的,一般情況我都是寫全它

//    int counter = 0;

//    for (; counter < 2;)

3、for語句也可以省略大括號,省略大括號只有與for緊挨的第一條語句與for是一體的

//    for (int counter = 0; counter < 2; counter++)

//        printf("轉圈\n");

//    printf("轉完了!\n");

4、for作用域

int j = 0;

for (int counter = 0; counter < 2; counter++,j++)

//printf("counter = %d",counter);

//printf("%d",i);

//for後面小括號中語句的作用域:小於for外邊的作用域,大於迴圈體的作用域

//   

//      counter++,j++;

//    }

總執行次數 = 外層迴圈的執行次數 * 內層迴圈執行的次數,外層迴圈迴圈控制行,內層迴圈控制列;

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

}1、順順序結構:按照從上到下的順序執行

2、分支結構:相當於岔路口,當條滿足的時候執行**段1,否則執行**段2

if:如果if後面的條件表示式滿足,就執行if後面的**塊

1、if語句必須以if開頭

2、if語句最多有乙個else

3、if語句可以有任意多個else if

3、switch語句

switch(表示式)

1、表示式是整形的變數或者返回整形表示式

2、case 後面必須是整形常量,整形常量的表示式

3、如果表示式中的值與某個case中的常量相等就執行這個case中的語句

4、switch語句只有遇到break 或者 }的時候才會結束

5、只要是表示式與乙個常量匹配上了,那麼其他case將失效

6、預設情況下,default後面的break是可以省略的

7、default

C語言基礎 流程控制

順序結構 預設的流程結構。按照書寫順序執行每一條語句。選擇結構 對給定的條件進行判斷,再根據判斷結果來決定執行哪一段 迴圈結構 在給定條件成立的情況下,反覆執行某一段 簡單使用 if 表示式 語句1 if count 50 開班 上課 if 表示式 語句1 else 語句2 f count 50 開...

C 基礎(流程控制)

1流程控制 預設 都是一行接著一行,自上而下進行。但是有的時候我想根據程式中當時的環境執行不同的 或者有的時候需要重複執行某段 這兩種方法就是需要用到流程控制中的分支和迴圈。分支 有條件的執行 迴圈 重複執行相同的 2.分支 if if的語法 if is true 先執行,如果結果是true就執行 ...

C語言流程控制

1迴圈 for while do while while 邏輯值的表示式 先判斷再執行 迴圈體do while 邏輯值的表示式 先執行再判斷 注 1 表示式為真,繼續迴圈 表示式為假,退出迴圈 2 表示式中值是否初始化。3 結束退出 運算子 8 逗號運算子 表示式1,表示式2,表示式3,表示式n 結...