选择语句在程序中用于根据不同的条件执行不同的代码块。主要包括`if`语句和`switch`语句。以下是这两种语句的基本写法:
if 语句
`if`语句用于在满足某个条件时执行一段代码。它可以是单分支、双分支或多分支的。
单分支 if 语句
```c
if (条件表达式) {
语句块;
}
```
双分支 if 语句
```c
if (条件表达式) {
语句块1;
} else {
语句块2;
}
```
多分支 if 语句
```c
if (条件表达式1) {
语句块1;
} else if (条件表达式2) {
语句块2;
}
...
else if (条件表达式m-1) {
语句块m-1;
} else {
语句块m;
}
```
switch 语句
`switch`语句用于根据一个变量的值执行不同的代码块。每个`case`标签对应一个可能的值,如果变量的值与某个`case`标签的值匹配,则执行该`case`下的代码块,直到遇到`break`语句或`switch`语句结束。
```c
switch (变量) {
case 值1:
语句块1;
break;
case 值2:
语句块2;
break;
...
case 值m:
语句块m;
break;
default:
语句块m+1; // 当没有匹配的case时执行的代码块
}
```
示例
```c
include
int main() {
int number;
printf("请输入一个整数: ");
scanf("%d", &number);
if (number > 0) {
printf("%d 是正数\n", number);
} else if (number < 0) {
printf("%d 是负数\n", number);
} else {
printf("%d 是零\n", number);
}
printf("请输入一个字符: ");
char choice;
scanf(" %c", &choice); // 注意前面的空格,用于跳过换行符
switch (choice) {
case 'a':
printf("你选择了字母a\n");
break;
case 'b':
printf("你选择了字母b\n");
break;
case 'c':
printf("你选择了字母c\n");
break;
default:
printf("未知的选择\n");
}
return 0;
}
```
在这个示例中,程序首先提示用户输入一个整数,然后使用`if`语句判断该整数是正数、负数还是零,并输出相应的信息。接着,程序提示用户输入一个字符,并使用`switch`语句根据输入的字符执行不同的代码块。