- 相干保举
C说话switch语句实例
指导语:switch 语句用于基于差别的前提来履行差别的举措。以下是百分网小编分享给大师的C说话switch语句实例,接待浏览进修!
C说话还供给了另外一种用于多分支挑选的switch语句, 其一般情势为:
switch(抒发式){
case 常量抒发式1: 语句1;
case 常量抒发式2: 语句2;
…
case 常量抒发式n:语句n;
default: 语句n+1;
}
其语义是:计较抒发式的值。并逐一与厥后的常量抒发式值比拟较,当抒发式的值与某个常量抒发式的值相称时, 即履行厥后的语句,而后不再停止判定,持续履行后面一切case后的语句。如抒发式的值与一切case后的常量抒发式均不不异时,则履行default后的语句。
【例1】
#include
int main(void){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a){
case 1:printf("Monday\n");
case 2:printf("Tuesday\n");
case 3:printf("Wednesday\n");
case 4:printf("Thursday\n");
case 5:printf("Friday\n");
case 6:printf("Saturday\n");
case 7:printf("Sunday\n");
default:printf("error\n");
}
return 0;
}
本法式是请求输入一个数字,输入一个英文单词。可是当输入3今后,却履行了case3和今后的一切语句,输入了Wednesday 及今后的一切单词。这固然是不但愿的。为甚么会呈现这类环境呢?这恰好反映了switch语句的一个特色。在switch语句中,“case 常量抒发式”只相称于一个语句标号, 抒发式的值和某标号相称则转向该标号履行,但不能在履行完该标号的语句后主动跳出全部switch 语句,以是呈现了持续履行一切后面case语句的环境。 这是与后面先容的if语句完整差别的,应出格注重。
为了防止上述环境,C说话还供给了一种break语句,公用于跳出switch语句,break 语句只要关头字break,不参数。点窜例题的法式,在每case语句今后增添break 语句, 使每次履行今后都可跳出switch语句,从而防止输入不应有的成果。
【例2】
#include
int main(void){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a){
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("error\n");
}
return 0;
}
在利用switch语句时还应注重以下几点:
在case后的各常量抒发式的值不能不异,不然会呈现毛病。
在case后,许可有多个语句,能够不必{}括起来。
各case和default子句的前后挨次能够变化,而不会影响法式履行成果。
default子句能够省略不必。
【C说话switch语句实例】相干文章:
C说话数组实例剖析10-21
C说话的布局与连系的实例阐发06-30
C说话前提编译阐发实例08-18
C说话疾速排序实例代码06-04
Swift与C说话指针连系利用实例09-21
C说话挑选排序算法及实例代码07-25
C说话拔出排序算法及实例代码07-02
C说话if语句的利用06-30
C说话完成合并排序算法实例09-18
C说话教程实例:1到100乞降10-05