前言
Hello,各位碼友,本章將會給大家帶來C語言的分支與循環整章串講,這一張的內容分為基礎知識和程序練習兩個部分
希望通過這一章能夠帶大家更好地去掌握C語言的分支與循環語句
大家一起努力吧
C語言分支與循環語句(基礎知識)
- C語言語句的分類
- 一、分支語句
- (1)if語句
- (2)if-else 語句
- (3)if-else if-else 鏈
- 流程圖演示
- 注意:懸空else問題
- (4)switch 語句
- 二、循環語句
- (1)while 循環
- 流程圖演示
- (2)do-while 循環
- 流程圖演示
- (3)for 循環
- 流程圖演示
- 三、嵌套循環
- 拓展:輔助控制語句
- (1)break
- 流程圖演示
- (2)continue
- 流程圖演示
- (3)goto
- 這一章的C語言分支與循環結構的基礎知識已經全部講完了,下一章會利用幾道程序設計題目讓大家更好地掌握分支循環語句
C語言語句的分類
(1)表達式語句(例如 y=x+3;假設變量y和x均已定義)
(2)函數調用語句(MAX(x,y);假設函數MAX()已經定義)
(3)控制語句
(4)復合語句(把多種語句復合在一起形成的語句)
(5)空語句(例如 ;分號本身就可以作為一條語句,稱為空語句,至于空語句的作用,后續會講到 )
無論上述哪一種語句,都必須以分號結束!
一、分支語句
(1)if語句
作用: 基礎條件判斷
if (條件) {// 條件為真時執行
}
(2)if-else 語句
作用: 二選一分支。
if (條件) {// 條件為真時執行
} else {// 條件為假時執行
}
(3)if-else if-else 鏈
作用: 多條件分支。
if (條件1) {// 條件1為真時執行
} else if (條件2) {// 條件2為真時執行
} else {// 其他情況
}
流程圖演示
注意:懸空else問題
如果有多個if
和else
,可以記住這樣一條規則,else
總是跟最近的if
匹配
我們首先從最下面的代碼開始
include <stdio.h>
int main(){int a = 0;int b = 2;if(a = 1)if(b = 2)printf("hehe\n");elseprintf("haha\n");return 0;
}
最后你會發現,運行代碼啥都不輸出
這就是懸空else
的問題,就是else
總是跟最近的if
匹配
(4)switch 語句
作用: 多路選擇,基于整型或枚舉值。
switch (表達式) {case 值1:// 匹配值1時執行break;case 值2:// 匹配值2時執行break;default:// 默認情況 或者 剩余情況
}
二、循環語句
(1)while 循環
作用: 先判斷條件,后執行循環體。
while (條件) {// 條件為真時重復執行
}
流程圖演示
(2)do-while 循環
作用: 先執行一次循環體,再判斷條件(至少執行一次)。
do {// 循環體
} while (條件);
流程圖演示
(3)for 循環
集初始化、條件判斷、迭代于一行。
for (初始化; 條件; 迭代) {// 循環體
}
代碼示例:
for (int i = 0; i < 10; i++) {printf("%d\n", i);}
流程圖演示
三、嵌套循環
循環內包含其他循環(任意組合 for、while、do-while)。
for (int i = 0; i < 3; i++) {while (j < 2) {// 嵌套邏輯j++;}
}
利用嵌套循環可以打印出不同樣式的九九乘法表,在程序練習那一章會講解
拓展:輔助控制語句
作用: 與分支和循環配合使用的跳轉語句:
(1)break
作用: 立即退出當前循環或 switch 語句。
while (1) {if (x == 5) break; // 退出循環
}
流程圖演示
(2)continue
作用: 跳過當前循環的剩余部分,進入下一次迭代。
注意:
-
只能在 for、while、do-while 循環內部使用。
-
不可在 switch 或非循環代碼塊中直接使用(除非 switch 嵌套在循環內)。
for (int i = 0; i < 10; i++) {if (i % 2 == 0) continue; // 跳過偶數printf("%d ", i); // 僅打印奇數
}
流程圖演示
(3)goto
作用: 跳轉到指定標簽(慎用,易破壞代碼結構)。
goto label;
// ...
label:printf("跳轉至此");
這一章的C語言分支與循環結構的基礎知識已經全部講完了,下一章會利用幾道程序設計題目讓大家更好地掌握分支循環語句
如果你覺得這篇文章對你有幫助,請給小編一個三連支持一下嘻嘻嘻