switch语句
2016-07-15 22:12
204 查看
一、语句格式
switch(表达式){
sase 常量表达式1:
语句序列1;
break;
sase 常量表达式2:
语句序列2;
break;
sase 常量表达式n:
语句序列n;
break;
…
default:
语句序列 n+1;
}
该语句中可以使用一个或多个case标号,但只能用一次default标号,或省略整个default部分;多个case标号也允许使用在同一个语句序列的前面;每个语句标号由保留字case和后面的常量表达式及冒号组成,每个常量表达式通常为字面常量,如常数或字符。
二、 语句执行过程
switch语句执行过程由以下3步描述。(1)计算出switch后面圆括号内表达式的值,假定为m,若它不是整型,系统将自动去除其小数部分,值取其证书部分作为结果值。
(2)依次计算每一个常量表达式的值,假定为m1,m2,……,同样,若它们的值不是整型,则自动转换为整型。
(3)让m依次同m1,m2,……进行比较,一旦遇到m与某个值相等,则就从对应标号的语句开始执行;在碰到不相等的情况下,若存在default语句,则就执行其冒号后面的语句序列,否则不执行任何操作。当执行到复合语句的右花括号时,就结束整个stitch语句的执行。
三、语句格举例
(1)两种书写格式是等价的switch(a)
{
case 1:x++;break;
case 2:y++;break;
case 3:z++;break;
default:cout<<”error”;
}
switch(a)
{
case 1:
x++;break;
case 2:
y++;break;
case 3:
z++;break;
default:
cout<<”error”;
}
(2)
switch(ch)
{
case’a’:
case’A’:
d1=(x+y)/2;
d2=x*y-2;
break
case’b’:
case’B’:
d1=(a+b)/2;
d2=a*b-2;
break;
default:
cout<<”input error”;
}
说明:1.每个case后面的语句可以写在冒号后的同一行或换到新行写。
2.<语句序列1>…<语句序列n+1>都是一组语句,有时可为空。
四、例题
例1根据从键盘上输入的表示星期几的数字,对应输出它们的英文名称。
源代码:
#include<iostream> #include<cstdio> using namespace std; int main() { int weekday; scanf("%d",&weekday); switch(weekday) { case 1: printf("Monday\n") ;break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; case 4: printf("Thursday\n"); break; case 5: printf("Friday\n"); break; case 6: printf("Saturday\n"); break; case 7: printf("Sunday\n"); break; default: printf("Input error!\n"); } system("pause"); return 0; }
例2
判断2006年每个月份的天数。
源代码:
#include<iostream> #include<cstdio> using namespace std; int main() { int month,day; scanf("%d",&month); switch(month) { case 2: day=28; break; case 4: day=30; break; case 6: day=30; break; case 9: day=30; break; case 11: day=30;break; default: day=31; break; } printf("%d\n",day); system("pause"); return 0; }
相关文章推荐
- php switch语句多个值匹配同一代码块的实现
- Java控制语句之if、switch语句
- java switch case 语句
- C语言基础---BOOL 类型,运算符,if 语句,switch语句
- 模拟ATM柜员机界面
- Lesson_for_java_day05--java的三目运算符、if语句、switch语句、while循环、for循环
- C语言培训_008
- Lesson 6:分支语句和逻辑运算符
- C语言之switch语句详解
- 第五次上机实验报告:switch语句及break和continue用法
- python字典 switch语句
- 第七天 switch语句
- switch语句规则(break,default)
- javascript-switch语句
- Java篇--Java语言的基本语法3
- 初识c#---分支结构
- 简单枚举类型——植物与颜色(枚举类型+switch语句)
- Java中学员状态转换器
- Java基础——【习题一】流程控制练习题
- if语句和switch语句的区别