华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
全國  |             |          |          |          |          |         
  當(dāng)前位置:計算機等級 > 二級考試 > C語言程序設(shè)計 > C語言輔導(dǎo) > 文章內(nèi)容
  

計算機二級C語言考點解析:條件語句

中華IT學(xué)院   【 】  [ 2017年9月5日 ]

  四、switch--case語句

  在編寫程序時, 經(jīng)常會碰到按不同情況分轉(zhuǎn)的多路問題, 這時可用嵌套if -else-if語句來實現(xiàn), 但if-else-if語句使用不方便, 并且容易出錯。對這種情況, Turbo C2.0提供了一個開關(guān)語句。開關(guān)語句格式為:

  switch(變量)

  {

  case 常量1:

  語句1或空;

  case 常量2:

  語句2或空;

  .

  .

  .

  case 常量n:

  語句n或空;

  default:

  語句n+1或空;

  }

  執(zhí)行switch開關(guān)語句時,將變量逐個與case后的常量進(jìn)行比較,若與其中一個相等,則執(zhí)行該常量下的語句,若不與任何一個常量相等,則執(zhí)行default后面的語句。

  注意:

  1.switch中變量可以是數(shù)值,也可以是字符,但必須是整數(shù)。

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

  3.每個case或default后的語句可以是語句體,但不需要使用{和}括起來。

  例如:

  main()

  {

  int x,y;

  scanf(%d,&x);

  witch(x)

  {

  case 1:

  y=x+1;

  break; /*退出開關(guān)語句,遇到break才退出*/

  case 4:

  y=2*x+1;

  break;

  default:

  y=x--;

  break;

  }

  printf(%d\n,y);

  }

  從上面的例子可以看出,用開關(guān)語句編的程序一定可以用if語句做。那么在什么情況下需要用switch語句呢?一般在出現(xiàn)比較整的情況下或者能轉(zhuǎn)化成比較整數(shù)的情況下使用。看下面的例子:

  例子:一個學(xué)生的成績分成五等,超過90分的為'A',80-89的為'B',70-79為'C',60-69為'D',60分以下為'E'。現(xiàn)在輸入一個學(xué)生的成績,輸出他的等級。

  (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語句執(zhí)行的順序是從第一case判斷,如果正確就往下執(zhí)行,直到break;如果不正確,就執(zhí)行下一個case。所以在這里,當(dāng)成績是100分時,執(zhí)行case 10:然后往下執(zhí)行,grade='A';break;退出。

  想想看,這里為什么要用num/=10;?

  假設(shè)當(dāng)程序中有浮點數(shù)時怎么辦呢?

首頁 1 2 尾頁
分享到:
本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營業(yè)執(zhí)照
神池县| 托克逊县| 弋阳县| 正蓝旗| 紫金县| 太康县| 金门县| 黄浦区| 洞头县| 关岭| 鹿邑县| 行唐县| 和田市| 潮安县| 麻城市| 长垣县| 株洲市| 辽中县| 南丹县| 定边县| 莫力| 秦皇岛市| 金门县| 安溪县| 太仆寺旗| 化德县| 上饶县| 郎溪县| 灯塔市| 通化县| 阜城县| 枣强县| 西宁市| 阿合奇县| 昔阳县| 阳曲县| 资源县| 兴城市| 松滋市| 新邵县| 宽甸|