内容正文:
YCF
(中职)计算机程序设计(C语言)第四章第3节教学课件工信版
1
第4章 选择结构程序设计
4.3 switch语句
4.3.1 switch语句
switch语句专门用于解决多分支选择问题。
switch(表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default : 语句n+1;
}
一般格式为:
4.3.1 switch语句
语义:
计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
4.3.1 switch语句
【例4.5】输入一个十进制数,根据输入的数输出所对应的数字的英文单词,若所输入的数小于1或大于10,则输出“Error” 。
#include <stdio.h>
void main()
{
int a;
scanf("%d",&a);
switch(a)
{
case 1:printf("one
");
case 2:printf("two
");
case 3:printf("three
");
case 4:printf("four
");
case 5:printf("five
");
case 6:printf("six
");
case 7:printf("seven
");
case 8:printf("eight
");
case 9:printf("nine
");
case 10:printf("ten
");
default: printf("Error
");
}
}
程序运行结果:
8↙
eight
nine
ten
Error
4.3.1 switch语句
为了避免上述情况,c语言提供了一条break语句,用于跳出整个switch语句,而不再继续执行后面的语句。break语句也称中断语句。可以在各个case后加上break语句,每当执行到break语句时,立即跳出switch语句。switch语句通常和break语句联合使用,从而使得switch语句真正起到多分支的作用。
4.3.1 switch语句
switch(表达式)
{
case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
….
case 常量表达式n:语句n;break;
default:语句n+1;break;
}
switch常见的格式:
4.3.1 switch语句
将4.5例修改如下:
#include <stdio.h>
void main()
{
int a;
scanf("%d",&a);
switch(a)
{
case 1:printf("one
");break;
case 2:printf("two
"); break;
case 3:printf("three
"); break;
case 4:printf("four
"); break;
case 5:printf("five
"); break;
case 6:printf("six
");break;
case 7:printf("seven
");break;
case 8:printf("eight
");break;
case 9:printf("nine
");break;
case 10:printf("ten
");break;
default: printf("Error
");break;
}
}
程序运行结果:
8↙
eight
4.3.2 switch语句的嵌套
在使用switch语句时还应该注意以下几点:
(1)switch后面括弧内的“表达式”可以是任何
数据类型。
(2)当表达式的值与某一个case后面的常量表
达式的值相等时,就执行此case后面的语句,
若所有case中的常是表达式的值都没有与表达式
的值匹配的,就执行default后面的语句。
(3)每一case的常量表达式的值必须互不相同,
否则就会出现互相矛盾的现象。
4.3.2 switch语句的嵌套
(4)各个case的出现次序不影响执行结果。
(5)每一个case后面的语句组不需要用大括号,程序流程会自动顺序执行;执行完一个case后面的语句