zl程序教程

您现在的位置是:首页 >  其他

当前栏目

分支选择结构

2023-04-18 14:22:31 时间

在这里插入图片描述

分支语句又被称为选择结构,选择结构就是根据一个boolean表达式,来决定执行哪一些代码(代码块)。比较常见的分支语句有if语句和switch语句,下面将以代码的形式说明if和switch语句的基本构成以及其作用。
1、if语句:if语句作为选择语句,他通常结构为:
if(表达式)
语句;

if(表达式)
语句1;
else
语句2;
亦或者像这种多分支结构:
if(表达式)
语句1;
else if(表达式2)
语句2;
else
语句3;
如果表达式的结果为真,则执行if下方代码块{}中的语句(如果没有{}则执行距离最近的一条语句),其中0表示假,非0表示真。

#include<stdio.h>
//输出多条选择语句
int main()
{
	int day = 0;
	scanf("%d", &day);
	if (1 == day)//当输入为1时,输出星期一
		printf("星期一");
	else if (2 == day)//当输入为2时,输出星期二
		printf("星期二");
	else if(3==day)//当输入为3时,输出星期三
		printf("星期三");
		return 0;
}

还有一个需要注意的点是:else是和离他最近的if匹配的,范例如下:

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
        if(b == 2)
            printf("hehe
");
    else//这里的else是和if(b==2)相匹配,而并非是与之对其的if(a==1)匹配
        printf("haha
");
    return 0; }

2.switch语句:上面我们已经讲述了if语句的用法,switch语句作为分支结构的另一种,在使用时也有他的独到之处。

#include<stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)//()中必须为整型表达式
	{
	case 1://入口
		printf("星期一
");
		break;//跳出分支
	case 2://整型常量表达式
		printf("星期二
");
		break;
	case 3:
		printf("星期三
");
		break;
	case 4:
		printf("星期四
");
		break;
	case 5:
		printf("星期五
");
		break;
	case 6:
		printf("星期六
");
		break;
	case 7:
		printf("星期日
");
		break;
	default:
		printf("输入错误
");
		break;
	}
	return 0;
}

在需要输出多条选择语句时,使用if else语句会显得比较繁琐,相比之下switch语句显得更加简洁清楚一些。switch在使用过程中需要注意一些小细节:1、switch后面的()中必须是整型表达式;2、在case语句后面,假如需要跳出循环,需要加上break,否则会从进入的case语句开始执行一直到循环结束;3、为了谨慎起见,可以在switch语句中加上default,以此来处理未列出的情况。