C语言进阶学习之分支语句

目录

目录

前言

if语句

switch语句(常用于多分支的情况)

总结


前言

C语言是结构化的程序设计语言,分为顺序结构,选择结构,循环结构,今天就来简单的介绍一下分支语句(选择结构)。


if语句

语法结构:

形式一:

if(表达式)

语句;

形式二:

if(表达式)

语句一;

else

语句二;

形式三:

if(表达式一)

语句一;

else if(表达式二)

语句二;

else(表达式三)

语句三;

eg1:

int main()
{
	int age = 50;
	if (age < 18)
		printf("少年\n");
	else if (18 <= age < 26)
		printf("青年\n");
}

输出结果为:青年

上述的判断错误为逻辑错误,即当年龄为50时,经过判断语句错误判断为青年,其中当设计判断条件时需要考虑C语言的判断方法方式,不能与常规数学中的判断方式混为一谈,例二则为正确的判断条件书写方式。

eg2:

int main()
{
	int age = 50;
	if (age < 18)
		printf("少年\n");
	else if (18<=age && age>=26)
		printf("青年\n");
}

这里的一对{  }就是一个代码块,解释一下如果表达式为真,则语句执行。在C语言中0表示假,非0表示为真。接下来请看例三

eg3(悬空else):

int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
		if (b == 2)
			printf("yes\n");
	else
			printf("no\n");
	return 0;
}

此例子打印出的结果为空,是因为在排版上else似乎与if(a==1)匹配,但是实际上else与离自己最近的判断语句匹配,所以在第一个判断语句的判断结果为否时,直接执行了return 0,所以输出的结果为空。


switch语句(常用于多分支的情况)

语法结构:

switch(整型表达式)

{

     case 整型常量表达式;

}

eg4:

int main()
{
	int day = 0;
	scanf_s("%d",&day);
	switch (day)
	{
	case 1:
		printf("星期一\n");
	case 2:
		printf("星期二\n");
	case 3:
		printf("星期三\n");
	case 4:
		printf("星期四\n");
	case 5:
		printf("星期五\n");
	case 6:
		printf("星期六\n");
	case 7:
		printf("星期七\n");

	}
}

输出结果:

1
星期一
星期二
星期三
星期四
星期五
星期六
星期七

由例四可以看出switch语句的特点:当case语句执行成功时,若后面没有阻止的标识则会继续往下执行语句直至语句结束。

eg5:

int main()
{
	int day = 0;
	scanf_s("%d",&day);
	switch (day)
	{
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
	case 3:
		printf("星期三\n");
	case 4:
		printf("星期四\n");
	case 5:
		printf("星期五\n");
	case 6:
		printf("星期六\n");
	case 7:
		printf("星期七\n");

	}
}

输出结果:

1
星期一

从例五我们可以看出case语句决定的是入口,break语句决定的是出口。


eg6:

int main()
{
	int day = 0;
	scanf_s("%d",&day);
	switch (day)
	{
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
	case 3:
		printf("星期三\n");
	case 4:
		printf("星期四\n");
	case 5:
		printf("星期五\n");
	case 6:
		printf("星期六\n");
	case 7:
		printf("星期七\n");
	default:
		printf("输入错误,请重试!");
		break;
	}
}

输出结果:

8
输入错误,请重试!

如例六所示,在switch语句中可以添加default语句,其作用是在输入未包括值的时侯可以给予提示说明。


总结

今天简单介绍了一下C语言中的分支语句(if语句和switch语句),并对特殊情况进行了举例说明,希望对大家有所帮助,感谢阅读!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值