【c语言】浅谈不同分支和不同循环的差别

备注:本文章是通过我刷题得到的领会,并不一定正确,欢迎指教。

一.分支(针对于switch与if或ifelse)

区别一:使用方法

分支语句switch就像是根据数据本身进行分类,如:

switch (num)
	{
	case 1:
		printf("音乐爱好者\n");
		break;
	case 2:
		printf("寝室乱不乱豪哥说的算\n");
		break;
	case 3:
			printf("小帅哥\n");
			break;
	case  4:
		printf("寝室暖男\n");
		break;
	default:
		printf("输入错误\n");
	}

应用场景主要为:分类的依据主要为数据本身的不同,并且不需要进行外界的处理,同时数据本身应该具有多样性。

分支语句ifelse就像是根据数据的处理结果进行分类

if (guess<ret)
		{
			printf("猜小了\n");
	     }
		else if (guess>ret)
		{
			printf("猜大了\n");
		}
			else
		{
			printf("猜对了\n");
			break;
		}

应用场景主要为:分类的依据是根据数据处理后的结果,对于数据本身没有明确要求。

区别二:分支组成结构

从表达式的类型来看:

switch的表达式必须是整型或字符,而ifelse则没有限制。

从表达式的结构来看:

switch的表达式是一个整型变量,ifelse往往是一个判别式

(例子见上图)

二.循环(针对于while,for,dowhile循环)

循环里必须具备一个变量,才能使循环进行下去。

先给出三者的循环演示图:

while:

 expr是表达式,stmt是循环语句

for循环:

 expr1是初始化,expr2是判断,expr3是调整

do while循环:

以上图表都很清楚,这里只谈两点。

1.三个循环式子的执行情况:

while循环和for循环都是先判断,等进入循环语句后再进行调整。但由于调整的位置不同,导致当执行continue时结果不同。

while循环执行continue时不会进行数值调整,当for循环执行continue时依然会进行数值的调整。

dowhile循环则如图所示,在执行continue时不会进行表达式处理

2.三个循环的应用场景:

while循环:1.适用于只进行循环,不需要对数值进行处理

2.初始化较麻烦,并且没有必要初始化。

for循环:1.对循环进行简化。

2变量为单一变量,或者变量不复杂。

dowhile循环:1.在条件要求必须执行一次的情况下使用

日期9.26初写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值