C语言中的选择结构——if语句/if...else语句

概述

C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。

  • 顺序结构:程序按顺序执行,不发生跳转。
  • 选择结构:依据是否满足条件,有选择的执行相应功能。
  • 循环结构:依据条件是否满足,循环多次执行某段代码。

今天,我们就来详细讨论一下选择结构。

选择结构 

 if语句

if语句是C语言中最常用的语句之一,它向我们表达的意思也很简单——如果。

逻辑流程图如下所示:

 看完我们就可以清晰的知道,if语句是一个具有选择筛选功能的语句,其也具有选择筛选功能。

if 语句格式如下:

if (表达式) 语句 1

上述括号中的表达式会先被计算,以判断接下来是否执行语句 1,如果它的值为 true(也就是不等于 0),那么语句 1 会被执行。如果为 false,那么语句 1将会被直接跳过。

 if语句语法如下:

if(boole_a_expression)
{
   /* 如果布尔表达式为真将执行的语句 */
}

代码实例:

#include <stdio.h>

int main()
{
	int a = 10;
	int b = 20;

	if (a > b)    //给出判断a是否大于b
	{
		printf("%d\n", a);    //如果a大于b 则执行该语句,反之跳过即可。
	}

	return 0;
} 

if…else语句 

前面我们刚看完if语句,知道了if语句是一个具有选择功能的语句,那么接下来,我们也不难理解if...else 语句。

其if...else 语句是如果...那么... 否则...那么... 的意思,也就是如果只有if语句的话,在不成立的情况下会直接跳过,但是后面衔接else的话,不成立则会执行else后的语句。

逻辑流程图如下所示:

 if ...else语句格式如下:

if (表达式) 语句 1  

         else 语句2 

上述括号中的表达式会先被计算,以决定接下来被执行的是语句 1 还是语句 2。该表达式必须具有标量类型。如果它的值为 true(也就是不等于 0),那么语句 1 会被执行。如果为 false,则语句 2 会被执行。 

注意C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。

  if ...else语句语法如下:

if(boole_a_expression)
{
   /* 如果布尔表达式为真将执行的语句 */
}
else
{
   /* 如果布尔表达式为假将执行的语句 */
}

代码实例

#include <stdio.h>
int main()
{
	int a = 10;
	int b = 20;

	if (a > b)    //判断
	{
		printf("%d\n", a);    //如果a>b 则执行此语句
	}
	else
	{
		printf("%d\n", b);    //如果a<b 则执行此语句
	}
	return 0;
}

 if…else if…else语句

至于if...else if...else语句 就是不断嵌套的一个过程,也就是其结果可以分为多枝,只需要确保一个if 对应 一个else即可。

这里我们可以理解为,如果一个语句执行,判断为真后执行语句1,如果判断为假后,继续判断其是否满足另一个条件,如果满足另一个条件就执行语句2,如果不满足可以继续延伸下去。

一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。

当使用 if...else if...else 语句时,以下几点需要注意:

  • 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
  • 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
  • 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。

逻辑流程图如下所示:

 if…else if…else语法如下:

if(bool_a_expression 1)
{
   /* 当布尔表达式 1 为真时执行 */
}
else if( bool_a_expression 2)
{
   /* 当布尔表达式 2 为真时执行 */
}
else if( bool_a_expression 3)
{
   /* 当布尔表达式 3 为真时执行 */
}
else 
{
   /* 当上面条件都不为真时执行 */
}

代码实例

#include <stdio.h>

int main()
{
	unsigned int a;
	scanf("%u", &a);

	if (a < 10)
	{
		printf("个位\n");  
	}
	else if (a < 100)
	{
		printf("十位\n");
	}
	else if (a < 1000)
	{
		printf("百位\n");
	}
	else
	{
		printf("很大\n");
	}

	return 0;
}

这些就是C语言中选择结构——if语句/if...else语句的相关知识了,当然选择结构不仅仅只有if语句,接下来会为大家介绍switch语句以及三目运算符,如果感兴趣的朋友可以订阅一下本人C语言的专栏,获得更新进度噢。

猜你喜欢

转载自blog.csdn.net/qq_62464995/article/details/129587833