A. c语言switch语句是什么
c语言switch语句是一种多分支选择语句,在实际应用中,要在多种情况中选择一种情况,执行某一部分语句。
程序执行时,首先计算表达式的值,与case后面的常量表达式值比较,若相等就执行对应部分的语句块,执行完后利用break语句跳出switch分支语句。若表达式的值与所有的case后的常量表达式均不匹配,则执行default项对应的语句n,执行后跳出switch分支语句。
case后面的常量表达式只能是整型、字符型或枚举型常量的一种;各case语句表达式的值各不相同,只起到一个标号作用,用于引导程序找到对应入口。这里的语句块可以是一条语句,或其它复合语句。语句块可以不用花括号“{}”。
各个case语句并不是程序执行的终点,通常需要执行break语句来跳出switch分支语句;若某case语句的语句块被执行后,若其后没有break语句,则顺序执行其它case语句,直到遇到break语句或后面所有case语句全部执行完,再跳出switch分支语句。
多个case可以共用一组执行语句块。各个case和default出现的先后次序,并不影响执行结果。
B. c语言中的switch(x)函数中的x可以为中文字符串吗
不可以!!
switch(x) x只能是整型类数据,如:int char long short 等
C. C语言用switch实现从键盘输入一个字符,判断是数字还是其它
使用switch判断比较麻烦,不建议使用这种方式。 char ch; // scanf ch switch(ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': printf("%c is a number.\n", ch); break; case 'a': case 'b': .... case 'z': printf("%c is a lower alphabet.\n",ch); break; case 'A': ... case 'Z': printf("%c is a upper alphabet.\n",ch); break; default: printf("%c is other ascII code.\n",ch); }
建议使用#include <ctype.h>中的函数
isdigit
islower
isupper
来进行判断。
D. c程序switch语句怎样输入中文字符串
我自己写了个程序,可以实现字符串的输入:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
int i, len;
char str[4],love[4]={"YES"},hate[3]={"NO"};
printf("你猜她爱我么?<yes/no>:");
gets(str);
len=strlen(str);
for (i = 0; i < len; i++)
if (islower(str[i]))
{
str[i] -= 32;
}
puts(str);
if(strcmp(str,love)==0) printf("那是必须的!\n");
else
if(strcmp(str,hate)==0) printf("怎么可能?\n");
else printf("输入错误!\n");
return 0;
}
下面是我用字符串做参数的switch();测试一下,
#include <stdio.h>
int main()
{
int i, len;
char str[4];
printf("你说我帅么?<yes/no>:");
scanf("%s",str);
switch (str)
{
case "yes" : printf("that is right!");break;
case "no" : printf("are you crazy?");break;
}
return 0;
}
发现switch语句只能用数值或者字符作为参数,因此lz说的情况是无法实现的。
E. c语言switch用法举例内容是什么
switch用法举例:
#include <stdio.h>
int main(){
int a;
printf("Input integer number:");
scanf("%d",&a);
switch(a){
case 1: printf("Monday "); break;
case 2: printf("Tuesday "); break;
case 3: printf("Wednesday "); break;
case 4: printf("Thursday "); break;
case 5: printf("Friday "); break;
case 6: printf("Saturday "); break;
case 7: printf("Sunday "); break;
default:printf("error "); break;
}
return 0;
}
运行结果:
Input integer number:4↙
Thursday
解析:
1、default无论放在case前面还是后面都是执行完case后再执行case,(也可以不加default语句)。
2、case后面的常量表达式只能是整型、字符型或枚举型常量的一种语句,结束后一定要带break,不然还会继续执行下一个case。
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。
case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是唯一性的表达式;也就是说,不允许两个case具有相同的值。
F. switch是什么意思 在C语言中
是一个循环判断.通俗点说,它后面的括号里是循环条件,下面的case就是它可能遇到的结果,遇到一个case该怎样执行.C++的switch只支持整型表达式、以及可以转化成整型的表达式.这是说,switch不支持字符串、数组、浮点数....
G. C语言中switch语句什么意思
Switch在C语言中是保留字,其作用是进行判断选择。switch(开关语句)常和case break default一起使用。
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。直线翻译:switch语句,即“切换”语句;case即“情况”。
当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果变量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。
(7)c语言switch中文字符扩展阅读
switch语句规则——
switch语句非常有用,但在使用时必须谨慎。
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。
case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
H. C语言中switch可以用中文嘛
switch()的括号里用字符串可以正常编译,不会报错。但是执行结果肯定是错误的。
另外,对于case '张一',既然用的是单引号,那么单引号中间只能是常量或字符,你用字符串,虽然也可以通过编译,不过执行结果是错误的。
结论是用中文可以通过编译,不过执行结果错误,得不到正确的结果。
I. switch(C语言中)是什么意思
Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。
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”。
(9)c语言switch中文字符扩展阅读
举例:
#include <stdio.h>
int main(){
int a;
printf("Input integer number:");
/*要求输入的数字范围1~7,对应输出星期几的英文单词*/
scanf("%d",&a);
switch(a){
case 1: printf("Monday "); break;
case 2: printf("Tuesday "); break;
case 3: printf("Wednesday "); break;
case 4: printf("Thursday "); break;
case 5: printf("Friday "); break;
case 6: printf("Saturday "); break;
case 7: printf("Sunday "); break;
default:printf("error "); break;
}
return 0;
}
J. C语言switch
因为它初始化了数组的每一个元素都是零值,并且采用循环,每次处理一个字符,对相应的数组元素进行计数。所以,当循环结束时,就能正确统计出每个输入数字字符的个数。'1'与1是不一样的。他们在计算机中都是采用二进制储的整数存储的,字符'1'的ASCII值是49,而数字1就是直接存储一个二进制整数1。