switch语句
标签: C语言
学习人数: 22.8k


高清播放
赞赏支持

题目

企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;
利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%;
200000<I≤400000时,低于200000元部分仍按上述办法提成,(下同),高于200000元的部分按5%提成;
400000<I≤600000元时,高于400000元的部分按3%提成;600000<I≤1000000时,高于600000元的部分按1.5%提成;
I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。

题目连接:http://www.noobdream.com/DreamJudge/Issue/page/1040/

新知识点:

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

switch(expression){
    case constant-expression  :
       statement(s);
       break; // 可选的
    case constant-expression  :
       statement(s);
       break; // 可选的
  
    // 您可以有任意数量的 case 语句
    default : // 可选的
       statement(s);
}

switch 语句必须遵循下面的规则:

题目解析:很明显题目就是几个价格区间,不同的价格区间计算方式不同,相信大家经过前面的学习用if语句可以很轻松的做出来,但是这一节我们将要使用switch来解决这个问...

登录查看完整内容


课后作业

1、请完成下面这道题目,检验一下自己是否学会了本节的内容。

传送门:点击这里

2、请完成下面这道题目,检验一下自己是否学会了本节的内容。

传送门:
http://www.noobdream.com/Practice/article/26/


登录后开始许愿

3 条上岸许愿
铁腚上岸
2026年3月3日 16:58

switch 语句必须遵循下面的规则:

  • switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

赞(0)
hug
2025年2月26日 23:24

这里讲的太水了,完全是提一嘴就带过

 

赞(0)
ahjksjk
2021年3月9日 20:49

上面的例题参考代码是有问题的,如果利润刚好是20万,结果就是错的

赞(1)

aleiyoy 回复 ahjksjk: 是的,从12行的case开始的每一个常量constant-expression错了

2021年3月31日 18:55