奶爸业余单片机学习之:C语言基础——switch多分支选择语句
============switch 多分支选择语句==========
一般形式为:
switch(表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
功能:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
实例:
#include<stdio.h>
int main()
{
int i = 0;
while(i<5)
{
switch(i)
{
case 0: printf("switch执行了1次循环,i = %d\n",i); break;
case 1: printf("switch执行了2次循环,i = %d\n",i); break;
case 2: printf("switch执行了3次循环,i = %d\n",i); break;
case 3: printf("switch执行了4次循环,i = %d\n",i); break;
case 4: printf("switch执行了5次循环,i = %d\n",i); break;
case 5: printf("switch执行了6次循环,i = %d\n",i); break;
case 6: printf("switch执行了7次循环,i = %d\n",i); break;
case 7: printf("switch执行了8次循环,i = %d\n",i); break;
}
i++;
}
return 0;
}
在VC++6.0中输出:
switch执行了1次循环
i = 1
switch执行了2次循环
i = 2
switch执行了3次循环
i = 3
switch执行了4次循环
i = 4
switch执行了5次循环
i = 5
Press any key to continue
在使用switch语句时还应注意以下几点:
- 在case后的各常量表达式的值不能相同,否则会出现错误。
- 在case后,允许有多个语句,可以不用{}括起来。
- 各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
- default子句可以省略不用。