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

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

 

  邏輯運(yùn)算符和表達(dá)式

  邏輯運(yùn)算符C語言中提供了三種邏輯運(yùn)算符 && 與運(yùn)算 || 或運(yùn)算 ! 非運(yùn)算 與運(yùn)算符&&和或運(yùn)算符||均為雙目運(yùn)算符。具有左結(jié)合性。 非

  運(yùn)算符!為單目運(yùn)算符,具有右結(jié)合性。邏輯運(yùn)算符和其它運(yùn)算符優(yōu)先級的關(guān)系可表示如下:

  按照運(yùn)算符的優(yōu)先順序可以得出:

  a>b && c>d等價(jià)于(a>b) && (c>d)

  !b==c||d

  a+b>c && x+yc) && ((x+y)

  邏輯運(yùn)算的值

  邏輯運(yùn)算的值也為“真”和“假”兩種,用“1”和“0 ”來表示。其求值規(guī)則如下:

  1.與運(yùn)算參與運(yùn)算的兩個(gè)量都為真時(shí),結(jié)果才為真,否則為假。例如,5>0 && 4>2,由于5>0為真,4>2也為真,相與的結(jié)果也為真。

  2.或運(yùn)算參與運(yùn)算的兩個(gè)量只要有一個(gè)為真,結(jié)果就為真。 兩個(gè)量都為假時(shí),結(jié)果為假。例如:5>0||5>8,由于5>0為真,相或的結(jié)果也就為真。

  3.非運(yùn)算!參與運(yùn)算量為真時(shí),結(jié)果為假;參與運(yùn)算量為假時(shí),結(jié)果為真。

  例如:!(5>0)的結(jié)果為假。

  雖然C編譯在給出邏輯運(yùn)算值時(shí),以“1”代表“真”,“0 ”代表“假”。 但反過來在判斷一個(gè)量是為“真”還是為“假”時(shí),以“0”代表“假”,以非“0”的數(shù)值作為“真”。例如:由于5和3均為非“0”因此5&&3的值為“真”,即為1。

  又如:5||0的值為“真”,即為1。

  邏輯表達(dá)式邏輯表達(dá)式的一般形式為: 表達(dá)式 邏輯運(yùn)算符 表達(dá)式 其中的表達(dá)式可以又是邏輯表達(dá)式,從而組成了嵌套的情形。例如:(a&&b)&&c根據(jù)邏輯運(yùn)算符的左結(jié)合性,上式也可寫為: a&&b&&c 邏輯表達(dá)式的值是式中各種邏輯運(yùn)算的最后值,以“1”和“0”分別代表“真”和“假”。

  void main(){

  char c='k';

  int i=1,j=2,k=3;

  float x=3e+5,y=0.85;

  printf("%d,%d\n",!x*!y,!!!x);

  printf("%d,%d\n",x||i&&j-3,i

  printf("%d,%d\n",i==5&&c&&(j=8),x+y||i+j+k);

  }

  本例中!x和!y分別為0,!x*!y也為0,故其輸出值為0.由于x為非0,故!!!x的邏輯值為0.對x|| i && j-3式,先計(jì)算j-3的值為非0,再求i && j-3的邏輯值為1,故x||i&&j-3的邏輯值為 1。

  if語句

  用if語句可以構(gòu)成分支結(jié)構(gòu)。它根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段。C語言的if語句有三種基本形式。

  1.第一種形式為基本形式 if(表達(dá)式)語句;其語義是:如果表達(dá)式的值為真,則執(zhí)行其后的語句, 否則不執(zhí)行該語句。

  void main(){

  int a,b,max;

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

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

  max=a;

  if (max

  printf("max=%d",max);

  }

  輸入兩個(gè)整數(shù),輸出其中的大數(shù)。

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

  max=a;

  if (max

  printf("max=%d",max);

  本例程序中,輸入兩個(gè)數(shù)a,b。把a(bǔ)先賦予變量max,再用if語句判別max和b的大小,如max小于b,則把b賦予max.因此max中總是大數(shù),最后輸出max的值。

  2.第二種形式為if-else形式

  if(表達(dá)式)

  語句1;

  else

  語句2;

  其語義是:如果表達(dá)式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2 。

  void main(){

  int a, b;

  printf("input two numbers: ");

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

  if(a>b)

  printf("max=%d\n",a);

  else

  printf("max=%d\n",b);

  }

  輸入兩個(gè)整數(shù),輸出其中的大數(shù)。改用if-else語句判別a,b的大小,若a大,則輸出a,否則輸出b。

  3.第三種形式為if-else-if形式

  前二種形式的if語句一般都用于兩個(gè)分支的情況。 當(dāng)有多個(gè)分支選擇時(shí),可采用if-else-if語句,其一般形式為:

  if(表達(dá)式1)

  語句1;

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

  語句2;

  else if(表達(dá)式3)

  語句3;

  …

  else if(表達(dá)式m)

  語句m;

  else

  語句n;

  其語義是:依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為真時(shí), 則執(zhí)行其對應(yīng)的語句。然后跳到整個(gè)if語句之外繼續(xù)執(zhí)行程序。 如果所有的表達(dá)式均為假,則執(zhí)行語句n 。然后繼續(xù)執(zhí)行后續(xù)程序。 if-else-if語句的執(zhí)行過程如圖3-3所示。

  #include"stdio.h"

  void main(){

  char c;

  printf("input a character: ");

  c=getchar();

  if(c<32)

  printf("This is a control character\n");

  else if(c>='0'&&c<='9')

  printf("This is a digit\n");

  else if(c>='A'&&c<='Z')

  printf("This is a capital letter\n");

  else if(c>='a'&&c<='z')

  printf("This is a small letter\n");

  else

  printf("This is an other character\n");

  }

  本例要求判別鍵盤輸入字符的類別。可以根據(jù)輸入字符的ASCII碼來判別類型。由ASCII碼表可知ASCII值小于32的為控制字符。 在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母, 在“a”和“z”之間為小寫字母,其余則為其它字符。 這是一個(gè)多分支選擇的問題,用if-else-if語句編程,判斷輸入字符ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為“g”,輸出顯示它為小寫字符。

上一頁  1 2 3 4 5 6 下一頁

  編輯推薦:

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

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

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

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