上海龙凤419

C说话

C说话switch语句实例

时候:2024-07-13 21:40:34 C说话 我要投稿
  • 相干保举

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