#笔记 C语言 分支结构程序设计--switch语句

switch语句

        if语句一般情况用于处理两个分支的选择结构,当面临处理多个选择结构时,则可进行if语句的嵌套模式,而if语句的嵌套模式一般不超过三层,否则影响程序的易读性。因此,C语言提供了专门处理此类问题的语句——switch语句。

一般形式:

        switch(表达式)

        {

                case 常量表达式 1:语句1;

                case 常量表达式 2:语句2;

                ......

                case 常量表达式 n:语句n;

         }

同时,值得注意的是: switch(c)语句中,c只能是整型表达式,如int 、long、 char(char为字符型,而其对应得结果为ASCII码值,同样可以使用),而像float(单精度浮点型)则不可以使用;

在switch语句中不使用break语句

        当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不在进行判断,继续执行后面的所有case后的语句。

例如

int main()
{	
	int day=1;
	scanf("%d,&day");
	switch (day)
	{
	case 1:printf("Monday\n");
	case 2:printf("Tuesday\n");
	case 3:printf("Wednesday\n");
	case 4:printf("Thursday\n");
	case 5:printf("Friday\n");
	case 6:printf("Saturday\n");
	case 7:printf("Sunday\n");
	}
	return 0;
}

        当输入1时,“表达式的值=常量表达式 1的值”则将执行语句1及其后面的语句,使得结果不止打印“Monday”,打印结果如下

在switch语句中使用break语句

        switch(表达式)

        {
                case 常量表达式 1:语句段 1 ; break;

                case 常量表达式 2:语句段 2 ; break;

                ....…
                case 常量表达式 n:语句段 n ; break;

                default :语句段 n+1 ; break;
        }

break的语句的作用:在switch语句中,用于跳出switch语句,继续执行switch语句后面的语句;

而在循环语句体内,迫使所在循环立即终止(跳出当前循环体),继续执行循环体语句后面的第一条语句。

例如:同样执行打印语句Monday-Sunday时

int main()
{	
	int day=1;
	scanf("%d,&day");
	switch (day)
	{
	case 1:printf("Monday\n");
		break;
	case 2:printf("Tuesday\n");
		break;
	case 3:printf("Wednesday\n");
		break;
	case 4:printf("Thursday\n");
		break;
	case 5:printf("Friday\n"); 
		break;
	case 6:printf("Saturday\n");
		break;
	case 7:printf("Sunday\n");
		break;
	}
	return 0;
}

我们输入1,则单独打印“Monday”,将不会执行后面的语句,因为通过break语句跳出了该分支语句.

break语句并不是在每个case语句后面都要加上,可以根据自己所需设计在最佳位置添加break语句,要达到自己想要的结果。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值