【嵌入式学习经验】分支语句 if 的全面介绍

80 阅读6分钟

感谢各位大佬百忙之间过来观看,从前端到嵌入式,我的转行经历和经验分享!《C 语言小白入门篇》带大家零基础学好好 C 语言。从入门到到放弃,希望大家多多支持!

分支语句 if 的全面介绍

前言

在 C 语言中,结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。选择结构是根据条件判断来执行不同的代码块,它可以让程序更加灵活和智能。在选择结构中,if语句是最常用的一种形式,它可以根据不同的条件执行不同的操作。

结构化程序设计的三种基本结构

  1. 顺序结构:顺序结构是程序中最基本的结构,它按照代码的先后顺序依次执行每一条语句。

  2. 选择结构:选择结构是根据条件判断来执行不同的代码块,它可以让程序更加灵活和智能。

  3. 循环结构:循环结构是根据条件判断来重复执行某一段代码,它可以让程序更加高效和简洁。

分支语句(选择结构)

在 C 语言中,分支语句(选择结构)是根据条件判断来执行不同的代码块。它可以让程序更加灵活和智能。在 C 语言中,有三种分支语句:if语句、switch语句和goto语句。其中,if语句是最常用的一种形式,它可以根据不同的条件执行不同的操作。

if 语句

if语句是根据条件判断来执行不同的操作。它的语法格式如下:

if (condition) {
    // 当 condition 为真时执行的代码块
}

其中,condition是一个布尔表达式,如果condition为真,则执行if语句后面的代码块;如果condition为假,则跳过if语句后面的代码块,继续执行后面的代码。

代码演示:if语句的单分支情况

#include <stdio.h>

int main() {
    int num = 10;
    if (num > 5) {
        printf("num 大于 5\n");
    }
    return 0;
}

在上述代码中,定义了一个整型变量num,并将其初始化为10。然后,使用if语句判断num是否大于5。由于num的值为10,大于5,所以条件为真,执行if语句后面的代码块,输出num 大于 5

代码演示:if语句的单双分支情况

#include <stdio.h>

int main() {
    int num = 10;
    if (num > 5) {
        printf("num 大于 5\n");
    } else {
        printf("num 小于或等于 5\n");
    }
    return 0;
}

在上述代码中,定义了一个整型变量num,并将其初始化为10。然后,使用if语句判断num是否大于5。由于num的值为10,大于5,所以条件为真,执行if语句后面的代码块,输出num 大于 5。否则,执行else后面的代码块,输出num 小于或等于 5

代码演示:if语句的多分支情况

#include <stdio.h>

int main() {
    int num = 10;
    if (num > 10) {
        printf("num 大于 10\n");
    } else if (num > 5) {
        printf("num 大于 5 小于 10\n");
    } else {
        printf("num 小于或等于 5\n");
    }
    return 0;
}

在上述代码中,定义了一个整型变量num,并将其初始化为10。然后,使用if语句判断num是否大于10。由于num的值为10,不大于10,所以条件为假,执行else if语句判断num是否大于5。由于num的值为10,大于5,所以条件为真,执行else if语句后面的代码块,输出num 大于 5 小于 10。否则,执行else后面的代码块,输出num 小于或等于 5

if语句中的嵌套

if语句中,可以嵌套使用另一个if语句,以实现更复杂的条件判断。嵌套的if语句的语法格式如下:

if (condition1) {
    // 当 condition1 为真时执行的代码块
    if (condition2) {
        // 当 condition2 为真时执行的代码块
    }
}

在上述代码中,如果condition1为真,则执行if语句后面的代码块。如果condition2也为真,则执行嵌套的if语句后面的代码块。

代码演示:if语句中的嵌套

#include <stdio.h>

int main() {
    int num = 10;
    if (num > 5) {
        printf("num 大于 5\n");
        if (num > 8) {
            printf("num 大于 8\n");
        }
    }
    return 0;
}

在上述代码中,定义了一个整型变量num,并将其初始化为10。然后,使用if语句判断num是否大于5。由于num的值为10,大于5,所以条件为真,执行if语句后面的代码块,输出num 大于 5。然后,在if语句后面的代码块中,再次使用if语句判断num是否大于8。由于num的值为10,大于8,所以条件为真,执行嵌套的if语句后面的代码块,输出num 大于 8

if语句中的注意事项

  1. if语句后面的代码块必须用花括号{}括起来,即使只有一条语句也不能省略花括号。

  2. if语句中,可以使用逻辑运算符&&||!来组合多个条件。

  3. if语句中,可以使用关系运算符><>=<===!=来比较两个值。

  4. if语句中,可以使用赋值运算符=来给变量赋值。

if语句中的大括号

if语句中,大括号{}是用来括住代码块的。如果if语句后面只有一条语句,可以省略大括号。但是,为了提高代码的可读性和可维护性,建议在if语句后面的代码块都使用大括号括起来。

悬空 else、else 的匹配规则

if语句中,如果有多个else,那么else的匹配规则是:else总是与离它最近的if匹配。如果if语句没有用大括号括起来,那么else的匹配规则是:else总是与离它最近的if匹配,并且if语句必须在else语句之前。

总结

if语句是 C 语言中最常用的选择结构语句之一,它可以根据不同的条件执行不同的操作。在使用if语句时,需要注意以下几点:

  1. if语句后面的代码块必须用花括号{}括起来,即使只有一条语句也不能省略花括号。
  2. if语句中,可以使用逻辑运算符&&||!来组合多个条件。
  3. if语句中,可以使用关系运算符><>=<===!=来比较两个值。
  4. if语句中,可以使用赋值运算符=来给变量赋值。
  5. if语句中,如果有多个else,那么else的匹配规则是:else总是与离它最近的if匹配。如果if语句没有用大括号括起来,那么else的匹配规则是:else总是与离它最近的if匹配,并且if语句必须在else语句之前。