程序的选择结构通常包括以下几种形式:
基本选择结构(if-else)
语法:
```c
if (条件) {
// 条件为真时执行的代码块
} else {
// 条件为假时执行的代码块
}
```
示例:
```c
include int main() { int a = 5; if (a > 0) { printf("a is positive\n"); } else { printf("a is not positive\n"); } return 0; } ``` 语法: ```c if (条件1) { // 条件1为真时执行的代码块 } else if (条件2) { // 条件2为真时执行的代码块 } else if (条件3) { // 条件3为真时执行的代码块 } else { // 所有条件都不为真时执行的代码块 } ``` 示例: ```c include int main() { int score = 75; if (score >= 90) { printf("A\n"); } else if (score >= 80) { printf("B\n"); } else if (score >= 70) { printf("C\n"); } else { printf("D\n"); } return 0; } ``` 语法: ```c if (条件1) { if (条件2) { // 条件2为真时执行的代码块 } else { // 条件2为假时执行的代码块 } } else { // 条件1为假时执行的代码块 } ``` 示例: ```c include int main() { int a = 5; int b = 10; if (a < b) { if (a == 0) { printf("a is zero\n"); } else { printf("a is less than b\n"); } } else { printf("a is greater than or equal to b\n"); } return 0; } ``` 语法: ```c switch (变量或表达式) { case 常量1: // 匹配常量1时执行的代码块 break; case 常量2: // 匹配常量2时执行的代码块 break; ... case 常量n: // 匹配常量n时执行的代码块 break; default: // 所有情况都不匹配时执行的代码块 break; } ``` 示例: ```c include int main() { int day = 3; switch (day) { case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; case 4: printf("Thursday\n"); break; case 5: printf("Friday\n"); break; default: printf("Weekend\n"); break; } return 0; } ``` 建议 清晰性:使用括号明确代码块的范围,提高代码的可读性。 简洁性:尽量减少嵌套层次,避免过深的嵌套导致代码难以维护。 效率:在适当的情况下,使用switch语句代替多个if-else语句,因为switch语句通常在编译时可以进行优化,提高执行效率。 根据具体需求和场景选择合适的选择结构,可以使程序更加清晰、高效。多重if选择结构
嵌套if选择结构
switch选择结构