# C语言中的分支和循环语句:基础与应用
C语言是一种结构化编程语言,以其高效和灵活性而闻名。在C语言中,分支和循环语句是控制程序流程的基本工具。本篇文章将介绍C语言中的几种基本分支和循环语句,并展示如何使用它们来构建更复杂的程序逻辑。
分支语句
分支语句允许程序根据条件选择不同的执行路径。C语言中最常见的分支语句包括:
1. `if` 语句
`if` 语句是最基本的条件语句,其基本语法如下:
if (condition) {
// 条件为真时执行的代码
} else {
// 条件为假时执行的代码
}
这里,`condition` 是一个表达式,如果结果为真(非零),则执行 `if` 语句块中的代码;如果结果为假(零),则执行 `else` 语句块中的代码。
2. `if...else if...else` 语句
当需要根据多个条件进行选择时,可以使用 `else if` 来扩展 `if` 语句:
if (condition1) {
// 条件1为真时执行的代码
} else if (condition2) {
// 条件2为真时执行的代码
} else {
// 所有条件都不满足时执行的代码
}
3. `switch` 语句
`switch` 语句用于基于不同的情况执行不同的代码块。它适用于有多个条件分支,并且这些条件是相互独立的情况:
switch (expression) {
case value1:
// 当expression等于value1时执行的代码
break;
case value2:
// 当expression等于value2时执行的代码
break;
...
default:
// 如果expression不匹配任何case时执行的代码
}
`switch` 语句中的 `expression` 通常是一个变量或常量表达式,`case` 后面跟的是可能的值。
## 循环语句
循环语句允许程序重复执行一段代码,直到满足特定条件。C语言中主要有两种循环语句:
### 1. `for` 循环
`for` 循环是一种计数器循环,其基本语法如下:
for (initialization; condition; increment) {
// 循环体
}
这里,`initialization` 初始化循环计数器,`condition` 定义循环继续的条件,`increment` 定义每次循环后计数器的增量。
### 2. `while` 循环
`while` 循环在条件为真时重复执行代码块:
while (condition) {
// 只要条件为真,就执行的代码
}
`condition` 是一个表达式,只要结果为真(非零),循环就会继续。
### 3. `do...while` 循环
`do...while` 循环至少执行一次代码块,然后检查条件是否为真来决定是否继续循环:
do {
// 至少执行一次的代码
} while (condition);
与 `while` 循环不同,`do...while` 循环先执行代码块,然后检查条件。
## 实践示例
让我们通过一个简单的例子来演示这些语句的使用。假设我们需要找出100以内的所有素数:
#include <stdio.h>
#include <math.h>
int main() {
for (int num = 2; num <= 100; num++) {
int isPrime = 1; // 假设num是素数
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
isPrime = 0; // num不是素数
break;
}
}
if (isPrime) {
printf("%d ", num);
}
}
return 0;
}
在这个例子中,我们使用了嵌套的 `for` 循环来检查每个数字是否为素数。外部循环遍历2到100的所有整数,内部循环检查是否有任何数能整除当前数字。如果找到这样的数,我们设置 `isPrime` 为0并跳出循环。如果循环结束后 `isPrime` 仍为1,则打印该数字。
## 结论
分支和循环语句是C语言中控制程序流程的基石。通过合理使用这些语句,程序员可以构建出功能强大且逻辑清晰的程序。掌握这些基础语句对于任何想要深入学习C语言的程序员来说都是至关重要的。