if和switch两者之间的区别

        我会以“输入1-7的数字,输出对应的星期”为例,通过用ifswitch两种方式来分别说明它们之间的区别。

if语句: 

#include<stdio.h>
int main()
{
	int a;//定义变量a 
	printf("请输入你要判断的数字:\n");
	scanf("%d",&a);
	if(a==1){
		printf("今天是星期一"); 
	}
	else if(a==2){
		printf("今天是星期二"); 
	}
	else if(a==3){
		printf("今天是星期三"); 
	}
	else if(a==4){
		printf("今天是星期四"); 
	}
	else if(a==5){
		printf("今天是星期五"); 
	}
	else if(a==6){
		printf("今天是星期六"); 
	}
	else if(a==7){
		printf("今天是星期七"); 
	}
	else{
		printf("输入错误,请重新输入"); 
	}
	return 0;            
}

 if的语法:

 if (逻辑表达式) {
语句块1;
}
else {
语句块2;
}

        if结构更多的是选择,它可以选择更多的路来走,并且每一条路的可以不一样,但要实现这种不一样就要使用嵌套语句,就如例子里面的else if一样,重新选择一条路走。

switch语句:

#include<stdio.h>
int main(){
	int a;//定义变量a
	printf("请输入你要判断的数字:\n");
	scanf("%d",&a);
	switch(a){
		case 1: 
		    printf("今天是星期一");
			break;
		case 2:
			printf("今天是星期二");
			break;
		case 3: 
		    printf("今天是星期三");
			break;
		case 4: 
		    printf("今天是星期四");
			break;
		case 5: 
		    printf("今天是星期五");
			break;	
		case 6: 
		    printf("今天是星期六");
			break;
		case 7: 
		    printf("今天是星期七");
			break;	
		default :
			printf("输入错误,请重新输入");			
	} 
		return 0;
}

 switch的语法:

 switch(整数表达式) {
case 常量表达式1:
语句块1;
break;
case 常量表达式2:
语句块2;
break;
case 常量表达式3:
语句块3;
break;
..... case 常量表达式n:
语句块n;
break;
default :
语句块;
}

        switch也可以选择多条路走,但是它会有限制的条件,就是只能选择相同的,类似的路走,不能改变航道。并且遇到break后,就会跳出当前的结构,继续下面的结构,直至结束为主。 

区别:

  1. 从效率方面看:如果分支比较多的时候switch的效率会比if的效率高,因为不管有多少个case,都只需要计算一个值,就直接跳转,不需要逐个比较和查询。
  2. 从限制方面看:多重if选择结构没有switch结构的限制条件多,if的应用范围更广泛。最重要的是:if可以的条件判断,switch不一定可以实现,但switch可以实现的,if肯定可以实现。

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值