内容正文:
第4章 选择结构
4.1 if语句
4.2 switch 语句
4.3 综合实例
大学C/C++语言程序设计程序设计 第4章 选择结构
switch (整数或字符表达式)
{ case 常量表达式1:语句1;
case 常量表达式2:语句2;
……
case 常量表达式n:语句n ;
[default:语句n+1;]
}
1.一般格式:
每个case的常量表达式必须互不相同
整数或字符型常量
各case和default子句的先后顺序随意,没有语法错误,但会影响程序运行结果。default子句一般放最后。
4.2 switch语句
大学C/C++语言程序设计程序设计 第4章 选择结构
1.当(括号中)表达式的值与某一个case后面的常量相等时,执行该case后面的语句,然后不再判断,继续执行后面所有语句。
2.若所有的case后面的常量都不和表达式的值相匹配,就执行default后面的语句。
2.执行过程:
大学C/C++语言程序设计程序设计 第4章 选择结构
例:
#include<stdio.h>
int main( )
int x;
scanf("%d", &x);
switch (x)
{ case 1:printf("A
");
case 2:printf("B
");
case 3:printf("C
");
default:printf("D
");
}
}
输入1,则输出:
A
B
C
D
输入3,则输出:
C
D
{
输入0或4 ……
则输出:
D
大学C/C++语言程序设计程序设计 第4章 选择结构
#include<stdio.h>
int main ()
{ int i=10;
switch(i)
{ case 9: i+=1;
case 10: i+=1;
case 11: i+=1;
default: i+=1;
}
printf("%d
",i);
}
课堂练习
答案:13
思考:如果把default移到case 9前面,结果是?
大学C/C++语言程序设计程序设计 第4章 选择结构
break;语句跳出switch, 继续执行switch后续语句。
3.switch中的break语句
#include<stdio.h>
int main ()
{int a=1;
switch (a)
{case 1:
printf("switch 1
");
break;
case 2:
printf("switch 2
");
break;
default:
printf("other
");
break;
}
}
大学C/C++语言程序设计程序设计 第4章 选择结构
#include<stdio.h>
int main( )
{ int x;
scanf("%d", &x);
switch (x)
{ case 1: printf("A
");break;
case 2: printf("B
"); break;
case 3: printf("C
"); break;
default: printf("D
");
}
}
输入1,则输出:
A
课堂练习
大学C/C++语言程序设计程序设计 第4章 选择结构
用switch语句编程实现:输入百分制成绩,输出等级制成绩。等级为A、B、C、D、E(假定成绩为实型数据)。
#include<stdio.h>
int main( )
{ float score;
scanf("%f",&score);
switch((int)(score/10))
{ case 10:printf("A
"); break;
case 9: printf("A
"); break;
case 8: printf("B
"); break;
case 7: printf