当前位置:首页 » 编程语言 » c语言switchcase字符

c语言switchcase字符

发布时间: 2024-10-02 20:46:08

c语言的switch语句中case后()

选B,case后面只能是整型或字符型的常量或常量表达式。

一、switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的if else 语句,基本格式如下:

switch(表达式){
case 整型数值1: 语句 1;
case 整型数值2: 语句 2;
......
case 整型数值n: 语句 n;
default: 语句 n+1;
}

二、它的执行过程是:

1、首先计算“表达式”的值,假设为 m。

2、 从第一个 case 开始,比较“整型数值1”和 m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的 case 是否匹配成功。

3、如果“整型数值1”和 m 不相等,就跳过冒号后面的“语句1”,继续比较第二个 case、第三个 case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设 m 和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。

4、如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行 default 后的“语句 n+1”。

(1)c语言switchcase字符扩展阅读:

1、switch后面括号内的【表达式】,ANSI标准允许它为任何类型;

2、当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就执行default后面的语句。

3、每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。

4、各个case各default的出现次序不影响执行结果。例如,可以先出现"default: ...",再出现"case 'D': ...",然后是"case 'A': ...".

5、执行完一个case后面的语句后,流程控制转移到下一个case继续执行。"case常量表达式"只是起语句标号作用,并不是在该处进行条件判断。在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

Ⅱ c语言中case的意思和用法

c语言中case是和switch一起使用的,构成switch—case语句,进行判断选择,case是用来表示选择结构的。

switch语句的一般形式为:

switch(表达式){

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

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

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

default: 语句n+1;}


其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

(2)c语言switchcase字符扩展阅读

任何switch语句都必须遵循以下规则:

1、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

2、switch()的参数类型不能为实型 。

3、case标签必须是常量表达式(constantExpression),如42或者"42"。

4、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

Ⅲ c语言中switch怎么可以用字符串作条件表达式

首先: switch 语句及case 的类型 表达式必须是整数、字符或枚举量值。

超级好奇地编译了一下:

1>e:\project\stl_proc\stl_proc\stl_proc\stl_proc.cpp(86) : error C2052: “double”: 非法的 case 表达式类型

真是颠覆了我的三观。。。。 switch('0.4') 竟然没报错。。 我把下面的修复了之后, 让我们看看程序怎么处理
改成:
switch('0.4')
{
case '0': a=0;break;
case'.': a=9;break;
default:a=7;
}printf("%d",a);

运行了一下, 都走到default 分支了 。

改成:
switch('0')
{
case '0': a=0;break;
case'.': a=9;break;
default:a=7;
}printf("%d",a);
全部走到 case 0 分支了。

结论: switch 后面可以不是一个变量。

热点内容
ie缓存删不掉 发布:2024-10-03 00:24:22 浏览:707
一个服务器搭建k8s 发布:2024-10-02 23:56:45 浏览:975
微信源码net 发布:2024-10-02 23:56:44 浏览:131
安卓中通过什么传递数据 发布:2024-10-02 23:48:26 浏览:14
在空间怎么上传视频 发布:2024-10-02 23:44:19 浏览:967
方舟手游非官方服务器有什么用 发布:2024-10-02 23:32:10 浏览:442
压缩海带球 发布:2024-10-02 23:11:31 浏览:578
配置显卡怎么选 发布:2024-10-02 23:11:26 浏览:120
android的环境变量配置 发布:2024-10-02 22:54:23 浏览:924
whereisjava 发布:2024-10-02 22:42:21 浏览:818