华南俳烁实业有限公司

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

全國計算機等級考試二級C語言入門教程(51)

中華IT學(xué)院   【 】  [ 2016年1月15日 ]

  if語句的嵌套

  當(dāng)if語句中的執(zhí)行語句又是if語句時,則構(gòu)成了if 語句嵌套的情形。其一般形式可表示如下:

  if(表達(dá)式)

  if語句;

  或者為

  if(表達(dá)式)

  if語句;

  else

  if語句;

  在嵌套內(nèi)的 if語句可能又是 if-else型的,這將會出現(xiàn)多個 if和多個else重疊的情況,這時要特別注意 if和 else

  的配對問題。例如:

  if(表達(dá)式1)

  if(表達(dá)式2)

  語句1;

  else

  語句2;

  其中的else究竟是與哪一個 if配對呢?

  應(yīng)該理解為: 還是應(yīng)理解為:

  if(表達(dá)式1)if(表達(dá)式1)

  if(表達(dá)式2) if(表達(dá)式2)

  語句1; 語句1;

  else else

  語句2; 語句2;

  為了避免這種二義性,C語言規(guī)定,else 總是與它前面最近的 if配對,因此對上述例子應(yīng)按前一種情況理解。

  void main(){

  int a,b;

  printf("please input A,B: ");

  scanf("%d%d",&a,&b);

  if(a!=b)

  if(a>b) printf("A>B\n");

  else printf("A

  else printf("A=B\n");

  }

  比較兩個數(shù)的大小關(guān)系。

  printf("please input A,B: ");

  scanf("%d%d",&a,&b);

  if(a!=b)

  if(a>b) printf("A>B\n");

  else printf("A

  else printf("A=B\n");

  本例中用了 if語句的嵌套結(jié)構(gòu)。 采用嵌套結(jié)構(gòu)實質(zhì)上是為了進(jìn)行多分支選擇,例 3.16實際上有三種選擇即A>B、A

  或A=B。這種問題用 if-else-if語句也可以完成。而且程序更加清晰。因此, 在一般情況下較少使用 if語句的嵌套

  結(jié)構(gòu)。 以使程序更便于閱讀理解。

  void main(){

  int a,b;

  printf("please input A,B: ");

  scanf("%d%d",&a,&b);

  if(a==b) printf("A=B\n");

  else if(a>b) printf("A>B\n");

  else printf("A

  }

分享到:
本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
温州市| 会昌县| 久治县| 娄烦县| 广宗县| 杭锦后旗| 普安县| 昌平区| 嫩江县| 太仆寺旗| 黔江区| 阿拉善左旗| 丹江口市| 库车县| 祁门县| 卢氏县| 遂平县| 儋州市| 万山特区| 白沙| 平陆县| 无极县| 绥芬河市| 冷水江市| 武隆县| 阳东县| 沙雅县| 湄潭县| 五莲县| 沧州市| 西宁市| 蚌埠市| 通州区| 成都市| 阜城县| 桃园县| 梅州市| 柳林县| 泗阳县| 班戈县| 师宗县|