C++中switch语句中case分句后面只能跟字符量吗?

初学C++,卡到这里来了,书上的例子上case后面只跟字符量,switch语句具体都是怎么用的、求解?... 初学C++,卡到这里来了,书上的例子上case后面只跟字符量,switch语句具体都是怎么用的、求解? 展开
 我来答
金色潜鸟
2013-10-26 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5715万
展开全部
case后面 只要是能表示成 整数结果的表达式 全都可以 。
单引号括起的 字符常量,例如: case 'a': case 'S': case '5': case '6': 都可以。因为字符常量 是整型,数值等于它们的 ASCII 值。
其他, case 3: case 4:
case TRUE:
只要是能表示成 整数结果的表达式 全都可以
百度网友27aa725
2013-10-25 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:32.8万
展开全部
switch(可为表达式或变量)

{
case 可为表达式或字符:表达式;

....

......

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gw727002613
2013-11-06
知道答主
回答量:21
采纳率:0%
帮助的人:22.7万
展开全部
case是关键字,与后面的值构成case标号。case标号必须是常量表达式,具体来说就是在编译时编译器就可以计算出结果的整型表达式。例如整型字面值或者是const对象。举个例子,‘a’,1,1.3,true可以转化为整型但是不能是变量,例如在switch语句之前有一个int型变量i,则case后不能跟i。
switch语句的一般结构梦易少年说的很清楚。我要补充的是关于break语句的用法,break语句用来中断当前的程序控制流,就是通常说的跳出语句。如果没有break语句,第一个匹配到的case值后面的语句都会执行。
还有就是default标号的用法,相当于if-else语句中的else语句,如果前面没有匹配到的标号值,就执行default标号后的语句。
最后就是关于switch内部变量定义的问题,建议使用语句块,防止发生变量定义前使用的情况。
如果题主有不懂,欢迎追问。如果题主想学好c++的话,建议看《c++ primer》,经典
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦易少年
2013-10-25 · TA获得超过3497个赞
知道小有建树答主
回答量:709
采纳率:100%
帮助的人:1228万
展开全部
switch用法
swtich(表达式)
{
case 常量表达式1; 语句组1;
[break;]

case 常量表达式2; 语句组2;
[break;]
......
case 常量表达式n; 语句组n;
[break;]
default :语句组n+1;
}
case后面的不一定是字符量,也可以是常数等等。
例如:
int i;
cin>>i;(或scanf("%d",&i);)
swtich(i)
{
case 1:表达式1;
case 2:表达式2;break;
default :表达式3;
}

您好,很高兴为您解答 希望能够帮助您
如果本题有什么不明白欢迎追问
祝你学习进步!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式