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

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

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

    條件運算符和條件表達式

    如果在條件語句中,只執行單個的賦值語句時, 常可使用條件表達式來實現。不但使程序簡潔,也提高了運行效率。
    條件運算符為?和:,它是一個三目運算符,即有三個參與運算的量。由條件運算符組成條件表達式的一般形式為:
    表達式1? 表達式2: 表達式3 
    其求值規則為:如果表達式1的值為真,則以表達式2 的值作為條件表達式的值,否則以表達式2的值作為整個條件表達式的值。 條件表達式通常用于賦值語句之中。
    例如條件語句: 
    if(a>b) max=a;
    else max=b;
    可用條件表達式寫為 max=(a>b)?a:b; 執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。
    使用條件表達式時,還應注意以下幾點:
    1. 條件運算符的運算優先級低于關系運算符和算術運算符,但高于賦值符。因此 max=(a>b)?a:b可以去掉括號而寫為 max=a>b?a:b
    2. 條件運算符?和:是一對運算符,不能分開單獨使用。
    3. 條件運算符的結合方向是自右至左。
    例如:
    a>b?a:C>d?C:d應理解為
    a>b?a:(C>d?C:d) 這也就是條件表達式嵌套的情形,即其中的表達式3又是一個條
    件表達式。
    void main(){
    int a,b,max;
    printf("\n input two numbers: ");
    sCanf("%d%d",&a,&b);
    printf("max=%d",a>b?a:b);
    }
    用條件表達式對上例重新編程,輸出兩個數中的大數。

    switCh語句

    C語言還提供了另一種用于多分支選擇的switCh語句, 其一般形式為: 
    switCh(表達式){ 
    Case常量表達式1: 語句1; 
    Case常量表達式2: 語句2; 
    … 
    Case常量表達式n: 語句n; 
    default : 語句n+1; 
    } 
    其語義是:計算表達式的值。 并逐個與其后的常量表達式值相比較,當表達式的值與某個常量表達式的值相等時, 即執行其后的語句,然后不再進行判斷,繼續執行后面所有Case后的語句。 如表達式的值與所有Case后的常量表達式均不相同時,則執行default后的語句。
    void main(){
    int a;
    printf("input integer number: ");
    sCanf("%d",&a);
    switCh (a){ 
    Case 1:printf("Monday\n");
    Case 2:printf("Tuesday\n");
    Case 3:printf("Wednesday\n");
    Case 4:printf("Thursday\n");
    Case 5:printf("Friday\n");
    Case 6:printf("Saturday\n");
    Case 7:printf("Sunday\n");
    default:printf("error\n");
    }
    }
    本程序是要求輸入一個數字,輸出一個英文單詞。但是當輸入3之后,卻執行了Case3以及以后的所有語句,輸出了Wednesday 及以后的所有單詞。這當然是不希望的。為什么會出現這種情況呢?這恰恰反應了switCh語句的一個特點。在switCh語句中,“Case 常量表達式”只相當于一個語句標號, 表達式的值和某標號相等則轉向該標號執行,但不能在執行完該標號的語句后自動跳出整個switCh 語句,所以出現了繼續執行所有后面Case語句的情況。 這是與前面介紹的if語句完全不同的,應特別注意。為了避免上述情況, C語言還提供了一種break語句,專用于跳出switCh語句,break 語句只有關鍵字break,沒有參數。在后面還將詳細介紹。修改例題的程序,在每一Case語句之后增加break 語句, 使每一次執行之后均可跳出switCh語句,從而避免輸出不應有的結果。
    void main(){
    int a;
    printf("input integer number: ");
    sCanf("%d",&a);
    switCh (a){
    Case 1:printf("Monday\n");break;
    Case 2:printf("Tuesday\n"); break;
    Case 3:printf("Wednesday\n");break;
    Case 4:printf("Thursday\n");break;
    Case 5:printf("Friday\n");break;
    Case 6:printf("Saturday\n");break;
    Case 7:printf("Sunday\n");break;
    default:printf("error\n");
    }
    }
    在使用switCh語句時還應注意以下幾點:
    1.在Case后的各常量表達式的值不能相同,否則會出現錯誤。
    2.在Case后,允許有多個語句,可以不用{}括起來。
    3.各Case和default子句的先后順序可以變動,而不會影響程序執行結果。
    4.default子句可以省略不用。程序舉例
    輸入三個整數,輸出最大數和最小數。
    void main(){
    int a,b,C,max,min;
    printf("input three numbers: ");
    sCanf("%d%d%d",&a,&b,&C);
    if(a>b)
    {max=a;min=b;}
    else
    {max=b;min=a;}
    if(max<C)
    max=C;
    else
    if(min>C)
    min=C;
    printf("max=%d\nmin=%d",max,min);
    }
    本程序中,首先比較輸入的a,b的大小,并把大數裝入max, 小數裝入min中,然后再與C比較,若max小于C,則把C賦予max;如果C小于min,則把C賦予min。因此max內總是最大數,而min內總是最小數。最后輸出max和min的值即可。 計算器程序。用戶輸入運算數和四則運算符, 輸出計算結果。
    void main(){
    float a,b,s;
    Char C;
    printf("input expression: a+(-,*,/)b \n");
    sCanf("%f%C%f",&a,&C,&b);
    switCh(C){
    Case ’+’: printf("%f\n",a+b);break;
    Case ’-’: printf("%f\n",a-b);break;
    Case ’*’: printf("%f\n",a*b);break;
    Case ’/’: printf("%f\n",a/b);break;
    default: printf("input error\n");
    }
    }

    本例可用于四則運算求值。switCh語句用于判斷運算符, 然后輸出運算值。當輸入運算符不是+,-,*,/時給出錯誤提示。

    循環結構程序

    循環結構是程序中一種很重要的結構。其特點是, 在給定條件成立時,反復執行某程序段,直到條件不成立為止。 給定的條件稱為循環條件,反復執行的程序段稱為循環體。 C語言提供了多種循環語句,可以組成各種不同形式的循環結構。

    while語句

    while語句的一般形式為: while(表達式)語句; 其中表達式是循環條件,語句為循環體。
    while語句的語義是:計算表達式的值,當值為真(非0)時, 執行循環體語句。其執行過程可用圖3—4表示。 統計從鍵盤輸入一行字符的個數。
    #inClude <stdio.h>
    void main(){
    int n=0;
    printf("input a string:\n");
    while(getChar()!=’\n’) n++;
    printf("%d",n);
    }
    本例程序中的循環條件為getChar()!=’\n’,其意義是, 只要從鍵盤輸入的字符不是回車就繼續循環。循環體n++完成對輸入字符個數計數。從而程序實現了對輸入一行字符的字符個數計數。
    使用while語句應注意以下幾點:
    1.while語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為真(非0)即可繼續循環。
    void main(){
    int a=0,n;
    printf("\n input n: ");
    sCanf("%d",&n);
    while (n--)
    printf("%d ",a++*2);
    }
    本例程序將執行n次循環,每執行一次,n值減1。循環體輸出表達式a++*2的值。該表達式等效于(a*2;a++)
    2.循環體如包括有一個以上的語句,則必須用{}括起來, 組成復合語句。
    3.應注意循環條件的選擇以避免死循環。
    void main(){
    int a,n=0;
    while(a=5)
    printf("%d ",n++);
    }
    本例中while語句的循環條件為賦值表達式a=5, 因此該表達式的值永遠為真,而循環體中又沒有其它中止循環的手段, 因此該循環將無休止地進行下去,形成死循環。4.允許while語句的循環體又是while語句,從而形成雙重循環。

