当我们在 C 程序中需要根据条件执行不同的操作时,就会使用判断语句。C 语言中常用的判断语句有 if 和 switch 两个,它们可以让程序在运行时根据条件选择不同的执行路径。
if 语句
if 语句的基本用法如下:
if (条件) {
// 条件成立时执行的语句
} else {
// 条件不成立时执行的语句
}
其中,条件部分必须是一个表达式,这个表达式的结果必须是一个 bool 类型的值。如果条件成立,则会执行花括号内的语句;否则,会执行 else 后面的语句。
下面是一个简单的示例,它判断一个数是否是正数:
#include <stdio.h>
int main() {
int x = 5;
if (x > 0) {
printf("x 是正数");
} else {
printf("x 不是正数");
}
return 0;
}
switch 语句
当我们需要根据多个可能取值的变量来选择执行路径时,if 语句就显得有些繁琐。这时可以使用 switch 语句,它的基本用法如下:
switch (表达式) {
case 值1:
// 当表达式等于值1时执行的语句
break;
case 值2:
// 当表达式等于值2时执行的语句
break;
...
default:
// 当表达式与前面所有值都不相等时执行的语句
}
switch 语句中的表达式必须是一个整数类型或字符类型,case 后面的值也必须是常量整数或字符。当表达式等于某个值时,会执行对应的 case 后面的语句,直到遇到 break 语句或 switch 语句结束为止。如果表达式与所有的值都不相等,就会执行 default 后面的语句。
下面是一个简单的示例,它根据用户输入的字符选择不同的输出:
#include <stdio.h>
int main() {
char c;
printf("请输入一个字符:");
scanf("%c", &c);
switch (c) {
case 'a':
printf("你输入了 A");
break;
case 'b':
printf("你输入了 B");
break;
default:
printf("你输入了其他字符");
}
return 0;
}