C语言神奇的——分支循环语句(C语言基础必备)(一)

以下是分支语句,循环请看下一篇🌹🌹🌹

一、if...else... 语句

我们知道在C语⾔中,0为假,⾮0表⽰真。那么,就可以尝试表达选择。

而if...else...就是表达选择的语句,那么我们来看看如何使用吧! 

1、基础使用

首先我们来看一个简单的例子:

输入⼀个年龄,>= 18岁就输出:成年,否则就输出:未成年。

#include <stdio.h>
int main()
{
 int age = 0;
 scanf("%d", &age);
 if(age>=18)
 printf("成年\n");
 else
 printf("未成年\n");
 return 0;
}

这便是if...else...的基础用法。

注意:

①分支中如果包含多条语句,需要用{  }将代码括起来。

嵌套if,可以完成更多复杂逻辑的判断,但要注意if...else...的对应(悬空else问题 )。

            else 总是跟最接近 的 if 匹配。
例子:你考了多少分?
#include <stdio.h>
int main()
{
	int a = 0;
	scanf("%d", &a);
	if (a < 60)

		printf("不及格\n");

	else
	{
		if (a <= 100)
		
			printf("及格\n");
		
		else
		{
			printf("你在做梦吗?\n");
			printf("满分只有100分!\n");
		}
	}
	return 0;
}

从上述例子,便可以发现注意事项的使用。

2、个人发现与拓展

  我们发现if...else...,可以完成很多简单逻辑算法。但当,if(   )与else(   )的划分区间发生重合,会发生什么呢?

下面,我们来举一个不太恰当的例子:

#include<stdio.h>

int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 18)
		printf("成年\n");
	else if(age <= 18)
		printf("未成年\n");
	else
		printf("西瓜\n");
   return 0;
}

在我们的定义中,成年:(-∞,18]

                          未成年:[18,+∞)

他的区间明显重合了,那么编译器会报错吗?

当输入18,他的结果会是什么呢?

   我们发现它没有报错,是可以编译的。虽然逻辑发生了错误,但它还是按照从上到下的步骤执行了下去。所以我们要知道并非所有的错误编译器都能发现,编译器不是万能的。对于这样的问题,程序员只能自己注意喽!

二、switch 语句

  switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重

else if 改成更易用、可读性更好的形式。

1、基础使用

例:输⼊任意⼀个整数值,计算除3之后的余数。

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	switch (n % 3)
	{
	case 0:
		printf("整除,余数为0\n");
		break;
	case 1:
		printf("余数是1\n");
		break;
	case 2:
		printf("余数是2\n");
		break;
	}
	return 0;
}

我们使用时需要注意

①switch (  )里面 必须是整型表达式;
②case 后的值,必须是整形常量表达式;
③case 和后边的数字之间必须有空格;
④每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。

2、拓展应用

  在使用  switch 语句的时候,我们经常可能遇到⼀种情况,比如 switch 后的表达式中的值无法匹

配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加入default 子句。

例如:不要脸的打工人——小明!

#include <stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	
	switch (day)
	{
		case 6:
		case 7:
			printf("我连周末也没有,好累啊!\n");
			break;
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			printf("美好的一天\n");
			break;
		default:
			printf("阿巴阿巴阿巴\n");
			break;
	}
	return 0;
}
我问:在 switch 语句中 case 子 句和 default 子 句有要求顺序吗? default 只能放在最后吗?
你答:其实,在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满足实际需求的就可以。不过我们通常是把 default 子 句放在最后处理的。
                                       

点赞关注+评论🍉🍉🍉🍉🍉

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值