c語(yǔ)言第五章選擇結(jié)構(gòu)程序設(shè)計(jì)(習(xí)題冊(cè)答案)_第1頁(yè)
c語(yǔ)言第五章選擇結(jié)構(gòu)程序設(shè)計(jì)(習(xí)題冊(cè)答案)_第2頁(yè)
c語(yǔ)言第五章選擇結(jié)構(gòu)程序設(shè)計(jì)(習(xí)題冊(cè)答案)_第3頁(yè)
c語(yǔ)言第五章選擇結(jié)構(gòu)程序設(shè)計(jì)(習(xí)題冊(cè)答案)_第4頁(yè)
c語(yǔ)言第五章選擇結(jié)構(gòu)程序設(shè)計(jì)(習(xí)題冊(cè)答案)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余2頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、知識(shí)是人類進(jìn)步的階梯第五章選擇結(jié)構(gòu)程序設(shè)計(jì)基礎(chǔ)練習(xí)(A)一、填空題1、關(guān)系表達(dá)式的運(yùn)算結(jié)果是邏輯 值。c語(yǔ)言沒有邏輯型數(shù)據(jù),以 人代表“真”,以 0 代表“假”。2、邏輯運(yùn)算符!是 單目 運(yùn)算符,其結(jié)合性是由右結(jié)合性 。3、C語(yǔ)言提供的三種邏輯運(yùn)算符是&&、|、! 。其中優(yōu)先級(jí)最高的為 !,優(yōu)先級(jí)最低的為| |。4、邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象不但可以是0和1 ,或者是0和非0的整數(shù),也可以是任何類型的數(shù)據(jù)。系統(tǒng)最終以0 和 非0來(lái)判定它們屬于“真”或“假”。5、設(shè)y為int型變量,請(qǐng)寫出描述“ y是偶數(shù)”的表達(dá)式(y%2=0)。6、設(shè)x,y, z均為int型變量,請(qǐng)寫出描述“x或

2、y中有一個(gè)小于z”的表達(dá)式 x<z|y<z7、條件 " 2<x<3 或 x<-10 ” 的 C 語(yǔ)言表達(dá)式是x<-10|x>2&&x<3 。8、判斷char型變量ch是否為大寫字母的正確表達(dá)式是(ch>= 'A' )&&(ch<= 'Z')9、當(dāng)a=3,b=2,c=1 時(shí),表達(dá)式f=a>b>c的值是 0。10、當(dāng)a=5,b=4,c=2 時(shí),表達(dá)式 a>b!=c的值是 1。11、已知 A=7.5,B=2,C=3.6 ,表達(dá)式 A>B&

3、;&C>A|A<B&&!C>B 的值是0。12、若 a=6,b=4,c=2 ,則表達(dá)式!(a-b)+c-1&&b+c/2 的值是 1。13、有 int x,y,z;且 x=3,y=-4,z=5 ,則表達(dá)式(x&&y)=(x|憶)的值為 1。14、有int x,y,z;且x=3,y=-4,z=5 ,則以下表達(dá)式的值為1。!(x>y)+(y!=z)|(x+y)&&(y-z)15、有int a=3,b=4,c=5,x,y;,則以下表達(dá)式的值為0。!(x=a)&&(y=b)&&

4、;016、if (!k) a=3;語(yǔ)句中的!k可以改寫為k= =0,使其功能不變。二、選擇題1、邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型( D )。A)只能是0或1B)只能是0或非0正數(shù)C)只能是整型或字符型數(shù)據(jù)D)可以是任何類型的數(shù)據(jù)2、以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是( C )。A)關(guān)系運(yùn)算符算術(shù)運(yùn)算符賦值運(yùn)算符 < 邏輯與運(yùn)算符B)邏輯與運(yùn)算符關(guān)系運(yùn)算符算術(shù)運(yùn)算符賦值運(yùn)算符C)賦值運(yùn)算符 <邏輯與運(yùn)算符關(guān)系運(yùn)算符算術(shù)運(yùn)算符D)算術(shù)運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符 < 邏輯與運(yùn)算符3、下列運(yùn)算符中優(yōu)先級(jí)最高的是( B )。A) < B) +C) && D)

5、!=4、為判斷字符變量 c的值不是數(shù)字也不是字母時(shí),應(yīng)采用下述表達(dá)式( D )。A) c<=48|c>=57&&c<=65|c>=90&&c<=97|c>=122B) !(c<=48|c>=57&&c<=65|c>=90&&c<=97|c>=122)C) c>=48&&c<=57|c>=65&&c<=90|c>=97&&c<=122D) !(c>=48&&

6、c<=57|c>=65&&c<=90|c>=97&&c<=122)5、能正確表示“當(dāng) x的取值在1, 100和200, 300范圍內(nèi)為真,否則為假”的表 達(dá)式是(C )。A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300)B) (x>=1)|(x<=100)|(x>=200)|(x<=300)C) (x>=1)&&(x<=100)|(x>=200)&&(x<

7、=300)D) (x>=1)|(x<=100)&&(x>=200)|(x<=300)6、設(shè)x、y和z是int型變量,且x=3,y=4,z=5 ,則下面表達(dá)式中值為0的是( D )。A) 'x' && 'y'B)x<=yC) x|y+z&&y-zD) !(x<y)&&!z|1)7、已知 x=43,ch= 'A' ,y=0;則表達(dá)式(x>=y&&ch< 'B' &&!y)的值是(C )。A)

