C语言中的SWITCH是什么意思?

 我来答
云云说教育
2019-05-07 · 教育领域爱好者
云云说教育
采纳数:631 获赞数:403493

向TA提问 私信TA
展开全部

C语言中的SWITCH是计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。

用法:

.单一label的情况:

switch(exprission)

{

case  label1: statement1 ;

break;

case  label2 :  statement2;

break;

default:            statement3;

break;


}

扩展资料

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”。

参考资料来源:百度百科-switch

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兔丞飞
高粉答主

2018-12-07 · 专注娱乐 专注娱乐 专注娱乐
兔丞飞
采纳数:25 获赞数:19893

向TA提问 私信TA
展开全部

简单的说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("星期一吃水果\n");

break;//结束语句,判断这天后提示完就不执行下面的语句了,否则逻辑错误。

case 2:printf("星期二吃蔬菜\n");

break;

case 3:printf("星期三吃火锅\n");

break;

case 4:printf("星期四吃米饭\n");

break;

case 5:printf("星期五吃西餐\n");

break;

case 6:printf("星期六吃米饭\n");

break;

case 7:printf("星期天吃满汉全席\n");

break;

default:printf("请输入正确的日期\n");//default语句类似else,如果不输入1到7的正确日期就显示这个语句。

break;
}

}

扩展资料

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语言

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
StEveLee115
2008-04-17 · TA获得超过6375个赞
知道大有可为答主
回答量:4879
采纳率:0%
帮助的人:4786万
展开全部
简单的说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("星期一吃水果\n");
break;//结束语句,判断这天后提示完就不执行下面的语句了,否则逻辑错误。
case 2:printf("星期二吃蔬菜\n");
break;
case 3:printf("星期三吃火锅\n");
break;
case 4:printf("星期四吃米饭\n");
break;
case 5:printf("星期五吃西餐\n");
break;
case 6:printf("星期六吃米饭\n");
break;
case 7:printf("星期天吃满汉全席\n");
break;
default:printf("请输入正确的日期\n");//default语句类似else,如果不输入1到7的正确日期就显示这个语句。
break;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月生恋珊
推荐于2017-09-26 · TA获得超过582个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:43.2万
展开全部

Switch用在C语言中它经常跟Case一起使用,是一个判断选择代码。Switch作用与if语句类似,其功能就是控制业务流程流转的。只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

如下:

#include<stdio.h>
int main()
{
char rank;
printf("请输入分数等级:(A、B、C、D、E)\n");
scanf("%c",&rank);
switch(rank)//rank是判断的变量
{
//rank='A'的时候
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;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a474812802
高粉答主

推荐于2019-11-17 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1180
采纳率:84%
帮助的人:29.2万
展开全部
  1. 用于多分支选择的switch语句, 其一般形式为:

  2. switch(表达式)。case 常量表达式1: 语句1 case 常量表达式2: 语句2  case 常量表达式n: 语句n, default: 语句n+1。

  3. switch 是分支语句,就是比较强大的if集;default为不满足所有的switch条件则后面的句子被执行。一般将default写在switch中的最后。

C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式