百度
360搜索
搜狗搜索

switch case 字符串,C语言的switch case 语句的case 常量 能匹配字符串常量吗?知道详细介绍

本文目录一览: 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、switch后面括弧内的【表达式】,ANSI标准允许它为任何类型;
2、当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就执行default后面的语句。
3、每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。
4、各个case各default的出现次序不影响执行结果。例如,可以先出现"default: ...",再出现"case 'D': ...",然后是"case 'A': ...".
5、执行完一个case后面的语句后,流程控制转移到下一个case继续执行。"case常量表达式"只是起语句标号作用,并不是在该处进行条件判断。在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。
参考资料来源:百度百科-switch

switch中case代表什么意思?

case是用于开关语句中的关键字。开关语句,又称switch语句,由关键字switch搭配若干个case及可能存在的default语句,共同组建成的一种分支结构语句。
case常量表达式只是起语句标号的作用,并不是在该处进行判断。在执行 switch 语句时,根据 switch 后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。
每个 case 后面“常量表达式”的值必须互不相同,否则就会出现互相矛盾的现象,而且这样写造成语法错误。各个 case 和 default 的出现次序不影响执行结果。但从阅读的角度最好是按字母或数字的顺序写。
扩展资料:
case 是开关语句的一个组成部分。
case 下面必须是整型常数.
冒号和break;之间是满足这个case时要执行的语句。
switch (整型表达式)
{
case 1: printf("case 1\n"); break;
case 2: case 5: printf("case 2 or 5\n"); break;
...
default: ...break;
}
上例,
当整型表达式得1,打印字符串 "case 1"
当整型表达式得2或5,打印字符串 "case 2 or 5"
参考资料:百度百科-switch

c语言switch语句中case后面必须要接整型常量和字符型常量吗

c语言switch语句中case后面必须要接整型常量和字符型常量吗 是的,case语句后面的必须是整型常量!

整型常量有多种,比如int、char、enum枚举常量,在C++中bool类型也属于整型常量的一种。
一般switch语句使用此种格式switch(表达式){case 常量表达式1:语句1;....case 常量表达式2:语句2;default:语句;}
switch是一个整型表达式。case是一个整数常量表达式。只所以不能使用浮点数,个人理解应该是浮点数的精度问题不容易把握,在一定误差内可能出现多个匹配,而且浮点数对硬件依赖要求比较高,代码可移植性可能会更低。
整型常量中不能存放字符型变量c语言
是的,不能存放。
因为整型常量,关键在于常量,即在定义的时候就初始化,不能再用变量对其赋值。
整型常量和字符常量的区别
字符常量:以单引号引来的一个字符,如:'a' '0' '\0' '\n' , 在计算机中一个字符占一个字节,其数值为字符的ASCII值,如'a'=97 '0'=48
整型常量:就是我们常见的整数,如:12,123, 1000.... 也有十六进制表示的:0x10(16) 0xff(255) 也有八进制表示的 (八进制整常数八进制整常数必须以0开头,即以0作为八进制数的前缀。)015(13) 等

C语言 关于字符型常量
在计算机里,ASCII字符就是一个8字节的数字,只不过在显示时用人认识的字符显示出来而已。比如,'A'在计算机中存储就是数字65。
什么是C语言整型常量?
整型常量..即整常数..有10进制数 如:123,-345
8进制数 以0开头的
还有16进制数 以0x开头的..
0.512F是( ) A.整型常量 B.字符型常量 C.浮点型常量 D.非法常量
F-float浮点型
C语言中什么是整型常量
const int count = 60;
count就是整形常量,声明的时候声明他说整形的并且他的值是唯一的,不会再变动了所以是整形常量。
c语言常量 有多少种?比如:整型常量,浮点常量,字符常量,枚举常量,还有其他什么常量?
整型,例如:-123, 0xff (十六进制), 022(八进制)
实型, 例如:3.14, 3.14f (单精), 3.14lf (双精), 1.2e04(科学)
字符常量, 'A'
字符串常量, "abc123"
转义字符常量 '\0' "\n"
宏定义标识符常量 #define e 2.71 程序中的 e 编译时会被2.71 替代,
逻辑型常量 TRUE (实际上也是宏定义常量)差不多就这几种吧····
C语言中长整型常量特征?
长整型:有符号整数;满足sizeof(long)>=sizeof(int),一般32位平台sizeof(long)为4;此外由于sizeof(short)<=sizeof(int),所以sizeof(long)>=sizeof(short)。

2.常量:不能被修改。
常量在C语言中是数值字面量。字面量后缀为L或l,表示long,例如1234L、0l。如果不带后缀,默认为int字面量而不是long字面量,即不是长整型常量。

switch语句中case后面可以加字符串么

c/c++
语言
不允许。
c/c++
语言
case后面
只允许是
整型
常量
表达式,例如:
int
k=3;
switch(k){
case
'd'-'a':
printf("d-a\n");break;
case
4
:
printf("4\n");
break;
case
'Z'
:
printf("Z\n");
break;
//单引号括起的是字符常量,是整型。
}
上面
用的
都是
整型
常量
表达式,
所以正确。
字符串常量,例如:双引号括起的
"Z",
虽然是常量,
但它们不是
整型,所以不允许。
其它语言,要看它们自己的规定。

