黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平
駕駛員 | 網絡編輯
衛生資格 | 執業醫師 | 執業藥師 | 執業護士
會計從業資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師
質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師
城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > C語言 > 復習資料 > 正文

二級C輔導教程及考點分析:第三章 程序設計初步

    邏輯運算符和表達式

    邏輯運算符C語言中提供了三種邏輯運算符 && 與運算 || 或運算 ! 非運算 與運算符&&和或運算符||均為雙目運算符。具有左結合性。 非
    運算符!為單目運算符,具有右結合性。邏輯運算符和其它運算符優先級的關系可表示如下: 
    按照運算符的優先順序可以得出:
    a>b && C>d等價于(a>b) && (C>d)
    !b==C||d<a等價于((!b)==C)||(d<a)
    a+b>C && x+y<b等價于((a+b)>C) && ((x+y)<b)
    邏輯運算的值
    邏輯運算的值也為“真”和“假”兩種,用“1”和“0 ”來表示。其求值規則如下:
    1.與運算&&參與運算的兩個量都為真時,結果才為真,否則為假。例如,5>0 && 4>2,由于5>0為真,4>2也為真,相與的結果也為真。
    2.或運算||參與運算的兩個量只要有一個為真,結果就為真。 兩個量都為假時,結果為假。例如:5>0||5>8,由于5>0為真,相或的結果也就為真
    3.非運算!參與運算量為真時,結果為假;參與運算量為假時,結果為真。
    例如:!(5>0)的結果為假。
    雖然C編譯在給出邏輯運算值時,以“1”代表“真”,“0 ”代表“假”。 但反過來在判斷一個量是為“真”還是為“假”時,以“0”代表“假”,以非“0”的數值作為“真”。例如:由于5和3均為非“0”因此5&&3的值為“真”,即為1。
    又如:5||0的值為“真”,即為1。
    邏輯表達式邏輯表達式的一般形式為: 表達式 邏輯運算符 表達式 其中的表達式可以又是邏輯表達式,從而組成了嵌套的情形。例如:(a&&b)&&C根據邏輯運算符的左結合性,上式也可寫為: a&&b&&C 邏輯表達式的值是式中各種邏輯運算的最后值,以“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<j&&x<y);
    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-3的值為非0,再求i && j-3的邏輯值為1,故x||i&&j-3的邏輯值為 1。對i<j&&x<y式,由于i<j的值為1,而x<y為0故表達式的值為1,0相與,最后為0,對i==5&&C&&(j=8)式,由于i==5為假,即值為0, 該表達式由兩個與運算組成,所以整個表達式的值為0。對于式x+ y||i+j+k 由于x+y的值為非0,故整個或表達式的值為1。
    if語句

    用if語句可以構成分支結構。它根據給定的條件進行判斷, 以決定執行某個分支程序段。C語言的if語句有三種基本形式。
    1.第一種形式為基本形式 if(表達式) 語句; 其語義是:如果表達式的值為真,則執行其后的語句, 否則不執行該語句。其過程可表示為下圖
    void main(){
    int a,b,max;
    printf("\n input two numbers: ");
    sCanf("%d%d",&a,&b);
    max=a;
    if (max<b) max=b;
    printf("max=%d",max);
    }
    輸入兩個整數,輸出其中的大數。 
    sCanf("%d%d",&a,&b);
    max=a;
    if (max<b) max=b;
    printf("max=%d",max);
    本例程序中,輸入兩個數a,b。把a先賦予變量max,再用if語句判別max和b的大小,如max小于b,則把b賦予max。因此max中總是大數,最后輸出max的值。
    2.第二種形式為if-else形式 
    if(表達式) 
    語句1; 
    else 
    語句2;
    其語義是:如果表達式的值為真,則執行語句1,否則執行語句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);
    }
    輸入兩個整數,輸出其中的大數。改用if-else語句判別a,b的大小,若a大,則輸出a,否則輸出b。
    3.第三種形式為if-else-if形式
    前二種形式的if語句一般都用于兩個分支的情況。 當有多個分支選擇時,可采用if-else-if語句,其一般形式為: 
    if(表達式1) 
    語句1; 
    else if(表達式2) 
    語句2; 
    else if(表達式3) 
    語句3; 
    … 
    else if(表達式m) 
    語句m; 
    else 
    語句n; 
    其語義是:依次判斷表達式的值,當出現某個值為真時, 則執行其對應的語句。然后跳到整個if語句之外繼續執行程序。 如果所有的表達式均為假,則執行語句n 。 然后繼續執行后續程序。 if-else-if語句的執行過程如圖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");
    }
    本例要求判別鍵盤輸入字符的類別。可以根據輸入字符的ASCII碼來判別類型。由ASCII碼表可知ASCII值小于32的為控制字符。 在“0”和“9”之間的為數字,在“A”和“Z”之間為大寫字母, 在“a”和“z”之間為小寫字母,其余則為其它字符。 這是一個多分支選擇的問題,用if-else-if語句編程,判斷輸入字符ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為“g”,輸出顯示它為小寫字符。

    4.在使用if語句中還應注意以下問題

    (1) 在三種形式的if語句中,在if關鍵字之后均為表達式。 該表達式通常是邏輯表達式或關系表達式, 但也可以是其它表達式,如賦值表達式等,甚至也可以是一個變量。例如: if(a=5) 語句;if(b) 語句; 都是允許的。只要表達式的值為非0,即為“真”。如在if(a=5)…;中表達式的值永遠為非0,所以其后的語句總是要執行的,當然這種情況在程序中不一定會出現,但在語法上是合法的。
    又如,有程序段: if(a=b)
    printf("%d",a);
    else
    printf("a=0"); 本語句的語義是,把b值賦予a,如為非0則輸出該值,否則輸出“a=0”字符串。這種用法在程序中是經常出現的。

    (2) 在if語句中,條件判斷表達式必須用括號括起來, 在語句之后必須加分號。

    (3) 在if語句的三種形式中,所有的語句應為單個語句,如果要想在滿足條件時執行一組(多個)語句,則必須把這一組語句用{} 括起來組成一個復合語句。但要注意的是在}之后不能再加分號。
    例如:
    if(a>b){
    a++;
    b++;
    }
    else{
    a=0;
    b=10;
    }

    if語句的嵌套

    當if語句中的執行語句又是if語句時,則構成了if 語句嵌套的情形。其一般形式可表示如下: 
    if(表達式) 
    if語句; 
    或者為
    if(表達式) 
    if語句; 
    else 
    if語句; 
    在嵌套內的if語句可能又是if-else型的,這將會出現多個if和多個else重疊的情況,這時要特別注意if和else的配對問題。例如:
    if(表達式1)
    if(表達式2)
    語句1;
    else
    語句2;
    其中的else究竟是與哪一個if配對呢?
    應該理解為:   還是應理解為: 
    if(表達式1)    if(表達式1)
     if(表達式2)     if(表達式2)
      語句1;       語句1;
    else         else
      語句2;       語句2; 
    為了避免這種二義性,C語言規定,else 總是與它前面最近的if配對,因此對上述例子應按前一種情況理解。
    比較兩個數的大小關系。
    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<B\n");
    else printf("A=B\n");
    }
    本例中用了if語句的嵌套結構。 采用嵌套結構實質上是為了進行多分支選擇,例3.16實際上有三種選擇即A>B、A<B或A=B。這種問題用if-else-if語句也可以完成。而且程序更加清晰。因此, 在一般情況下較少使用if語句的嵌套結構。 以使程序更便于閱讀理解。 
    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<B\n");
    }

