首頁(yè)考試吧論壇Exam8視線考試商城網(wǎng)絡(luò)課程模擬考試考友錄實(shí)用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓(xùn) 自學(xué)考試 成人高考
四 六 級(jí)
GRE考試
攻碩英語(yǔ)
零起點(diǎn)日語(yǔ)
職稱英語(yǔ)
口譯筆譯
申碩英語(yǔ)
零起點(diǎn)韓語(yǔ)
商務(wù)英語(yǔ)
日語(yǔ)等級(jí)
GMAT考試
公共英語(yǔ)
職稱日語(yǔ)
新概念英語(yǔ)
專四專八
博思考試
零起點(diǎn)英語(yǔ)
托福考試
托業(yè)考試
零起點(diǎn)法語(yǔ)
雅思考試
成人英語(yǔ)三級(jí)
零起點(diǎn)德語(yǔ)
等級(jí)考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報(bào) 關(guān) 員
外 銷 員
價(jià)格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報(bào)檢員
法律顧問(wèn)
管理咨詢
企業(yè)培訓(xùn)
社會(huì)工作者
銀行從業(yè)
教師資格
營(yíng)養(yǎng)師
保險(xiǎn)從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書(shū)資格
電子商務(wù)
期貨考試
國(guó)際商務(wù)
心理咨詢
營(yíng) 銷 師
司法考試
國(guó)際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格
基金從業(yè)資格
統(tǒng)計(jì)從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計(jì)師
會(huì)計(jì)職稱
法律顧問(wèn)
ACCA考試
注冊(cè)會(huì)計(jì)師
資產(chǎn)評(píng)估師
審計(jì)師考試
高級(jí)會(huì)計(jì)師
注冊(cè)稅務(wù)師
國(guó)際內(nèi)審師
理財(cái)規(guī)劃師
美國(guó)注冊(cè)會(huì)計(jì)師
一級(jí)建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價(jià)師
二級(jí)建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價(jià)工程師
注冊(cè)測(cè)繪師
質(zhì)量工程師
巖土工程師
造價(jià)員考試
注冊(cè)計(jì)量師
環(huán)保工程師
化工工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價(jià)
土地估價(jià)師
安全評(píng)價(jià)師
房地產(chǎn)經(jīng)紀(jì)人
投資項(xiàng)目管理師
環(huán)境影響評(píng)價(jià)師
土地登記代理人
繽紛校園 實(shí)用文檔 英語(yǔ)學(xué)習(xí) 作文大全 求職招聘 論文下載 訪談|游戲
計(jì)算機(jī)等級(jí)考試

