c语言switch的用法
发布时间:2025-05-13 10:11:18 发布人:远客网络
一、c语言switch的用法
1、执行过程:
先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。
2、先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。
3、当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。
4、如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。
二、求教c语言中switch 语句的详细用法
switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
switch语句的语法如下(switch,case和default是关键字):
switch( controllingExpression)
statements;//当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是常量表达式(constantExpression),如42或者"42"。如果需要在运行时计算case标签的值,必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
switch((int)(score/10))//如果写成witch((int)score/10)会出现严重错误
case 9:printf("A(最好)\n");break;
case 8:printf("B(优秀)\n");break;
case 7:printf("C(良好)\n");break;
case 6:printf("D(及格)\n");break;
case 0:printf("E(不及格)\n");break;
default:printf("Error!\n");
printf("请输入分数等级:(A、B、C、D、E)\n");
switch(rank)//switch((int)score/10)出现严重错误,switch(((int)score)/10)出现严重错误,
case'A':printf("A(90~100)\n");break;
case'B':printf("B(80~89)\n");break;
case'C':printf("C(70~79)\n");break;
case'D':printf("D(60~69)\n");break;
case'E':printf("E(0~59)\n");break;
default:printf("error!\n");break;
输入年月日,判断这一天是这一年的第几天。
int year,month,date,leap,days=0;
scanf("%4d%2d%2d",&year,&month,&date);
leap=(year%4==0&&year%100!=0||year%400==0);
printf("%4d年%2d月%2d日是这一年的第%d天。\n",year,month,date,days);
三、c语言新手 switch(y) 是什么意思 详细点解释 谢谢!!
1、其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
2、printf("input integer number:");
3、case 1:printf("Monday\n");
4、case 2:printf("Tuesday\n");
5、case 3:printf("Wednesday\n");
6、case 4:printf("Thursday\n");
7、case 5:printf("Friday\n");
8、case 6:printf("Saturday\n");
9、case 7:printf("Sunday\n");
10、default:printf("error\n");
11、本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch语句,所以出现了继续执行所有后面case语句的情况。这是与前面介绍的if语句完全不同的,应特别注意。为了避免上述情况, C语言还提供了一种break语句,专用于跳出switch语句,break语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。