8、0 B)語(yǔ)法錯(cuò) C) 1D) “假”8、設(shè)有:int a=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后 n 的值為( B )。A) 1 B) 2C) 3D) 49、以下不正確的if語(yǔ)句形式是( C )。A) if(x>y&&x!=y);B) if(x=y) x+=y;C) if(x!=y) scanf("%d ,&x) else scanf( "%d ,&y);d) if(x<y) x+; y+;10、已知int x=10,y=20,z=30;以下語(yǔ)句執(zhí)行后 x,

9、y, z的值是( B )。 if(x>y) z=x; x=y; y=z;A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=2011、以下if語(yǔ)句語(yǔ)法正確的是( B )。A) if(x>0)printf("%f" ,x)else printf("-%f",B) B) if(x>0) x=x+y; printf( "%f" ,x);else printf('-%f",C) C)if(x>0)x=x+y; printf

10、("%f"x);else printf('-%f",D) D)if(x>0) x=x+y; printf( " %f" ,x)else printf("-%f",12、請(qǐng)閱讀以下程序: main() int a=5,b=5,c=0;if(a=b+c) printf("n*);else printf("$ );以下程序(C )。A)有語(yǔ)法錯(cuò)不能通過(guò)編譯B)可以通過(guò)編譯但不能通過(guò)連接C)輸出*D)輸出$三、寫出下列程序的運(yùn)行結(jié)果1、若運(yùn)行時(shí)輸入:2回車,則以下程序的運(yùn)行結(jié)果是2nd class

11、postage is 14P#include <stdio.h> void main(void) char Class;printf( " Enter 1 for 1st class post or 2 for 2nd post");scanf( "%C ,&Class);if(Class= ' 1')prin tf( “1st class postage is 19p");else printf( “2nd class postage is 14P");2、若運(yùn)行時(shí)輸入:4.4回車,則以下程序的運(yùn)行結(jié)果是S

12、elling Price(0.30)$5.72#include <stdio.h>void main(void) float CostPrice,SellingPrice;printf( "Enter Cost Price $:");scan f( "%f” ,&CostPrice);if(CostPrice>=5)SellingPrice=CostPrice+CostPrice*0.25;printf( "Selling Price(0.25)$%6.2f",SellingPrice); else SellingPr

13、ice=CostPrice+CostPrice*0.30;printf( "Selling Price(0.30)$%6.2f",SellingPrice);3、以下程序的運(yùn)行結(jié)果是F 。main()if(2*2=5<2*2=4)print("T");elseprintf(“F”);能力提高(B)一、選擇題1、若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值為偶數(shù)時(shí),表達(dá)式的值為“假”則以下不能滿足要求的表達(dá)式是( D )。A) A%2=1 B) !(A%2=0)C) !(A%2) D) A%22、下列運(yùn)算符中優(yōu)先級(jí)最低的( A ),優(yōu)先級(jí)最高的

14、是( C )。A) ?:B) && C) +D) !=3、請(qǐng)閱讀以下程序:main() int a=5,b=0,c=0;if(a=b+c) printf(else printf( 以下程序(D )。 A)有語(yǔ)法錯(cuò)不能通過(guò)編譯 C)輸出*D)竹*);$);B)可以通過(guò)編譯但不能通過(guò)連接輸出$4、以下程序的運(yùn)行結(jié)果是( C )。main()int m=5;if(m+>5) printf( elseprint f( "%raTA) 4 B) 5C) 6二、根據(jù)程序的功能,將以下程序補(bǔ)充完整"%'d,m);m);D) 71、以下程序?qū)斎氲乃膫€(gè)整數(shù),按

15、從小到大的順序輸出。請(qǐng)?jiān)趦?nèi)填入正確內(nèi)容。main()int t,a,b,c,d;printf( "input a,b,c,d:")scanf( " d,%d,%d,%d &a,&b,&c,&d );if(a>b) t=a;a=b;b=t; if (a>c) t=a;a=c;c=t;if (a>d)t=a;a=d;d=t;if ( b>c) t=b;b=c;c=t;if (b>d) t=b;b=d;d=t;if (c>d)t=c;c=d;d=t;printf( "%d,%d,%d,%d ,

16、a,b,c,d);三、編程:1、試編程判斷輸入的正整數(shù)是否既是5又是7的整倍數(shù)。若是,則輸出yes;否則輸出no。2、編制程序要求輸入整數(shù) x、y和z,若x2+y,z2大于1000,則輸出x2+y2+z2千位以上的數(shù) 字,否則輸出三數(shù)之和。3、編寫程序,輸入三角型的三條邊長(zhǎng),求其面積。注意:對(duì)于不合理的邊長(zhǎng)輸入要輸出數(shù) 據(jù)錯(cuò)誤的提示信息。1、參考答案main() int x;if (x%5=0 && x%7=0)printf(“yes” );elseprintf("no");2、參考答案main() int x,y,z,a,b;scanf( "%d

17、 %d %d ,&x,&y,&z);a=x*x+y*y*z*z;if (a>1000)b=a/1000;printf("%d ;else pri ntf("%d ,x+y+z);3、參考答案#include <math.h>main() float a,b,c,s,area;scanf( "f,%f,%f ”,&a,&b,&c);if (a+b>c && b+c>a && a+c>b) s=1.0/2*(a+b+c);area=sqrt(s*(s-a

