分支和循环(详解—if语句,switch语句,while循环,for循环,还有break和continue语句,goto语句)

分支

if语句

0为假(表达式为假),语句不执行
非零为真(表达式成立),语句执行

例如:50>3返回1;13>20返回0

else问题

  • if…else语句中,else后面不能直接跟括号
int main()
{
	int a = 0;
	scanf("%d", &a);
	if (a > 0)
	{
		if (a % 2 == 0)
			printf("%d是偶数", a);
		else
			printf("%d是奇数", a);
	}
	else if (a <= 0)
		printf("%d不是整数", a);
	return 0;
}

其中代码

if (a % 2 == 0)
			printf("%d是偶数", a);
		else
			printf("%d是奇数", a);

嵌套在if语句中,构成嵌套的if语句。

  • 悬空else问题

else总是跟最接近的if匹配

注:多个关系运算符不宜连用,常量放在左边不容易错
错误示范:i<e<o

走了if就不走else if
如果有多个if ,就会都走一遍

逻辑操作符

逻辑操作符代表含义
!(逻辑反运算符)改变真假
&&(与运算符)并且

短路

左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值

switch(表达式)

用于判断条件有多个结果的情况;
表达式必须是整形表达式;不可以是float或者是double类型
case后的值必须是整形常量表达式

输入任意一个值,计算除3后的余数

int main()
{
	int a = 0;
	scanf("%d", &a);
	switch (a%3)
	{
	case 0:
		printf("整数");
		break;
	case 1:
		printf("余数是1");
		break;
	case 2:
		printf("余数是2");
		break;
	}
	return 0;
}

注:case和后面的数字之间需要有空格,每个case语句中的代码执行完成后需要加上break,才能跳出循环。
case 是入口,需要用break停下来

switch中的default

int main()
{
	int a = 0;
	scanf("%d", &a);
	switch (a)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日");
	case 6:
	case 7:
		printf("周末");
	default:
		printf("输入错误");

	}
	return 0;
}

default的作用就是switch语句里所有的case都不成立时所要执行的语句。
default是用在switch语句中,提示输入错误

循环

while循环

输入正整数,逆序打印整数的每一位

int main()
{
	int a = 0;
	scanf("%d", &a);
	while (a !=0)
	{
		printf("%d ", a % 10);
		a=a / 10;
	}
	return 0;
}

for循环

在这里插入图片描述
for循环打印1~10

int main()
{
	int a = 0;
	for (a = 1; a <= 10; a++)
	{
		printf("%d ", a);
	}
	return 0;
}

计算1到100之间的3的倍数的数字之和

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

结果:
在这里插入图片描述

break和continue语句

break是终止循环,跳出一层循环(只能跳一层)
continue是跳过本次循环的代码

注意:vs中调试是F10

练习

从100到200之间找到素数

int main()
{
	int a = 0;
	for (a = 100; a <= 200; a++)
	{
		int tmp = 1;
		int i=0;
		for (i = 2; i < a; i++)
		{
			if (a % i == 0)
			{
				tmp = 0;
				break;
			}
			
		}
		if (tmp == 1)
			printf("%d ", a);
	}
	return 0;
}

在这里插入图片描述

goto语句

可以实现在同一个函数内跳到设置好的标号处

goto error
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值