第五章:流程控制-1if

C if语句

目标

在本文章中,您将学习如何使用C if语句基于条件执行代码块。

介绍C if语句

if语句允许您基于条件运行代码块。if语句的语法如下:

if(表达式)
   语句;
复制代码

if语句对表达式求值。如果表达式的计算结果为true(或非零值),If语句将执行该语句。

但是,如果表达式的计算结果为false(或0),if语句将不执行该语句,并将控制传递给后面的语句。

注意,C将0视为false,将非零值视为true

下面的流程图演示了if语句的工作原理:

1.jpg

如果年龄大于16,下面的例子使用if语句在屏幕上显示一条消息:

#include <stdio.h>
#include <stdbool.h>

int main()
{
    int age = 20;

    if (age > 18)
        printf("你可以开车。");

    return 0;
}
复制代码

由于age是20岁,您将在输出中看到以下消息:

你可以开车。
复制代码

要形成复杂条件,可以使用逻辑运算符,包括逻辑与运算符、逻辑或运算符和逻辑非运算符。

下面的例子使用了带有复合条件的if语句:

#include <stdio.h>
#include <stdbool.h>

int main()
{
    int age = 20;
    bool have_driving_license = true;

    if (age > 18 && have_driving_license)
        printf("你可以开车。");

    return 0;
}
复制代码

由于age20岁,并且have_driveing_licensetrue,您将在输出中看到以下信息:

你可以开车。
复制代码

如果将age更改为小于18的值,或者将have_driving_license更改为false,则输出中不会看到任何内容。

使用if语句执行多个语句

要根据一个条件执行多个语句,可以使用下面的if语句:

if(表达式)
{
    语句1;
    语句2;
    //……
}
复制代码

在这种语法中,语句用花括号({})包装。

下面的例子使用if语句来执行多个语句:

#include <stdio.h>

int main()
{
    int age = 20;

    if (age > 18)
    {
        printf("你可以开车。\n");
        printf("你可以考驾照。\n");
    }

    return 0;
}
复制代码

由于age大于18,您将在输出中看到以下内容:

你可以开车。
你可以考驾照。
复制代码

注意,在if语句的末尾没有像这样的分号:

if (表达式);
{
    语句1;

}
复制代码

如果你像上面一样放置分号(;),If语句后面的块中的语句将始终执行。

原因是C语言会把这段代码当作没有代码体的if语句:

if(表达式);
复制代码

和一个代码块:

{
    语句1;
}
复制代码

这个代码块并不依赖于上面的if语句。

总结

  • 使用C if语句根据条件执行一个或多个语句。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享