首页 > 编程笔记 > C语言笔记 阅读:200

C语言if else语句嵌套的例子

通义灵码

C语言 if else 嵌套的基本结构是在一个 if 或 else 语句块内部再包含另一个 if else 语句。这样的结构可以根据需要无限延伸,创建出复杂的条件判断树。不过,过度嵌套可能会导致代码难以阅读和维护,因此在实际编程中需要权衡使用。
 

让我们看一个简单的 if else 嵌套示例,假设我们要根据一个人的年龄来判断他们属于哪个年龄段:

  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int age;
  5. printf("请输入您的年龄:");
  6. scanf("%d", &age);
  7.  
  8. if (age < 0) {
  9. printf("无效年龄输入!\n");
  10. } else {
  11. if (age < 18) {
  12. printf("您是未成年人。\n");
  13. } else {
  14. if (age < 65) {
  15. printf("您是成年人。\n");
  16. } else {
  17. printf("您是老年人。\n");
  18. }
  19. }
  20. }
  21.  
  22. return 0;
  23. }

在这个例子中,我们首先检查年龄是否为负数,如果是,则输出错误信息。如果年龄是有效的,我们进入第一层 else 块,然后继续检查年龄是否小于 18。如果小于 18,输出未成年人信息。如果不小于 18,我们进入第二层 else 块,继续检查年龄是否小于 65。根据这个条件,我们决定输出成年人还是老年人信息。


运行这段代码,可能会得到如下输出:

请输入您的年龄:25
您是成年人。

虽然这个例子展示了 if else 嵌套的基本概念,但在实际编程中,我们通常会使用 else if 来简化代码结构,使其更加清晰。让我们重写上面的例子:

  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int age;
  5. printf("请输入您的年龄:");
  6. scanf("%d", &age);
  7.  
  8. if (age < 0) {
  9. printf("无效年龄输入!\n");
  10. } else if (age < 18) {
  11. printf("您是未成年人。\n");
  12. } else if (age < 65) {
  13. printf("您是成年人。\n");
  14. } else {
  15. printf("您是老年人。\n");
  16. }
  17.  
  18. return 0;
  19. }

这个版本的代码更加简洁和易读,但实现了相同的逻辑。


让我们再看一个更复杂的例子,这次我们将结合使用嵌套的 if else 语句和逻辑运算符来处理多个条件。假设我们正在开发一个简单的成绩评估系统:

  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int score;
  5. printf("请输入学生的分数(0-100):");
  6. scanf("%d", &score);
  7.  
  8. if (score < 0 || score > 100) {
  9. printf("无效的分数输入!\n");
  10. } else {
  11. if (score >= 90) {
  12. printf("优秀!\n");
  13. if (score == 100) {
  14. printf("满分!太棒了!\n");
  15. }
  16. } else if (score >= 80) {
  17. printf("良好。\n");
  18. } else if (score >= 70) {
  19. printf("中等。\n");
  20. } else if (score >= 60) {
  21. printf("及格。\n");
  22. } else {
  23. printf("不及格。\n");
  24. if (score < 30) {
  25. printf("需要加倍努力!\n");
  26. }
  27. }
  28. }
  29.  
  30. return 0;
  31. }

这个例子展示了如何使用嵌套的 if else 语句来处理多层次的条件判断。我们首先检查分数是否在有效范围内,然后根据不同的分数段给出相应的评价。注意我们如何在某些分支中添加额外的条件判断,比如对满分和极低分的特殊处理。


运行这段代码,可能会得到如下输出:

请输入学生的分数(0-100):95
优秀!

通过这些例子,我们可以看到 if else 嵌套如何帮助我们构建复杂的判断逻辑。然而,当嵌套层次过多时,代码可能变得难以理解和维护。在这种情况下,可以考虑使用 switch case 语句(适用于等值判断),或将复杂的逻辑拆分为单独的函数来提高代码的可读性和可维护性。

相关文章