上一頁  1 2 3 4 5 6 7 8 9 下一頁
文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
主站蜘蛛池模板: 日本人成18在线播放 | 插综合网 | 亚洲天堂网2014 | 亚洲欧美久久一区二区 | 一区二区在线视频免费观看 | 免费黄a| 日本三级三级三级免费看 | 噜噜噜噜噜噜色 | 亚洲综合网国产福利精品一区 | 在线观看国产剧情麻豆精品 | 521a成v视频网站在线入口 | 美女色站 | 欧美日韩不卡 | 国产精品一二三区 | 性xxxxx大片免费视频 | 成人a毛片免费视频观看 | 天天色天天干天天 | 国产小视频你懂的 | 黄色香蕉网站 | 欧美日韩亚洲成人 | 99在线国产视频 | 免费鲁丝片一级在线观看 | 成人在线网站 | 一区二区不卡不卡一卡 | 久久亚洲视频 | 日韩大片免费观看视频播放 | 一级毛片一 | 五月天精品视频播放在线观看 | h视频免费观看 | 国产在线综合一区二区三区 | 在线成人免费 | 免费黄色一级片 | 97视频在线观看免费 | 播播网手机在线播放 | 国产a精品| 亚洲日本在线看片 | 曰批免费视频播放在线看片二 | 国产黄大片在线观看视频 | 狠狠干夜夜骑 | 毛片三级在线观看 | 欧美3p在线观看一区二区三区 |