出国留学网

目录

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

【 liuxue86.com - 计算机二级 】

  四、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年计算机等级考试时间

  计算机等级考试动态

  计算机等级考试报名时间

  计算机等级考试时间

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

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

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

  想了解更多计算机二级网的资讯,请访问: 计算机二级

本文来源:https://jsj.liuxue86.com/a/3711369.html
延伸阅读
    想必要考试的考生,对快捷键还是有敏感的,快捷键不仅使你考试能做题快一些,在平时设计网站时也是有很大的帮助的,在这里预祝即将考试的考生
2019-01-02
漂亮的Flash动画人人喜欢,不过制作起来的确有一些技术难度。你知道吗,Dreamweaver作为一个网页制作工具,还可以创建好玩的Flash相册。小编整理了一些Flash相册的资
2019-01-02
    滚动字幕会让很多人感到兴奋,特别是第一次使用滚动字幕时,会爱不释手。现在做一个详细的方案,让你更全面地了解一下。小编整理了一些滚动字
2019-01-02
    我们都想知道在学习计算机语言中的C语言,最重要的就是字符串了,小编整理了关于C语言的一些知识点,对你的计算机考试会有帮助的,想了解更
2019-01-02
你准备好计算机等级考试了么?小编为大家提供“2018年12月计算机二级Java冲刺题及答案3”供广大考生参考,希望帮到您!更多计算机等级考试的资讯请关注我们网站的更新哦!2018年
2018-11-28
本网站计算机考试栏目小编为考生们整理了“2018年12月计算机二级Java冲刺题及答案2”,希望有所帮助,更多计算机等级考试信息请关注本网站的及时更新哦。祝同学们金榜题名!2018
2018-11-28
计算机等级考试栏目小编精心为您收集整理了《2018年12月计算机二级Java冲刺题及答案1》,希望给您带来帮助!更多精彩内容尽在本站,请持续关注。祝您考试顺利哦!2018年12月计
2018-11-28
三层模式是体系结构模式,MVC是设计模式,考生们应该常见吧,小编为你整理了一些关于JavaBean的资料,供程序员参考,希望能对你有所帮助!计算机二级考试-Web前端程序设计(Ja
2019-01-02