2013年計(jì)算機(jī)等考二級(jí)《C語(yǔ)言》復(fù)習(xí)筆記第三章第4節(jié)

  4.在使用if語(yǔ)句中還應(yīng)注意以下問(wèn)題

  (1) 在三種形式的if語(yǔ)句中,在if關(guān)鍵字之后均為表達(dá)式。 該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式, 但也可以是其它表達(dá)式,如賦值表達(dá)式等,甚至也可以是一個(gè)變量。例如: if(a=5) 語(yǔ)句;if(b) 語(yǔ)句; 都是允許的。只要表達(dá)式的值為非0,即為“真”.如在if(a=5)…;中表達(dá)式的值永遠(yuǎn)為非0,所以其后的語(yǔ)句總是要執(zhí)行的,當(dāng)然這種情況在程序中不一定會(huì)出現(xiàn),但在語(yǔ)法上是合法的。

  又如,有程序段: if(a=b)

  printf(“%d”,a);

  else

  printf(“a=0”); 本語(yǔ)句的語(yǔ)義是,把b值賦予a,如為非0則輸出該值,否則輸出“a=0”字符串。這種用法在程序中是經(jīng)常出現(xiàn)的。

  (2) 在if語(yǔ)句中,條件判斷表達(dá)式必須用括號(hào)括起來(lái), 在語(yǔ)句之后必須加分號(hào)。

  (3) 在if語(yǔ)句的三種形式中,所有的語(yǔ)句應(yīng)為單個(gè)語(yǔ)句,如果要想在滿足條件時(shí)執(zhí)行一組(多個(gè))語(yǔ)句,則必須把這一組語(yǔ)句用{} 括起來(lái)組成一個(gè)復(fù)合語(yǔ)句。但要注意的是在}之后不能再加分號(hào)。

  例如:

  if(a>b){

  a++;

  b++;

  }

  else{

  a=0;

  b=10;

  }

  if語(yǔ)句的嵌套

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

  if(表達(dá)式)

  if語(yǔ)句;

  或者為

  if(表達(dá)式)

  if語(yǔ)句;

  else

  if語(yǔ)句;

  在嵌套內(nèi)的if語(yǔ)句可能又是if-else型的,這將會(huì)出現(xiàn)多個(gè)if和多個(gè)else重疊的情況,這時(shí)要特別注意if和else的配對(duì)問(wèn)題。例如:

  if(表達(dá)式1)

  if(表達(dá)式2)

  語(yǔ)句1;

  else

  語(yǔ)句2;

  其中的else究竟是與哪一個(gè)if配對(duì)呢?

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

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

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

  語(yǔ)句1; 語(yǔ)句1;

  else else

  語(yǔ)句2; 語(yǔ)句2;

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

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

  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");

  }

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

  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

  }

  條件運(yùn)算符和條件表達(dá)式

  如果在條件語(yǔ)句中,只執(zhí)行單個(gè)的賦值語(yǔ)句時(shí), ?墒褂脳l件表達(dá)式來(lái)實(shí)現(xiàn)。不但使程序簡(jiǎn)潔,也提高了運(yùn)行效率。

  條件運(yùn)算符為?和:,它是一個(gè)三目運(yùn)算符,即有三個(gè)參與運(yùn)算的量。由條件運(yùn)算符組成條件表達(dá)式的一般形式為:

  表達(dá)式1? 表達(dá)式2: 表達(dá)式3

  其求值規(guī)則為:如果表達(dá)式1的值為真,則以表達(dá)式2 的值作為條件表達(dá)式的值,否則以表達(dá)式2的值作為整個(gè)條件表達(dá)式的值。 條件表達(dá)式通常用于賦值語(yǔ)句之中。

  例如條件語(yǔ)句:

  if(a>b) max=a;

  else max=b;

  可用條件表達(dá)式寫(xiě)為 max=(a>b)?a:b;執(zhí)行該語(yǔ)句的語(yǔ)義是:如a>b為真,則把a(bǔ)賦予max,否則把b 賦予max。

  使用條件表達(dá)式時(shí),還應(yīng)注意以下幾點(diǎn):

  1. 條件運(yùn)算符的運(yùn)算優(yōu)先級(jí)低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符,但高于賦值符。因此 max=(a>b)?a:b可以去掉括號(hào)而寫(xiě)為 max=a>b?a:b。

  2. 條件運(yùn)算符?和:是一對(duì)運(yùn)算符,不能分開(kāi)單獨(dú)使用。

  3. 條件運(yùn)算符的結(jié)合方向是自右至左。

  例如:

  a>b?a:c>d?c:d應(yīng)理解為

  a>b?a:(c>d?c:d) 這也就是條件表達(dá)式嵌套的情形,即其中的表達(dá)式3又是一個(gè)條。

  件表達(dá)式。

  void main(){

  int a,b,max;

  printf("\n input two numbers: ");

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

  printf("max=%d",a>b?a:b);

  }

  用條件表達(dá)式對(duì)上例重新編程,輸出兩個(gè)數(shù)中的大數(shù)。

  編輯推薦:

  2012年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢短信提醒

  2013年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間預(yù)測(cè)

  2012年計(jì)算機(jī)等級(jí)考試二級(jí)VB重點(diǎn)知識(shí)匯總

文章責(zé)編:renyinan  
看了本文的網(wǎng)友還看了
沒(méi)有相關(guān)文章
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。