一文彻底搞定C语言中的条件语句if

简介: 本文介绍了C语言中的条件语句,如if、if-else和switch,帮助读者理解如何根据不同的条件执行相应的代码块。通过实例讲解了if语句的基本用法及其复杂形式,并提供了编写条件语句的最佳实践建议。君志所向,一往无前!

程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java、鸿蒙、嵌入式、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴!君志所向,一往无前!


1.条件语句

1.1 条件语句

条件语句想象成一个岔路口,你的程序就像一辆行驶的汽车,而条件语句就是决定汽车走哪条路的路标

在 C 语言中,分支语句用于根据不同的条件执行不同的代码块,使程序能够根据输入或程序状态做出决策。主要的分支语句包括 if 语句、if-else 语句和 switch 语句。

1.2 if语句

image.png

if语句是我们日常使用最多的条件语句

最简单的就是直接if语句使用即可,满足执行,不满足条件就不执行

稍微复杂点的就是if语句+else语句,表示满足就执行if不满足就执行else呗

最为复杂点的就是if+else if+else 表示多个条件,匹配哪个就执行哪个,如果都没有匹配,那就执行else。

if (条件表达式 1) {
    // 当条件表达式 1 为真(非零)时执行的代码块
} else if (条件表达式 2) {
    // 当条件表达式 1 为假且条件表达式 2 为真时执行的代码块
} else {
    // 当条件表达式 1 和条件表达式 2 都为假时执行的代码块
}
AI 代码解读

其中:

  1. 条件表达式:这是一个可以求值为布尔值(在 C 语言中,非零值表示真,零值表示假)的表达式。可以是简单的比较运算(如 a > b)、逻辑运算(如 a && b)、函数调用(其返回值为非零或零)等。
  2. {} 内的代码块:当 条件表达式 的结果为真时,程序将执行该代码块中的代码。
//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 代码解读

注意事项:

  1. 条件表达式必须用括号 () 括起来。
  2. 代码块要用花括号 {} 括起来。如果代码块中只有一条语句,花括号可以省略,但为了代码的可读性和避免出错,建议总是使用花括号。
  3. else 和 else if 是可选的,根据实际需求添加。
  4. 条件表达式的结果会自动转换为布尔值,非零值被视为真,零值被视为假。
  5. 悬空 else:主要意思是说,当有多个 else 时,else 会最先与最近的未被匹配的 if 配对。

实际if语句的使用建议:

  1. 每一句的 if 和 else 后面最好都跟上一个大括号,不论有几条语句(哪怕只有一条)。
  2. 我们写出 if 后如果不跟 else,看一下是否跟上 else 会更能增加代码的可读性。
  3. 如果写判断是否相等,可以考虑把常数写在左边,变量写在右边。

好啦,本篇就到这里啦,关注我,跟着我搞起来!

目录
打赏
0
0
0
0
50
分享
相关文章
一文彻底搞清楚C语言的条件语句的Switch语句
本文详细介绍了C语言中的switch语句,包括其语法格式、运行流程、示例代码及注意事项。switch语句不仅使多分支选择更加清晰易读,还能在某些情况下提升性能。通过具体实例,如判断月份天数和数字转星期,帮助读者更好地理解和应用这一控制结构。
62 1
一文彻底搞清楚C语言的条件语句的Switch语句
C语言中的条件语句技术详解
C语言中的条件语句技术详解
192 2
|
10月前
|
C语言条件语句
C语言条件语句
193 0
|
10月前
|
C语言循环及条件语句
C语言循环及条件语句
97 0
C语言第四讲——条件语句
C语言第四讲——条件语句
94 0
【新手解答5】深入探索 C 语言:宏中的文本、标识符和字符串 + 递归运算、条件语句、循环 + `switch-case` 与多项条件和枚举的差别
【新手解答5】深入探索 C 语言:宏中的文本、标识符和字符串 + 递归运算、条件语句、循环 + `switch-case` 与多项条件和枚举的差别
109 0
C语言循环及条件语句
C语言循环及条件语句
130 0
C语言之if条件语句
C语言的if,if-else if,if-else if-else语句
678 0
C语言之if条件语句
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
139 23
一文彻底搞清楚C语言的函数
本文介绍C语言函数:函数是程序模块化的工具,由函数头和函数体组成,涵盖定义、调用、参数传递及声明等内容。值传递确保实参不受影响,函数声明增强代码可读性。君志所向,一往无前!
24 1
一文彻底搞清楚C语言的函数
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等