欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

小朋友学C语言(12):判断

程序员文章站 2022-07-15 10:02:00
...

(一)

先动手编写一个程序:

#include <stdio.h>

int main()
{
    if(1)
    {
        printf("The condition is true!\n");
    }

    return 0;
}

运行结果:

The condition is true!

再把1依次改为,2,5,100,-10,发现运行结果完全一样。
再改成if(0),此时发现没有运行结果,说明printf()语句没被执行。

C语言把判断语句中的任何非0或非空的值当作真。所以if(1), if(2), if(5), if(100), if(-10)的效果是一样的。

(二)

再编写一个程序:

#include <stdio.h>

int main()
{
    int a = 100;
    if(a > 0)
    {
        printf("The condition value is %d\n", (a > 0));
    }

    return 0;
}

运行结果:

The condition value is 1

分析:
a = 100,a > 0成立 ,所以if( a > 0)等价于if(1)。
在C语言中,判断语句是有值的,要么为1,要么为0。比如本程序中a > 0的值就是1。

(三)

最后编写一个程序:

#include <stdio.h>

int main()
{
    char c1 = '\0';
    if(c1)
    {
        printf("The condition is true!\n");
    }
    else
    {
        printf("The condition is false!\n");
    }

    char c2 = ' ';
    if(c2)
    {
        printf("The condition is true!\n");
    }
    else
    {
        printf("The condition is false!\n");
    }

    char c3 = 'A';
    if(c3)
    {
        printf("The condition is true!\n");
    }
    else
    {
        printf("The condition is false!\n");
    }

    return 0;
}

运行结果:

The condition is false!
The condition is true!
The condition is true!

说明:C语言中用’\0’来表示空字符。空格’ ‘也是一个字符,这从if(c2)条件为真就可以看出来。

(四)作业

在纸上默写(三)中的程序。

更多内容请关注微信公众号
小朋友学C语言(12):判断