上一頁  1 2 3 4 5 6 7 8 9 下一頁
文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
主站蜘蛛池模板: 日韩成人精品 | 天天看天天干 | 一级特黄爽大片刺激 | 天堂成人 | 色片免费在线观看 | 午夜不卡视频 | 日本宅男午夜免费永久网站 | 国产亚洲精品国产福利在线观看 | 中文字幕影院 | 一级片视频免费 | 草比片| 午夜大片免费男女爽爽影院久久 | 久久亚洲不卡一区二区 | 成人精品视频一区二区在线 | 动漫成年美女黄漫网站国产 | 色淫影视| 国产精品va在线观看手机版 | 国内精品综合九九久久精品 | 草草线禁成18年在线视频 | 日韩欧美在线观看 | sss欧美 | 国产成人免费高清视频网址 | 成人五月网| 人人干狠狠干 | 日本欧美在线播放 | 波多野结衣国产一区二区三区 | 色黄网站在线观看 | 午夜爽 | 亚洲综合伦理一区 | 久久国产精品成人免费 | 黄色免费网站在线观看 | 国产在线观看一区二区三区 | a级特黄一级毛片七仙女思春 | 在线免费观看a级片 | 欧美一级做一级做片性十三 | 在线精品国内外视频 | 手机在线看片国产 | 在厨房被强行侵犯中文字幕 | 日本一区二区三区高清福利视频 | 波多野结衣在线播放视频 | 91av短视频|