C语言的switch case 语句的case 常量 能匹配字符串常量吗?知道

  C语言的switch
case
语句的case不能匹配字符串常量,只能匹配整型类常量,如int
short
long
char.
  switch用法格式:
  switch
(
表达式)
  {
  case
常量表达式1:
  语句1;
  [break;]
中括号,表示此语句可以没有
  case
常量表达式2:
  语句2;
  [break;]
  ……
  case
常量表达式n:
  语句n;
  [break;]
  [default:]
  语句n+1;
  [break;]
  }
  说明:
  break
表示退出{
}
  case后面只能跟一个值(加冒号:),而不能是一个表达式
  switch(表达式)
后面没有分号(;)
  {}前后没有分号(;)
  default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句

阅读更多 >>>  c语言if语句格式,c语言if语句是什么?

switch case 可以是字符串吗

您好,很高兴回答您的问题!
根据您的问题,我给出以下答案:switch(){ case : ;},
1,这样的结构,switch里面不能是字符串,但是可以是整型,包括“bit”、“int”、“long”;
2 ,在C++中也可以是字符char来表示,比如说:case ‘c’,因为字符在内存里是用一个整数来表示的,也就是传说中的“ASC||”码。
谢谢!

SWITCH语句中的case后可以是字符串吗?

可以是单个字符,不可以是字符串
char p;
switch(p)
{
case "a":
break;
case "b":
break;
case "c":
break;
}
是可以的;
但是你的程序里是多个字符,也就是字符串,是不可以的
可以吧,不过你怎么用单引号括起来呢?
果然不可以。。。case后面的表达式必须能转换成整数才行,就是说需要是字符和整数。。。
当然可以了~~~flex其实就是JAVA的语法,字符串用""(双引号)表示!
case后面接的是状态就是你定义的switch后面那个,可以定义req在某种状态,这是字符串表示的是一种模式或状态
不可以的!!
不可以的,比如下面的程序:
#include

void main()

{

char *p="abc";

switch(p)

{

case "abc":

break;

}

}

编译都通不过:

error C2450: switch expression of type 'char *' is illegal

error C2051: case expression not constant

C语言的switch case 语句的case 常量 能匹配字符串常量吗?

应该是不可以的。
但是你可以多增加一步,在swich前调用compare函数,比较你得到的字符串和你的case中的字符串,得到-1,0,1再进行swich。
不过我想这样应该不会方便,还不如用if...else if...else来的快哦!
swich语句的局限性还是蛮大的,处理这种复杂数据、复杂逻辑的时候最好用if~
不可以匹配字符串长量的.最大可以匹配一个int型的变量或常量.
switch 里面一般是填变量名.
大概是这样
int a;
switch(a)
{
case 1: break;
case 2:break;
default: break;
}
  C语言的switch case 语句的case不能匹配字符串常量,只能匹配整型类常量,如int short long char.
  switch用法格式:
  switch ( 表达式)
  {
  case 常量表达式1:
  语句1;
  [break;] 中括号,表示此语句可以没有
  case 常量表达式2:
  语句2;
  [break;]
  ……
  case 常量表达式n:
  语句n;
  [break;]
  [default:]
  语句n+1;
  [break;]
  }
  说明:
  break 表示退出{ }
  case后面只能跟一个值(加冒号:),而不能是一个表达式
  switch(表达式) 后面没有分号(;)
  {}前后没有分号(;)
  default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句

C++的基础知识。switch 和case。case后面可以接字符串吗?请详细点讲解,谢谢

switch case
只支持整数和枚举类型
//一种伪的实现方式
include

using namespace std; enum set {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}; void char2enum(char ch , set &em){ // 实现字符转枚举,其中参数em为set的引用类型,来把ch转换的结果传出 char start = 'a'; em = (set)((int)ch - (int)start); } void main() { char str; set temp; cout << "please input a char: "; cin>>str; // 获取从屏幕中输入的字符 char2enum(str, temp); // 将字符str转换为枚举temp switch(temp) // 根据枚举的值,进行输出 { case a: cout<<'a'<
<endl;break; case b: cout<<'b'<<endl;break; c: cout<<'c'<<endl;break; d: cout<<'d'<<endl;break; e: cout<<'e'<<endl;break; f: cout<<'f'<<endl;break; g:... 你自己去添加这些代码吧 h:... } 测试结果: please input a char: 回车 为输出内容

switch case 语句问题 表达式可以使字符串吗

不行,可以是整形,包括bit,int,long。在C++里的话用字符也可以,比如case
'c',因为字符在内存里是用一个整数来表示的,也就是传说中的ASC码

网站数据信息

"switch case 字符串,C语言的switch case 语句的case 常量 能匹配字符串常量吗?知道"浏览人数已经达到17次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:switch case 字符串,C语言的switch case 语句的case 常量 能匹配字符串常量吗?知道的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!