一、switch是什么意思
1、switch英文单词, 英音[switʃ] 美音[swɪtʃ]
2、译为:
n.开关,转换,转换器,软鞭子,[信]接线台
vt.& vi.转变,改变,转换,关闭电流,鞭打
vt.转换,挥动(棍棒、鞭子等),迅速转动,鞭打
vi.交换,调换
3、c语言分支关键字:
C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
直线翻译:switch语句,即“切换”语句;case即“情况”。
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;
}
二、c语言中switch的含义
switch 叫开关语句,根据条件判断,选择某些语句执行。
句法:
switch (k)
{
case 1: 。; break;
case 4: 。; break;
case 3: 。; break;
default: 。;break;
}
k 是 现在给的值
case 与冒号之间是条件,现在给的值满足哪个 case 与冒号之间的条件,就执行冒号以下的语句,直到break跳出开关语句。
所有的case 与冒号之间的条件都不满足时,执行default以下的语句直到break。
下面给个实例--拍入两个数,选加,或减或乘或除,程序用开关语句判断,选择执行,并打出算式和结果。
#include <stdio.h>
#include <stdlib.h>
void main(){
float s1 = 0, s2 = 0; /* the two numbers to work on */
int menu = 1; /* add or substract or divide or multiply */
float total = 0; /* the result of the calculation */
char calType; /* what type of calculation */
printf("Please enter s1 /n/t");
scanf("%f", &s1); /* READ first number */
printf("Please enter s2 /n/t");
scanf("%f", &s2); /* READ second number */
printf("/n/nWhat would you like to do?/n/n");
printf("/t1 = add/n");
printf("/t2 = substract/n");
printf("/t3 = multiply/n");
printf("/t4 = divide/n");
printf("/n/nPleas make your selection now:/n/t");
scanf("%d",&menu); /* READ calculation type */
switch (menu)
{
case 1: total = s1 + s2;
calType = '+';
break;
case 2: total = s1 - s2;
calType = '-';
break;
case 3: total = s1 * s2;
calType = '*';
break;
case 4: total = s1 / s2;
calType = '/';
break;
default: printf("Invalid option selected/n");
}
printf("/n/n*************************");
printf("/n/n %.3f %c %.3f = %.2f", s1, calType, s2, total);
printf("/n/n*************************/n/n");
}
[选除法时,除数别给0]
三、switch是什么意思
是一个循环判断。通俗点说,它后面的括号里是循环条件,下面的case就是它可能遇到的结果,遇到一个case该怎样执行。
C++的switch只支持整型表达式、以及可以转化成整型的表达式。这是什么意思呢?
这是说,switch不支持字符串、数组、浮点数。
支持整型,包括short / unsigned short / int / unsigned int/ long / unsigned long
此外,还有long long和unsigned long (如果编译器支持long long的话) 。
switch(a)
{
case 1:
printf("a=1/n");//////////当a=1时执行的语句
break;
case 2:
printf("a=2/n");//////////当a=2时执行的语句
break;
case 3:
printf("a=3/n");//////////当a=3时执行的语句
break;
/*
。。a=4、5等等
*/
default:
printf("a=other/n");//////////当a=其它数值,不包括在上面列表中的时后执行的语句
break;
}
注意,break可以去掉,但这样的话执行完这个case后不会退出大括号,而是执行下一个case直到遇见break;或是大括号结束为止。这个性质在有些地方很有用,比如成绩分级那个习题。
defualt可以不要,但就没有相关默认规则了,建议你加上,哪怕是空语句也好。