C 语言中的分支语句和循环语句是编程中最常用的控制结构。它们帮助程序根据不同的条件做出决策或重复执行特定的操作。掌握这些语句是编写高效程序的基础。以下是 C 语言中常见的分支语句和循环语句的总结。
1. C语言中的分支语句
1.1 if 语句
if 语句用于在满足某个条件时执行一段代码。如果条件为真,则执行对应的语句块。其基本语法如下:
if (condition) {
// 如果条件为真,执行的代码
}
示例:
#include <stdio.h>
int main() {
int x = 10;
if (x > 0) {
printf("x 是正数\n");
}
return 0;
}
在这个例子中,x 大于 0,因此输出 x 是正数。
1.2 if-else 语句
if-else 语句让你在条件不成立时执行另一段代码。其语法如下:
if (condition) {
// 条件成立时执行的代码
} else {
// 条件不成立时执行的代码
}
示例:
#include <stdio.h>
int main() {
int x = -5;
if (x > 0) {
printf("x 是正数\n");
} else {
printf("x 是负数或零\n");
}
return 0;
}
根据 x 的值,输出结果会是 x 是负数或零。
1.3 if-else if-else 语句
if-else if-else 语句用于处理多个条件,适用于需要多个不同判断的情况。其语法如下:
if (condition1) {
// 条件1成立时执行的代码
} else if (condition2) {
// 条件2成立时执行的代码
} else {
// 所有条件都不成立时执行的代码
}
示例:
#include <stdio.h>
int main() {
int x = 0;
if (x > 0) {
printf("x 是正数\n");
} else if (x < 0) {
printf("x 是负数\n");
} else {
printf("x 是零\n");
}
return 0;
}
根据 x 的值,输出 x 是零。
1.4 switch 语句
switch 语句是另一种选择结构,通常用于根据变量的值执行不同的操作。它通常比多个 if-else 更简洁。其语法如下:
switch (variable) {
case value1:
// 执行的代码
break;
case value2:
// 执行的代码
break;
default:
// 默认执行的代码
}
示例:
#include <stdio.h>
int main() {
int day = 3;
switch (day) {
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
default:
printf("无效的星期\n");
}
return 0;
}
输出 星期三。
2. C语言中的循环语句
2.1 while 循环
while 循环用于在条件为真时重复执行一段代码。语法如下:
while (condition) {
// 条件为真时执行的代码
}
示例:
#include <stdio.h>
int main() {
int i = 0;
while (i < 5) {
printf("%d\n", i);
i++;
}
return 0;
}
这个例子将输出 0 1 2 3 4。
2.2 do-while 循环
do-while 循环和 while 类似,但不同的是它会先执行一次代码块,然后再判断条件是否成立。确保至少执行一次循环。语法如下:do {
// 执行的代码
} while (condition);
示例:
#include <stdio.h>
int main() {
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 5);
return 0;
}
输出 0 1 2 3 4,与 while 循环的区别在于执行顺序。
2.3 for 循环
for 循环适合已知循环次数的情况。语法如下:for (initialization; condition; update) {
// 执行的代码
}
示例:
#include <stdio.h>
int main() {
for (int i = 0; i < 5; i++) {
printf("%d\n", i);
}
return 0;
}
输出 0 1 2 3 4。
2.4 break 和 continue
break 用于立即退出当前循环,跳出循环体。
continue 用于跳过当前循环中的剩余部分,直接进入下一次循环。
示例:
#include <stdio.h>
int main() {
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 跳过 i == 2 的情况
}
if (i == 4) {
break; // 退出循环
}
printf("%d\n", i);
}
return 0;
}
输出:
0
1
3