3.2.4 多路分支switch-case

1.有时候在if-else我们会要求判断当输入的某个值在某个范围内去做什么事情.如根据输入一个值type,打印不同的结果.

那么这个程序会怎么运行呢?如果足够幸运,比如type=他在第一个就满足条件,然后跳出if,不过如果,运气不好的话,如type=5,会一步步往下走,那我们有没有什么办法能让他直接去到符合它条件的地方,让它执行完后自动跳出呢.switch-case就是你的选择.

这样看这个switch-case也挺像if-else的.都是后面跟个括号,里面有表达式,然后后面有一对大括号,里面是待执行的语句.不过其实还是挺不一样的,switch根据括号里的表达式或者变量的值然后决定说哪个case是跟他匹配的,就去执行这个case里面的语句.一直到遇到break为止.当然如果case都不满足则会直接到default.default不用多加个"break;"因为执行完它会直接跳出.它不用像if一样需要一个个判断,它能直接找到匹配的然后跳到那里做它该做的事情.

2.switch-case结构

!!!注意!!!switch(控制表达式),括号里面的值只能是整数型的结果.case后面是一个常量,这个常量可以是常数,也可以是常数计算的表达式.如case 5-1+3合法.或者定义了一个const int MRN=5,  case MRN也是合法的.同时再重申一遍,case只是一个路牌,不能阻止程序继续往下运行,只有break可以.有时候可以利用这个特性来完成一些特定的任务,如

3.练习:百分成绩转五分成绩

#include<stdio.h>
int main()
{
int score;
printf("请输入分数");
scanf("%d",&score);
switch(score/10)
    {
    case 10:
    case 9:
        printf("成绩为A");
        break; 
    case 8:
        printf("成绩为B");
        break;
    case 7:
        printf("成绩为C");
        break; 
    case 6:        
         printf("成绩为D"); 
        break; 
    default:printf("成绩为E");
    break;
        
}
}

这段代码不符合单一出口的原则,因为我们还没学过字符或字符串数据的处理.当然,这样的代码我们用数组来做的话会更漂亮一点

有时候这种思想和特性还是挺重要的,我就是忘了switch有这个特性迟迟做不出来.

4.问题

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值