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

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

if:

if(表达式)
    执行语句

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

else if:

<span style="color:#333333">if(表达式)
    执行语句
else if(表达式1)
    执行语句1
......(很多的else if)
else if(表达式m)
    执行语句m</span>

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为无条件通过

补充 (2020.2.13): 

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

int main(void)
{
	// 设定一个循环次数
	int i = 0, count = 10;
	while (i++ < count)
	{
		// 用if做一个判断, 当 i 为 4 的时候则执行 if 中的内容
		if (i == 4)
		{
			// 简单打印一条内容
			printf("i == 4.\n");
		}

		// 一个循环中有多个 if 进行判断
		// 用if做一个判断, 当 i 为 3 的时候则执行 if 中的内容
		if (i == 3)
		{
			// 简单打印一条内容
			printf("i == 3.\n");
		}

		// 一个循环中有多个 if 进行判断
		// 用if做一个判断, 当 i 为 2 的时候则执行 if 中的内容
		if (i == 2)
		{
			// 简单打印一条内容
			printf("i == 2.\n");
			// 注意使用了 continue 后不会再执行下面的内容了
			printf("continue.\n");
			continue;
		}

		// 打印进行突出 continue
		printf("i is %d, end.....\n", i);
	}
	return 0;
}

结果:

i is 1, end.....
i == 2.
continue.
i == 3.
i is 3, end.....
i == 4.
i is 4, end.....
i is 5, end.....
i is 6, end.....
i is 7, end.....
i is 8, end.....
i is 9, end.....
i is 10, end.....

简单讲解上面的程序:

1. 首先定义一个 int(整数类型)的变量 i 用于循环计数 和 定义一个 int(整数类型)的变量 count 用于表示总循环数

2. 然后执行 while 循环,进行一个循环内容的执行,每执行一次进行一次计数递增

3. 在 while 循环中进行 if 的判断,应要求在循环中增加多个 if 的判断,在每个的判断中进行简单的打印内容

4. 在循环中 if 的执行 取决于它的判断条件是否匹配,并且如果匹配也仅只会执行一次

5. 通过结果可以看出,在 while 中 执行到 continue 则不会再往下执行了,通过 i 为 2 的 if 判断则可知道

  • 149
    点赞
  • 401
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值