系列目錄
上一篇:白騎士的C語言教學基礎篇 1.2 C語言基礎語法
????????在這一節中,我們將介紹C語言中的控制流結構,包括條件語句、循環語句以及循環控制語句。這些結構允許我們根據不同的條件執行不同的代碼塊,從而使程序更具靈活性和功能性。
條件語句(if, else, switch)
????????條件語句用于根據表達式的結果執行不同的代碼塊。C語言中的條件語句包括 ‘if‘、‘else if‘、‘else‘ 和 ‘switch‘。
if 語句
????????‘if‘語句用于判斷表達式是否為真,如果為真,則執行相應的代碼塊結構如下:
if (condition) {// 如果condition為真,執行此代碼塊
}
? ? ? ? 例如:
int a = 10;if (a > 5) {printf("a is greater than 5\n");
}
if-else 語句
????????‘if-else‘ 語句在 ‘if‘ 條件為假時執行 ‘else‘ 代碼塊,結構如下:
if (condition) {// 如果condition為真,執行此代碼塊
} else {// 如果condition為假,執行此代碼塊
}
? ? ? ? 例如:
int a = 10;if (a > 15) {printf("a is greater than 15\n");
} else {printf("a is not greater than 15\n");
}
if-else if-else 語句
????????‘if-else if-else‘ 語句用于檢查多個條件,并執行相應的代碼塊,結構如下:
if (condition1) {// 如果condition1為真,執行此代碼塊
} else if (condition2) {// 如果condition2為真,執行此代碼塊
} else {// 如果以上條件都為假,執行此代碼塊
}
? ? ? ? 例如:
int a = 10;if (a > 15) {printf("a is greater than 15\n");
} else if (a > 5) {printf("a is greater than 5 but not greater than 15\n");
} else {printf("a is not greater than 5\n");
}
switch 語句
????????‘switch‘ 語句用于根據表達式的值執行不同的代碼塊,結構如下:
switch (expression) {case value1:// 如果expression等于value1,執行此代碼塊break;case value2:// 如果expression等于value2,執行此代碼塊break;// 可以有多個case分支default:// 如果expression不等于任何case的值,執行此代碼塊
}
? ? ? ? 例如:
int a = 2;switch (a) {case 1:printf("a is 1\n");break;case 2:printf("a is 2\n");break;case 3:printf("a is 3\n");break;default:printf("a is not 1, 2, or 3\n");
}
循環語句(for, while, do-while)
????????循環語句用于重復執行代碼塊,直到條件不再滿足。C語言中的循環語句包括 ‘for‘、‘while‘和‘do-while‘。
for 循環
????????‘for‘ 循環用于執行一個初始化語句,然后檢查條件,如果條件為真則執行循環體,最后執行更新語句,結構如下:
for (initialization; condition; update) {// 循環體
}
? ? ? ? 例如:
for (int i = 0; i < 5; i++) {printf("i = %d\n", i);
}
while 循環
????????‘while‘ 循環在每次迭代前檢查條件,如果條件為真則執行循環體,結構如下:
while (condition) {// 循環體
}
? ? ? ? 例如:
int i = 0;while (i < 5) {printf("i = %d\n", i);i++;
}
do-while 循環
????????‘do-while‘ 循環在每次迭代后檢查條件,因此循環體至少執行一次,結構如下:
do {// 循環體
}
while (condition);
? ? ? ? 例如:
int i = 0;do {printf("i = %d\n", i);i++;
}
while (i < 5);
循環控制(break, continue)
????????循環控制語句用于改變循環的執行流程。C語言中的循環控制語句包括 ‘break‘ 和 ‘continue‘。
break 語句
????????‘break‘ 語句用于立即退出循環,不再執行循環體中的剩余語句,例如:
for (int i = 0; i < 10; i++) {if (i == 5) {break;}printf("i = %d\n", i);
}
????????輸出:
i = 0
i = 1
i = 2
i = 3
i = 4
continue 語句
????????‘continue‘ 語句用于跳過當前迭代中的剩余語句,并開始下一次迭代,例如:
for (int i = 0; i < 10; i++) {if (i == 5) {continue;}printf("i = %d\n", i);
}
????????輸出:
i = 0
i = 1
i = 2
i = 3
i = 4
i = 6
i = 7
i = 8
i = 9
示例代碼
????????以下是一個綜合示例,展示了條件語句、循環語句和循環控制語句的使用:
#include <stdio.h>int main() {int num, i;printf("Enter a number: ");scanf("%d", &num);// 使用if-else語句判斷奇偶性if (num % 2 == 0) {printf("%d is even.\n", num);} else {printf("%d is odd.\n", num);}// 使用for循環計算階乘int factorial = 1;for (i = 1; i <= num; i++) {factorial *= i;}printf("Factorial of %d is %d.\n", num, factorial);// 使用while循環打印數字i = 1;while (i <= num) {printf("%d ", i);i++;}printf("\n");// 使用do-while循環打印數字i = 1;do {printf("%d ", i);i++;} while (i <= num);printf("\n");// 使用break和continue控制循環printf("Numbers from 1 to 10, skipping 5:\n");for (i = 1; i <= 10; i++) {if (i == 5) {continue; // 跳過5}printf("%d ", i);}printf("\n");return 0;
}
總結
????????通過本節的學習,我們已經了解了C語言中的條件語句、循環語句以及循環控制語句的基本用法。這些控制流結構是編寫靈活和高效程序的基礎。在接下來的章節中,我們將繼續探討C語言的函數和數據結構,進一步提升編程能力。
下一篇:白騎士的C語言教學基礎篇 1.4 函數與遞歸