C if、switch

目录

1、分支 if

1.1 if语句

1.2 else 

1.3 嵌套if

注意事项 

2、分支 switch

2.1 switch语句 

2.2 default


分支结构(选择结构)

C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实现这三种结构的,其实我们如果仔细分析,我们日常所见的事情都可以拆分为这三种结构或者这三种结构的组合。 我们可以使用  ifswitch 实现分支结构。

1、分支 if

1.1 if语句

//VS2022,x64
#include<stdio.h>
int main()
{
	int n = 1;
	if (n)		//非零为真,执行语句
	{
		printf("我是帅哥美女");	  
	}
	return 0;
}

在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果不是0,则语句执行。

1.2 else 

#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	if (n == 2)        //判断用户输入的数字是否为 2
	{
		printf("你是猪");
	}
	else     //如果你输入的不是2,则会执行else
	{
		printf("麻烦您输入2");    
	}
	return 0;
}

使用 if...else 时,如果要同时控制多条语句,请使用大括号 {} 将代码括起来(当然控制一条语句也可以括,养成习惯)

1.3 嵌套if

#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);    //不管你输入什么数字,你都是帅哥美女
	if (n == 1)
		printf("你是帅哥美女");
	else if (n > 1)
	{
		printf("你是大帅哥大美女");
	}
	else      //这里可以看出 n<1 的时候
		printf("你是小帅哥小美女");
	return 0;
}

有了嵌套 if 语句,就可以完成更多复杂逻辑的判断。

注意事项 

1、如果有多个 ifelse ,可以记住这样一条规则, else 总是跟最接近的 if 匹配。

2、只要带上适当的大括号,代码的逻辑就会更加的清晰,所以大家以后在写代码的时候要注意括号的使用,让代码的可读性更高。


2、分支 switch

2.1 switch语句 

以例子来学习 switch 语句,例:输入1~7的数字,打印对应的星期几

#include<stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);    
	switch (day)    //判断day等于几,比如等于 1,就执行case 1
	{
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
		break;
	case 3:
		printf("星期三\n");
		break;
	case 4:
		printf("星期四\n");
		break;
	case 5:
		printf("星期五\n");
		break;
	case 6:
		printf("星期六\n");
		break;
	case 7:
		printf("星期天\n");
		break;
	}
	return 0;
}

break

switch 语句也是分支效果的,只有在 switch 语句中使用 break 才能在跳出 switch 语句,如果某一个 case 语句的后边没有 break 语句,代码会继续往下执行,有可能执行其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。

大家可以尝试在电脑上运行代码,把 break 删去会发生什么

2.2 default

在使用 switch 语句的时候,我们经常可能遇到一种情况,比如 switch 后的表达式中的值无法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加入 default 子句。

我们在上面代码中加入 default ,如果你输入的不是1~7,系统将反馈 “输入错误”

#include<stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
		break;
	case 3:
		printf("星期三\n");
		break;
	case 4:
		printf("星期四\n");
		break;
	case 5:
		printf("星期五\n");
		break;
	case 6:
		printf("星期六\n");
		break;
	case 7:
		printf("星期天\n");
		break;
	default:        //加入的 default 在这里!
		printf("输入错误\n");
        break;
	}
	return 0;
}

casedefault 是没有顺序要求的,只是我们通常将 default 放在最后处理。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值