switch case 学习
#牛客创作赏金赛#C++新手
先放个结构参考
switch(表达式){
case 常量表达式1 :
语句1;
break; // 可选的
case 常量表达式2 :
语句2;
break; // 可选的
// 您可以有任意数量的 case 语句
default : // 可选的
语句x;
}
1.在某case语句后不加break,则无论下面语句的case条件为T or F,都会执行其语句,直到遇到break or }
2.在default的语句后也可以加break,但效果不变
再看个例子(判断成绩等级)
switch (score/10)
{
case 10:
case 9:cout << "A";
break;
case 8:
case 7:cout << "B";
break;
case 6:cout << "C";
break;
default:cout << "D";
}
3.case 后的 常量表达式 必须不同
4.case 后的 常量表达式 只能是 整形 、字符型、枚举型(这个还没学到)
以上只是简单的一笔
下面是我对常量表达式的思考(搜索)
当把case 6 改为case 5 && 6 时,程序不会报错,但又无法执行到此语句(表达式的值不可能为 5 && 6 )
程序不报错是否意味 5 && 6是int类型呢?
再次尝试将case 7改为case '7'也不报错,
我就对 “case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。”
这句搜索到的话有些疑问
判断一下5 && 6的类型,是闻所未闻的 Dbool
网上也难以找到Dbool的相关信息
看来case并不会计算后面表达式的值,只是引用其本身
关于常量表达式网上可以轻易找到相关内容,这里就不多赘述
关于switch case就学到这里吧
结束!
先放个结构参考
switch(表达式){
case 常量表达式1 :
语句1;
break; // 可选的
case 常量表达式2 :
语句2;
break; // 可选的
// 您可以有任意数量的 case 语句
default : // 可选的
语句x;
}
1.在某case语句后不加break,则无论下面语句的case条件为T or F,都会执行其语句,直到遇到break or }
2.在default的语句后也可以加break,但效果不变
再看个例子(判断成绩等级)
switch (score/10)
{
case 10:
case 9:cout << "A";
break;
case 8:
case 7:cout << "B";
break;
case 6:cout << "C";
break;
default:cout << "D";
}
3.case 后的 常量表达式 必须不同
4.case 后的 常量表达式 只能是 整形 、字符型、枚举型(这个还没学到)
以上只是简单的一笔
下面是我对常量表达式的思考(搜索)
当把case 6 改为case 5 && 6 时,程序不会报错,但又无法执行到此语句(表达式的值不可能为 5 && 6 )
程序不报错是否意味 5 && 6是int类型呢?
再次尝试将case 7改为case '7'也不报错,
我就对 “case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。”
这句搜索到的话有些疑问
判断一下5 && 6的类型,是闻所未闻的 Dbool
网上也难以找到Dbool的相关信息
看来case并不会计算后面表达式的值,只是引用其本身
关于常量表达式网上可以轻易找到相关内容,这里就不多赘述
关于switch case就学到这里吧
结束!
全部评论
相关推荐
09-19 18:23
华中科技大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
09-26 15:07
门头沟学院 IC验证工程师 点赞 评论 收藏
分享