18、)*(s-b)*(s-c);printf( "area=%7.2f ,area);elseprintf( "bu nenghucheng san jiao xin");基礎(chǔ)練習(xí)(A)一、填空題1、在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句稱為if語(yǔ)句的嵌套 。2、為了避免在嵌套的條件語(yǔ)句 if-else中產(chǎn)生二義性,C語(yǔ)言規(guī)定:else子句總是與其之前 最近的未配對(duì)的if 配對(duì)。如果if與else數(shù)目不一樣,為實(shí)現(xiàn)設(shè)計(jì)者的企圖, 可以加 花 括號(hào)關(guān)系。3、條件運(yùn)算符是 C語(yǔ)言中唯一的一個(gè) 三目運(yùn)算符,其結(jié)合性為從右至左。4、假設(shè)條件表達(dá)式的格式為:表達(dá)式 1 ?表達(dá)式2

19、 :表達(dá)式若表達(dá)式2和表達(dá)式3的類型不同,此時(shí)條件表達(dá)式的值的類型為二者中較高 的類型5、在switch語(yǔ)句中,switch后面括弧內(nèi)的“表達(dá)式",可以為 任何 類型。6、若a=1,b=2 ,則表達(dá)式 a>b?a:b+1 的值是 3。7、若 w=l、x=2、y=3、z = 4,則條件表達(dá)式 w<x?w:y<z?y:z 的值是 1。8、若有以下if語(yǔ)句:if (a<b) min=a;else min=b;可用條件運(yùn)算符來(lái)處理的等價(jià)式子為min=(a<b)?a:b ;。9、若 x=1,y=2,z=3 ,則表達(dá)式(x<y?x:y)=z+ 的值是 0。10

20、、設(shè)有變量定義:int a=5,c=4;則(-a=+c)?-a:c+ 的值是 5,此時(shí)c的存儲(chǔ)單元的值為 6。二、判斷題1、在switch語(yǔ)句中,每一個(gè)的 case常量表達(dá)式的值可以相同。( 錯(cuò) )2、在switch語(yǔ)句中,各個(gè)case和default的出現(xiàn)次序影響執(zhí)行結(jié)果。( 對(duì))3、在switch語(yǔ)句中,多個(gè)case可以共用一組執(zhí)行語(yǔ)句。( 對(duì) )4、條件表達(dá)式能取代一般if的語(yǔ)句。( 錯(cuò))5、case后的常量表達(dá)式類型一定與表達(dá)式類型匹配。( 對(duì) )三、寫出以下程序的運(yùn)行結(jié)果1、 main()-1int a=2,b=3,c;c=a;if(a>b) c=1;else if(a=b)

21、c=0;else c=-1;printf( "%d ,c); 2、 main()200int a,b,c;int s,w,t;s=w=t=0;a=-1; b=3; c=3;if(c>0) s=a+b;if(a<=0) if(b>0) if(c<=0) w=a-b;else if(c>0) w=a-b;else t=c;printf("%d %d %d ,s,w,t);3、 switch(grade) case'A' : printf( “86” );case' B':printf( “n0 );case'

22、C:printf( “n0 );case' D':printf(n"”<60default: printf("e 什京!若grade的值為C'則輸出結(jié)果是 60-6960error!能力提高(B)一、寫出下列程序的運(yùn)行結(jié)果1、 #include <stdio.h>551void main(void) int x,y=1,z;if(y!=0) x=5;printf( " n" ,x);if(y=0) x=4;else x=5;printf( " n" ,x);x=1;if(y<0)if(y>0) x=4;else x=5;printf( " n" ,x); 2、 #include <stdio.h>4-2404-2void main(void) int x,y=-2,z;if(z=y)<0) x=4;else if(y=0) x=5;else x=6;printf( "n" ,x,z);i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論