【C语言】分支、循环语句1

今天来整理一下C语言当中的分支和循环语句。主要包括两个方面:如何使用和注意事项。

一、首先第一个是if else语句

int main()
{
	if (判断语句)
		执行语句;
	else if (判断语句)
		执行语句;
	......

	else
		执行语句;

	return 0;
}

1、在if else语句中如果有多条判断,中间的分支都是用else if,最后一个分支用的是else,如果只有两个分支,那么第一个是if,第二个就是else。

2、如下图

int main()
{
	int age = 0;
	scanf("%d", &age);
	if (18 > age)
		printf("少年\n");
	else if (18 <= age && 26 > age)
		printf("青年\n");
	else if (26 <= age && 40 > age)
		printf("中年\n");
	else if (40 <= age && 60 > age)
		printf("壮年\n");
	else
		printf("老年\n");
	return 0;
}

在判断语句中,经常会出现两条或多条判断,应使用与操作符(&&)或者或操作符(||),上述代码第7行,刚开始学习C语言可能会写成“else if (18 <= age < 26)”,这种写法是错误的。若输入数值为60,计算机会先判断“18 <= age”,结果为假,值为零,而“0 < 26”,满足条件,进入循环,结果出错。所以当判断语句出现,记得使用与操作符(&&)或者或操作符(||)。

3、如下图

int main()
{
	for (int i = 1; i <= 100; i++)
	{
		if (1 == i % 2)
		{
			printf("%d\n", i);
		}
	}
	return 0;
}

代码第5行,一般情况下,我们会写成“if (i % 2 == 1)”,这样写有一点不好,也是我个人超级超级容易犯的一个错,就是少写一个“=”,而如果我们写成上述代码的样子,系统就会报错(如果少写一个“=”的话),因为我们无法给一个整数赋值。

二、接下来是switch语句

int main()
{
	int sth = 0;
	scanf("%d", &sth);
	switch (sth)
	{
	case 1:
		执行语句;
		break;
	case 2:
		执行语句;
		break;	
	case 3:
		执行语句;
		break;
	
    ......

	case n:
	    执行语句;
		break;
	}
	return 0;
}

1、上述代码第5行中,选取的初始值,决定了代码进入switch时的入口,而程序运行遇到的第一个break;则是switch的出口

2、如下图

int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日\n");
		break;
	case 6:
	case 7:
		printf("休息日\n");
		break;
    default :
        break ;
	}
	return 0;
}

在每一次的case后,我们都可以不写执行语句,程序进入switch后,在第一个break出去。当然,为了代码的健壮性,我们还应该在代码的最后加上default :。

3、如下图

int main()
{
	int n = 1;
	int m = 2;
	switch (n)
	{
	case 1:
		m++;
	case 2:
		n++;
	case 3:
		switch (n)//switch允许嵌套使用
		{
		case 1:
			n++;
		case 2:
			m++;
			n++;
			break;
		}
	case 4:
		m++;
		break;
	default :
		break;
	}
	printf("m = %d\nn = %d", m, n);
	return 0;
}

switch语句支持嵌套使用。大家可以试试看计算一下这题的结果,结果我会放在文章的最后。

未完待续。。。

内容有点小多,明天晚上再更吧。这几天突然对视频剪辑有点兴趣,等我再研究研究,就发出来给大家批评指正。

ps:结果是:m = 5  n = 3

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值