C语言条件判断语句:if、else if、else

1)简单介绍三种形式的条件判断语句:if、else if、else


if:

if(表达式)
    执行语句

if:判断表达式内容,如果为true(真),就执行语句


else if:

if(表达式)
    执行语句
else if(表达式1)
    执行语句1
......(很多的else if)
else if(表达式m)
    执行语句m

else if:如果if的判断没有通过,则进行下面的else if,如果当前的else if判断通过,则执行当前else if的语句。如果没通过,则一直执行下面的else if判断


else:

if(表达式)
    执行语句
else if(表达式)
    执行语句
else 
    执行语句
else:else为最后的分支,如果在else之前的if、else if判断都没有通过就会执行else

PS:在一条if条件判断中,可以有无数条else if,但是只能有一个else


2)三种形式的判断语句使用:if、else if、else


if:

为了可以看到结果使用printf进行显示结果

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

int main(void)
{
	bool bTrue = true;

	if (bTrue)
	    printf("if true!\n");
	return 0;
}

结果:

if true!

简单讲解上面的程序:

包含了stdio.h是为了使用printf函数进行格式化输出结果

包含了stdbool.h,stdbool.h是C99添加_Bool(布尔值类型)关键字新增的头文件,在stdbool.h中为我们定义了三个我们所使用到的宏:

bool            _Bool(布尔值类型)

true            1

false           0

所以此处定义了一个_Bool(布尔值类型)变量bTrue,并且赋值true(1)

所以此处判断为真,最终printf格式化输出了true

PS:_Bool(布尔值类型)占1字节内存大小

PS:判断真假,真只要不等于0,假为0


else if:

为了可以看到结果使用printf进行显示结果

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

int main(void)
{
	bool bTrue = true;
	bool bFalse = false;

	if (bFalse)
		printf("if true!\n");
	else if(bFalse)
		printf("else if true!\n");
	else if (bTrue)
		printf("else if true!\n");
	return 0;
}

结果:

else if true!

简单讲解上面的程序:

定义了一个_Bool(布尔值类型)变量bTrue,并且赋值true(1)

定义了一个_Bool(布尔值类型)变量bFalse,并且赋值false(0)

下面的if、else if,此处故意定义多定义一个else if表示在一个if条件判断中可以有多个else if判断

首先第一个if,因为bFalse为0,所以判断为false(假),为通过,所以往下执行

下一个else if,因为bFalse为0,所以当前的else if判断为false(假),未通过,然后往下执行

下一个else if,因为bTrue为1,不等于0,所以当前的else if判断为true(真),通过,然后进行printf格式化输出else if true!,最后跳出当前这个if判断

PS:如果没有通过当前else if,则一直执行下面的else if判断,如果最后所有else if判断都没有通过,则执行else语句(else为无条件通过),如果也没有else,则最终跳出当前if判断语句


else:

为了可以看到结果使用printf进行显示结果

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

int main(void)
{
	bool bTrue = true;
	bool bFalse = false;

	if (bFalse)
		printf("if true!\n");
	else if(bFalse)
		printf("else if true!\n");
	else 
		printf("else!\n");
	return 0;
}

结果:

else!

简单讲解上面的程序:

定义了一个_Bool(布尔值类型)变量bTrue,并且赋值true(1)

定义了一个_Bool(布尔值类型)变量bFalse,并且赋值false(0)

首先执行第一个if,if判断为bFalse为false(假),未通过,继续执行下面的else if或else

下一个else if,else if判断为bFalse为false(假),未通过,继续执行下面的else if或else

下一个else,else为无条件通过,最终printf格式输出else!

PS:在一个if条件判断中,如果之前的if和else if都未通过,那么执行到else为无条件通过






猜你喜欢

转载自blog.csdn.net/qq_31243065/article/details/80924922