2018年9月计算机二级C语言考点解析:条件语句

  四、switch--case语句

  在编写程序时, 经常会碰到按不同情况分转的多路问题, 这时可用嵌套if -else-if语句来实现, 但if-else-if语句使用不方便, 并且容易出错。对这种情况, Turbo C2.0提供了一个开关语句。开关语句格式为:

  switch(变量)

  {

  case 常量1:

  语句1或空;

  case 常量2:

  语句2或空;

  .

  .

  .

  case 常量n:

  语句n或空;

  default:

  语句n+1或空;

  }

  执行switch开关语句时,将变量逐个与case后的常量进行比较,若与其中一个相等,则执行该常量下的语句,若不与任何一个常量相等,则执行default后面的语句。

  注意:

  1.switch中变量可以是数值,也可以是字符,但必须是整数。

  2.可以省略一些case和default。

  3.每个case或default后的语句可以是语句体,但不需要使用{和}括起来。

  例如:

  main()

  {

  int x,y;

  scanf(%d,&x);

  witch(x)

  {

  case 1:

  y=x+1;

  break; /*退出开关语句,遇到break才退出*/

  case 4:

  y=2*x+1;

  break;

  default:

  y=x--;

  break;

  }

  printf(%d\n,y);

  }

  从上面的例子可以看出,用开关语句编的程序一定可以用if语句做。那么在什么情况下需要用switch语句呢?一般在出现比较整的情况下或者能转化成比较整数的情况下使用。看下面的例子:

  例子:一个学生的成绩分成五等,超过90分的为'A',80-89的为'B',70-79为'C',60-69为'D',60分以下为'E'。现在输入一个学生的成绩,输出他的等级。

  (1).用if语句

  main()

  {

  float num;

  char grade;

  scanf(%d,&num);

  if(num>=90) grade='A';

  else if(num>=80&&num<89) grade='B';

  else if(num>=70&&num<79) grade='C';

  else if(num>=60&&num<69) grade='D';

  else grade='E';

  printf(%c,grade);

  }

  (2).用switch语句

  main()

  {

  int num;

  char grade;

  scanf(%d,&num);

  num/=10;

  switch(num)

  {

  case 10:

  case 9:

  grade='A';

  break;

  case 8:

  grade='B';

  break;

  case 7:

  grade='C';

  break;

  case 6:

  grade='D';

  break;

  default:

  grade='E';

  break;

  }

  printf(%c,grade);

  }

  说明一点,并不是每个case里面有都语句,有时侯里面是空的,就好象这一题。switch语句执行的顺序是从第一case判断,如果正确就往下执行,直到break;如果不正确,就执行下一个case。所以在这里,当成绩是100分时,执行case 10:然后往下执行,grade='A';break;退出。

  想想看,这里为什么要用num/=10;?

  假设当程序中有浮点数时怎么办呢?

  推荐阅读:

  2018年9月计算机二级C语言考点解析:运算符

  2018年9月计算机二级C语言考点解析:字符串

  2018年9月计算机二级C语言考点解析:初步知识

  2018年9月计算机二级C语言考点解析:循环语句和循环函数

  2018年9月计算机二级C语言考点解析:编译预处理和动态存储分配

  2018年9月计算机二级C语言考点解析:用户标识符的作用域和存储类

  出国留学网计算机等级考试 栏目推荐

  2018年计算机等级考试计划

  2018年计算机等级考试时间

  计算机等级考试动态

  计算机等级考试报名时间

  计算机等级考试时间

  计算机等级考试准考证打印时间

  计算机等级考试成绩查询时间

  计算机等级考试试题及答案

分享

热门关注

计算机二级考试时间多长

关于计算机二级

计算机二级考试时间一年几次呢

关于计算机二级

计算机二级考试时间分配

关于计算机二级

计算机二级考试内容考些什么

考试内容

计算机二级什么时候出成绩呢

计算机成绩

计算机二级考试c语言难不难

计算机二级考试

计算机二级考试重要考点归纳

二级考试重要考点归纳

计算机二级报名条件是什么

计算机二级报名

计算机二级怎么自学

计算机二级自学

计算机二级office考什么

计算机二级