在C语言中,条件判断是一种根据特定条件执行不同代码块的核心机制。为了更好地理解这一概念,本文将深入探讨C语言中的四种主要条件判断结构——if
、else
、else if
和switch
,并通过优化变量来展示其实际应用。
1. if 语句
if 语句用于基于某个条件决定是否执行一段代码。如果条件为真(非零),则执行紧跟在 if
后的代码块。
int age = 20; if (age > 30) { printf("年龄大于30"); } else { printf("年龄小于或等于30\n"); }
在此例中,由于变量 age
的值为 20,条件 age > 30
为假,因此程序会执行 else
块中的代码,并输出“年龄小于或等于30”。
2. else if 语句
else if 结构是对 if 语句的扩展,用于检查多个条件并执行与满足条件对应的代码块。当第一个条件不成立时,程序会继续检查后续的 else if
条件,直到遇到一个为真的条件或执行最后的 else
块。
int grade = 60; if (grade >= 90) { printf("优秀"); } else if (grade >= 70) { printf("良好"); } else if (grade >= 60) { printf("及格\n"); } else { printf("不及格"); }
在这个例子中,变量 grade
的值为 60,由于它满足第三个 else if
条件 grade >= 60
,所以程序会执行该块中的代码并输出“及格”。
3. switch 语句
switch 语句基于表达式的值执行多个可能的代码块。每个代码块由 case
标签标识,当表达式的值与某个 case
标签匹配时,执行该标签后的代码直至遇到 break
语句或到达 switch
结束。
char letterGrade = 'E'; switch (letterGrade) { case 'A': printf("等级为 A"); break; case 'B': printf("等级为 B"); break; case 'C': printf("等级为 C"); break; default: printf("未知等级"); break; }
此例中,变量 letterGrade
的值为 ‘E’,与所有 case
标签都不匹配,因此程序执行 default
块中的代码并输出“未知等级”。