㈠ c语言switch语句
楼主好,楼上的哥们好!
楼上的两位哥们都是直接把x当整型处理的,楼主并没有说x是整型啊,对不对?
这是我的程序:
#include
<stdio.h>
main()
{
double
x,y;
int
a;
scanf("%lf",&x);
a=(int)x;
/*将x的值强制转换为整形,也就是截去小数点后面的,赋给a*/
switch(a)
{
case
-4:y=x-1;break;
case
-3:y=x-1;break;
case
-2:y=x-1;break;
case
-1:y=x-1;break;
/*********************
其实上面这一段可以写成这样
case
-4:
case
-3:
case
-2:
case
-1:
y=x-1;break;
简化程序
下边这段也同理....
***********************/
case
7:y=x+1;break;
case
6:y=x+1;break;
case
5:y=x+1;break;
case
4:y=x+1;break;
case
3:y=x+1;break;
case
2:y=x+1;break;
case
1:y=x+1;break;
case
0:y=x;break;
default:printf("Input
Error\n");goto
loop;
}
printf("x=%lf\ny=%lf\n",x,y);
loop:;
getch();
}
这样不管你输入是整数还是浮点数都行啦....
其实一楼的哥们的方法超好啊。如果把int
x,y改成double
x,y就完美了..(这好像不是个问题.....)
程序我测试过了,没发现问题。(饿只是说饿没有发现问题,谁发现的问题快点指正!!!)
====================================
lipbb说的很对,上面我写的程序确实有错误....懒得改了.....这是我想的另一个方法:
用switch嵌套,饿测试过了,没发现问题。(饿只是说饿没有发现问题,谁发现的问题快点指正!!!)
#include
<stdio.h>
main()
{
double
x,y;
printf("please
input
x\n");
scanf("%lf",&x);
switch(-5<x&&x<0)
{
case
1:y=x-1;break;
case
0:
{
switch(x==0)
{
case
1:y=x;break;
case
0:
{
switch(0<x&&x<8)
{
case
1:y=x+1;break;
case
0:printf("Input
Error\n");goto
loop;
}
}break;
}
}break;
}
printf("x=%lf\ny=%lf",x,y);
loop:;
getch();
}
楼主有不明白的地方可以给我留言。
㈡ switch(C语言中)是什么意思
C语言中的SWITCH是计算表达式的值。
并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,
即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。
其一般形式为:
switch(表达式)。case
常量表达式1:
语句1 case
常量;表达式2:
语句2
case
常量;
表达式n:
语句n, default:
语句n+1。switch
是分支语句,就是比较强大的if集;
default为不满足所有的switch条件则后面的句子被执行。一般将default写在switch中的最后。
C语言虽然没有限制
if
else
能够处理的分支数量,但当分支过多时;
用
if
else
处理会不太方便,而且容易出现
if
else
配对出错的情况。
(2)switchc语言扩展阅读:
switch语法
1、Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
2、直线翻译:switch语句,即“切换”语句;case即“情况”。
3、switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
4、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。
5、对于其他类型,则必须使用if语句。switch()的参数类型不能为实型
。
6、case标签必须是常量表达式(constantExpression),如42或者"42"。
7、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
参考资料来源:网络:switch
㈢ C语言:switch语句用法
case
(c>=90
&&
c<=100):
case后面的必须是一个常量。
你这个可以先将成绩除以10,再用switch
#include
"stdio.h"
void
main()
{
char
c;
/*这里别用char,改成:int
c,d;*/
scanf("%c",&c);
/*这一句也改成scanf("%d",&c);最好前面再加一句,printf("请输入成绩:");
在这句后面加一句d=c/10;*/
switch(c)
/*然后switch里面用d来判断,switch(d)*/
{
case
(c>=90
&&
c<=100):printf("成绩的等级为:A.\n");
break;
/*改成:
case
(10):
case
(9):printf("成绩的等级为:A.\n");break;
case
(c>=80
&&
c<=89):printf("成绩的等级为:B.\n");
break;
/*改成:case
(8):printf("成绩的等级为:B.\n");
break;
}
}
因为90到100之间的数经过除以10再取整以后就变成了9;100/10等于10,又因为case调用同一个语句的时候允许就在最后一个语句写上那个语句,而将前面的那几个省略掉,所以case
(10):后面的就省掉了,当然写上也不会错。
你的补充的那个,你可以把它分开表示,就像我给你弄的那个case
(c>=90
&&
c<=100):printf("成绩的等级为:A.\n");
break;
/*改成:
case
(10):
case
(9):printf("成绩的等级为:A.\n");break;
虽然有点纠缠不清的感觉,但是希望对解决你的疑问有一定的帮助,呵呵。。。
㈣ C语言中switch函数具体的用法
思路都要结合实例来说的,总之当你需要对整数或者字符进行判断,进行相应的操作,并且判断的数量不多就可以用,具体示例可以参照网页链接
㈤ c语言中switch怎么用
简单的说switch语句也是属于判断语句,if else语句适合3个以内的判断,但是多了用if就不太方便了,所以这时3个以上的判断用switch语句就比较方便了,结构就像楼上的兄弟们那样写的,大概怎么用我举个例子你就懂了。
例:判断一周的食谱,就是星期几的食谱是什么,首先一个星期7天,那么判断七次,用switch语句写法如下:
#include<stdio.h>
void main()
{
int a;//定义变量用于开辟1到7的数字即一星期的天数。
printf("看看星期几的食谱是什么?");
scanf("%d",&a);
switch(a)//开始判断1-7的食谱。
{
case 1:printf("星期一吃水果 ");
break;//结束语句,判断这天后提示完就不执行下面的语句了,否则逻辑错误。
case 2:printf("星期二吃蔬菜 ");
break;
case 3:printf("星期三吃火锅 ");
break;
case 4:printf("星期四吃米饭 ");
break;
case 5:printf("星期五吃西餐 ");
break;
case 6:printf("星期六吃米饭 ");
break;
case 7:printf("星期天吃满汉全席 ");
break;
default:printf("请输入正确的日期 ");//default语句类似else,如果不输入1到7的正确日期就显示这个语句。
break;
}
}
(5)switchc语言扩展阅读
if 语句:“如果”语句;if—else 语句:“若…(则)…否则…”语句;switch 语句:“切换”语句;switch—case:“切换—情况”语句。
跳转结构
return:用在函数体中,返回特定值(如果是void类型,则不返回函数值)。(K&R时期引入)
continue:结束当前循环,开始下一轮循环。(K&R时期引入)
break:跳出当前循环或switch结构。(K&R时期引入)
goto:无条件跳转语句。(K&R时期引入)
分支结构
if:条件语句,后面不需要放分号。(K&R时期引入)
else:条件语句否定分支(与if连用)。(K&R时期引入)
switch:开关语句(多重分支语句)。(K&R时期引入)
case:开关语句中的分支标记,与switch连用。(K&R时期引入)
default:开关语句中的“其他”分支,可选。(K&R时期引入)
㈥ C语言中switch语句的用法
在每个case语句后加上break语句(即在每个printf语句后加上一句break;),执行break后直接跳出switch。这样就只输出一个了
㈦ C语言中的SWITCH是什么意思
1、SWITCH语句的字面意思是开关,是用来进行多重选择。具体的用法首先打开C-Free5.0软件,然后新建一个名为switch.c文件,然后在引入头文件和main主函数:
㈧ c语言 switch的用法
switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
C语言程序语句switch语句的语法如下(switch,case和default是关键字):
switch ( controllingExpression )
{
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
statements;
//当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements
break;
case constantExpression :
statements ;
break;
...
default :
statements ;
break;
}
(8)switchc语言扩展阅读:
Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。
case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
㈨ c语言中switch怎么用
C语言中switch是条多分支选择语句。
通常情况下格式如下:
switch(表达式){
case常量表达式1:语句1;
case常量表达式2:语句2;
…
case常量表达式n:语句n;
default:语句n+1;
}
其中default不一定放在最后
完整格式:
switch(表达式){
case常量表达式1:语句1;
case常量表达式2:语句2;
…
case常量表达式n:语句n;
default:语句n+1;
case常量表达式n+1:语句n+1;
...
case常量表达式m:语句m;
}
程序会计算表达式里的值,然后和所有的常量表达式进行比较
遇到和常量表达式的值相等的,则从相应的case往下执行,直到结束或遇到break,跳出该switch
如果没有遇到相同的常量表达式,则从default往下执行,直到结束或遇到break,跳出该switch
注意:
1、通常每个switch后面加break,也可以没有。没有则继续往下运行所有case和default里的代码,直到结束或遇到break;
2、case后面是常量表达式,不可以跟变量。