程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java、鸿蒙、嵌入式、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴!君志所向,一往无前!
1.条件语句
1.1 条件语句
条件语句想象成一个岔路口,你的程序就像一辆行驶的汽车,而条件语句就是决定汽车走哪条路的路标
在 C 语言中,分支语句用于根据不同的条件执行不同的代码块,使程序能够根据输入或程序状态做出决策。主要的分支语句包括 if 语句、if-else 语句和 switch 语句。
1.2 if语句
if语句是我们日常使用最多的条件语句
最简单的就是直接if语句使用即可,满足执行,不满足条件就不执行
稍微复杂点的就是if语句+else语句,表示满足就执行if不满足就执行else呗
最为复杂点的就是if+else if+else 表示多个条件,匹配哪个就执行哪个,如果都没有匹配,那就执行else。
if (条件表达式 1) {
// 当条件表达式 1 为真(非零)时执行的代码块
} else if (条件表达式 2) {
// 当条件表达式 1 为假且条件表达式 2 为真时执行的代码块
} else {
// 当条件表达式 1 和条件表达式 2 都为假时执行的代码块
}
AI 代码解读
其中:
- 条件表达式:这是一个可以求值为布尔值(在 C 语言中,非零值表示真,零值表示假)的表达式。可以是简单的比较运算(如 a > b)、逻辑运算(如 a && b)、函数调用(其返回值为非零或零)等。
- {} 内的代码块:当 条件表达式 的结果为真时,程序将执行该代码块中的代码。
//if语句
void f3(){
int sex = 1;
if (sex) {
printf("女人\n");
} else {
printf("男人\n");
}
}
//复杂点的if语句
void f4(){
int score; // 存储学生成绩
int attendance; // 存储学生出勤天数
int total_days = 100; // 总出勤天数
// 提示用户输入成绩和出勤天数
printf("请输入学生的成绩 (0-100): ");
scanf("%d", &score);
printf("请输入学生的出勤天数 (0-%d): ", total_days);
scanf("%d", &attendance);
if (score >= 90 && attendance >= total_days * 0.9) {
printf("该学生成绩优秀,并且出勤情况良好,等级为 A\n");
} else if (score >= 80 && attendance >= total_days * 0.8) {
printf("该学生成绩良好,出勤情况不错,等级为 B\n");
} else if (score >= 70 && attendance >= total_days * 0.7) {
printf("该学生成绩中等,出勤情况尚可,等级为 C\n");
} else if (score >= 60 && attendance >= total_days * 0.6) {
printf("该学生成绩及格,出勤基本满足要求,等级为 D\n");
} else if (score < 60 || attendance < total_days * 0.6) {
if (score < 60 && attendance < total_days * 0.5) {
printf("该学生成绩不及格且出勤严重不足,等级为 F\n");
} else if (score < 60) {
printf("该学生成绩不及格,但出勤情况尚可,等级为 E\n");
} else {
printf("该学生成绩及格,但出勤严重不足,等级为 E\n");
}
} else {
printf("输入可能有误,请检查输入的成绩和出勤天数\n");
}
}
AI 代码解读
注意事项:
- 条件表达式必须用括号 () 括起来。
- 代码块要用花括号 {} 括起来。如果代码块中只有一条语句,花括号可以省略,但为了代码的可读性和避免出错,建议总是使用花括号。
- else 和 else if 是可选的,根据实际需求添加。
- 条件表达式的结果会自动转换为布尔值,非零值被视为真,零值被视为假。
- 悬空 else:主要意思是说,当有多个 else 时,else 会最先与最近的未被匹配的 if 配对。
实际if语句的使用建议:
- 每一句的 if 和 else 后面最好都跟上一个大括号,不论有几条语句(哪怕只有一条)。
- 我们写出 if 后如果不跟 else,看一下是否跟上 else 会更能增加代码的可读性。
- 如果写判断是否相等,可以考虑把常数写在左边,变量写在右边。
好啦,本篇就到这里啦,关注我,跟着我搞起来!