計算機二級考試C語言題_第1頁
計算機二級考試C語言題_第2頁
計算機二級考試C語言題_第3頁
計算機二級考試C語言題_第4頁
計算機二級考試C語言題_第5頁
已閱讀5頁,還剩87頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章C語言基礎(chǔ)知識

一、選擇題:

I.下列關(guān)于C語言用戶標(biāo)識符的敘述中正確的是()

A)用戶標(biāo)識符中可以出現(xiàn)下劃線和中劃線(減號)

B)用戶標(biāo)識符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線

C)用戶標(biāo)識符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識符的開頭

D)用戶標(biāo)識符中可以出現(xiàn)下劃線和數(shù)字,它們都可以放在用戶標(biāo)識符的開頭

2.①下列選項中,不能用作標(biāo)識符的是()

A)_1234_B)_1_2C)int_2_D)2_int_

②以下選項中合法的用戶標(biāo)識符是()

A)longB)_2TestC)3DmaxD)A.dat

③以下不能定義為用戶標(biāo)識符的是()

A)scanfB)VoidC)_3com_D)int

3.可用作C語言用戶標(biāo)識符的一組標(biāo)識符()

A)voiddefineWORDB)a3_b3_123IFC)For-abcCase

D)2aDOsigeofE)f2_G3IFabc

4.以下4組用戶定義標(biāo)識符中,全部合法的一組是()

A)_mainB)IfC)txtD)int

enclude-maxREALk_2

sinturbo3C0M_001

5.以下敘述正確的是()

A)可以把define和if定義為用戶標(biāo)識符

B)可以把define定義為用戶標(biāo)識符,但不能把if定義為用戶標(biāo)識符

O可以把if定義為用戶標(biāo)識符,但不能把加fine定義為用戶標(biāo)識符

D)define和if都不能定義為用戶標(biāo)識符

6.如果下面的變量都是int類型,則輸出結(jié)果是()

main(){intsum=pad=5;pAd=sum++,pAd++,++pAd;printf("%d\n",pad);}

A)7B)6C)5D)4

7.C語言中最簡單的數(shù)據(jù)類型包括()

A)整型、實型、邏輯型B)整型、實型、字符型

C)整型、字符型、邏輯型D)整型、實型、邏輯型、字符型

8.以下選項中屬于C語言的數(shù)據(jù)類型的是()

A)復(fù)數(shù)型B)邏輯型C)雙精度型D)集合型

9.下列敘述中正確的是()

A)C語言中既有邏輯類型也有集合類型B)C語言中沒有邏輯類型但有集合類型

C)C語言中有邏輯類型但沒有集合類型D)C語言中既沒有邏輯類型也沒有集合類型

10.C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是()()()

①A)DoubleB)shortC)integerD)Char

②A)swicthB)cherC)CaseD)default

③A)VARB)cherC)integerD)default

11.以下選項中不屬于C語言類型的是()

A)signedshortintB)unsignedlongintC)unsignedintD)longshort

12.若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+d-c值的類型為()

A)floatB)intC)charD)double

13.sizeof(double)是()

A)一種函數(shù)調(diào)用B)一個雙精度型表達(dá)式C)一個整型表達(dá)式D)一個不合法的表達(dá)式

14.

①在C語言中,不合法的整型常數(shù)是()

A)32768B)0C)037D)OxAF

②以下選項中可作為C語言合法整數(shù)的是()

A)10110BB)0386C)OXffaD)x2a2

15.在C語言中,合法的長整型常數(shù)是()

A)0LB)4962710C)0.054838743D)2.1869el0E)324562&F)216D

16.在C語言中,合法的實型常數(shù)是()()

①A)5E2.0B)E-3C).2E0D)1.3E

@A)1.2E0.5B)3.14159EC).5E-3D)E15

17.16位C編譯系統(tǒng)中,若定義longa;能給a賦40000的正確語句()

A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L;

18.下列變量定義中合法的是()

A)short_a=l-.le-1;B)doubleb=l+5e2.5;

C)longdo=0xfdal;D)float2_and=l-e-3;

19.C語言中,運算對象必須是整型數(shù)的運算符是()()()

①A)%B)/C)<D)!

②A)%B)\C)%和\D)**

③A)%=B)/C)=D)<=

20.設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達(dá)式(int)a+b/b

的值是()

A)6.500000B)6C)5.500000D)6.000000

21.下列關(guān)于單目運算符++、一的敘述中正確的是()

A)它們的運算對象可以是任何變量和常量

B)它們的運算對象可以是char型變量和int型變量,但不能是float型變量

C)它們的運算對象可以是int型變量,但不能是double型變量和float型變量

D)它們的運算對象可以是char型變量、int型變量和float型變量

22.以下程序的輸出結(jié)果是()()()()()

①main(){inti=10,j=l;printf("%d,%d\n",i—,++j);}

②main(){intx=10,y=10;printf("%d%d\n”,x—>―y);}

③main(){inta=12,b=12;printf(<<%d%d\nw,—a,++b);}

④main(){inti=010,j=10;printf("%d,%d\n",++i,j-);}

⑤main(){intx=023;printf("%d\n",-x);}

①A)9,2B)10,2C)9,1D)10,1

②A)1010B)99C)910D)109

③A)1010B)1212C)1110D)1113

④A)11,10B)9,10C)010,9D)10,9

⑤A)17B)18C)23D)24

23.設(shè)有intx=ll;則表達(dá)式(x++*l/3)的值是()

A)3B)4C)11D)12

24.設(shè)有以下定義,則下面語句中錯誤的是()

inta=0;doubleb=l.25;charc='A';

ftdefined2

A)a++;B)b++;C)c++;D)d++;

25.有以下程序,程序運行后的輸出結(jié)果是()

main()

{intm=3,n=4,x;

x=-m++;x=x+8/++n;printf("%d\n",x);}

A)3B)5C)-1D)-2

26.以下選項中,與k=n++完全等價的表達(dá)式是()

A)k=n,n=n+lB)n=n+l,k=nC)k=++nD)k+=n+l

27.以下程序的輸出結(jié)果是()

main(){intx=10,y=3;printf("%d\n",y=x/y);)

A)0B)1C)3D)不確定的值

28.若有以下程序段,執(zhí)行后c3中的值是()

intcl=l,c2=2,c3;c3=l.0/c2*cl;

A)0B)0.5C)1D)2

29.若有定義:inta=8,b=5,c;執(zhí)行語句c=a/b+0.4;后,c的值為()

A)1.4B)1C)2.0D)2

30.若已定義x和y為double類型,則表達(dá)式x=l,y=x+3/2的值是(),則表達(dá)式x=2,y=x+3/2

的值是()

A)1B)2C)2.0D)2.5E)3.5F)3G)3.0

31.以下程序的輸出結(jié)果是()

main()

{doubled=3.2;intx,y;

x=l.2;y=(x+3.8)/5.0;printf("%d\n”,d*y);}

A)3B)3.2C)0D)3.07

32.

①設(shè)有語句:inta=3;則執(zhí)行了語句a+=a-=a*a;后,變量a的值是()

②設(shè)有語句:inta=12;則執(zhí)行了語句a+=a-=a*a;后,變量a的值是()

③設(shè)有語句:intx=10;則執(zhí)行了語句x+=x-=x-x;后,變量x的值是()

④設(shè)有語句:inta=5;則執(zhí)行了語句a*=a/=a++;后,變量a的值是()

①A)3B)0C)9D)-12

②A)552B)264C)144D)-264

③A)10B)20C)40D)30

④A)2B)1C)40D)3

33.以下程序的輸出結(jié)果是()

main()

{intk=2,i=2,m;

m=(k+=i*=k);printf(“%d,%d\n,,,m,i);

A)8,6B)8,3C)6,4D)7.4

34.假定有以下變量定義:intk=7,x=12;則能使值為3的表達(dá)式是()

A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)

35.設(shè)x和y均為int型,則以下語句:x+=y;y=x-y;x-=y;的功能()

A)把x和y按從大到小排列B)把x和y按從小到大排列

C)無確定結(jié)果D)交換x和y中的值

36.設(shè)有如下程序段,則以下敘述中正確的是()

main(){intx=2002,y=2003;printf(<<%d\nw,(x,y));}

A)輸出語句中格式說明符的個數(shù)少于輸出項的個數(shù),不能正確輸出

B)運行時產(chǎn)生出錯信息

C)輸出值為2002

D)輸出值為2003

37.設(shè)x,y,z和k都是int型變量,則執(zhí)行表達(dá)式:x=(y=4,z=16,k=32)后,x的值為()

A)4B)16C)32D)52

38.執(zhí)行下面程序中的輸出語句后,a的值是()

main(){inta;printf(<<%d\nw,(a=3*5,a*4,a+5));}

A)65B)20C)15D)10

39.給出以下程序i和n,判斷它們的輸出()

Imain()IImain()

{inta=4,b=7;{inta=l,b=2;

printf("%d\n",(a=a+l,b+a,b+D);}printf("%d\n",a=a+l,a+b,b+1);}

A)I輸出5B)I輸出5

II輸出2II中printf函數(shù)調(diào)用語句的輸出項包含了a=a+l形式,不合法

C)I輸出8D)I中printf函數(shù)調(diào)用語句的格式描述符不夠,輸出無定值

II輸出2II輸出2

40.若有以下程序段,其輸出結(jié)果是()

inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c);

A)3,0,-10B)0,0,5C)-10,3,-10D)3,0,3

41.

⑴設(shè)有如下的變量定義,則以下符合C語言語法的表達(dá)式是()

inti=8,k,a,b;unsignedlongw=5;doublex=l.42,y=5.2;

A)x%(-3)B)a=a*3=2C)y=float(i)D)a+=a-=(b=4)*(a=3)

⑵以下定義語句,若各變量已正確賦值,下列選項中正確的表達(dá)式()

doublea,b;intw;longc;

A)a=a+b=b++B)w%((int)a+b)C)(c+w)%(int)aD)w=a==b;

⑶若變量已正確定義并賦值,下面符合C語言語法的表達(dá)式是()

A)a:=b+lB)a=b=c+2C)int18.5%3D)a=a+7=c+bE)a=7+b+c,a++

F)a=a+7;

⑷以下選項中非法的表達(dá)式是()

A)0<=x<100B)i=j==0C)(char)(65+3)D)x+l=x+l

⑸①若變量a、i已正確定義,且i已正確賦值,則合法的語句是()

A)a==lB)++i;C)a=a++=5;D)a=int(i);

②若以下選項中的變量已正確定義,則正確的賦值語句是()

A)xl=26.8%3;B)l+2=x2;C)x3=0xl2;D)x4=l+2=3;

⑹請選出合法的C語言賦值語句()()()

①A)a=b=58B)i++;C)a=58,b=58D)k=int(a+b);E)x+y;

②A)x=3,y=5B)a=b=6C)i一;D)y=int(x);

③A)a=7+b+c=a+7;B)a=7+b++=a+7;C)a=7+b,c=a+7;D)a=7+b,b++,a+7

⑺下列選項中不正確的賦值語句是()()

①A)++t;B)k=i==j;C)a=b+c=l;D)nl=(n2=(n3=0));

②A)j++;B)++(i+l);C)x=j>0;D)n=(i=2,++i);

42.

⑴設(shè)變量x為float型且已賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)點后兩位,并將第三

位四舍五入的是()

A)x=x*100+0.5/100.0;B)x=(x*100+0.5)/100.0;

C)x=(int)(x*100+0.5)/100.0;D)x=(x/100+0.5)*100.0;

E)x=(x*100+0.5)/100.0,x=(int)(x*100)/100.0;

⑵若變量a已說明為float類型,i為int類型,則不能實現(xiàn)將a中的數(shù)值保留小數(shù)點后兩位,

第三位進(jìn)行四舍五入運算的語句是()

A)a=(a*100+0.5)/100.0,a=(int)(a*100)/100.0;B)i=a*100+0.5,a=i/100.0;

C)a=(int)(a*100+0.5)/100.0;D)a=(a/100+0.5)*100.0;

43.C語言程序的基本單位是()

A)程序行B)語句C)函數(shù)D)字符

44.在一個C程序中()

A)main函數(shù)必須出現(xiàn)在所有函數(shù)之前B)main函數(shù)可以在任何地方出現(xiàn)

C)main函數(shù)必須出現(xiàn)在所有函數(shù)之后D)main函數(shù)必須出現(xiàn)在固定位置

45.以下說法中正確的是()

A)C語言程序總是從第一個函數(shù)開始執(zhí)行

B)在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義

C)C語言程序總是從main()函數(shù)開始執(zhí)行

D)C語言程序中的main()函數(shù)必須放在程序的開始部分

46.假設(shè)在程序中a、b、c均被定義成整型,并且已賦大于1的值,則下列能正確表示代數(shù)式

的表達(dá)式是()

A)l/a*b*cB)1/(a*b*c)C)1.O/a/b/cD)1/a/b(float)c

47.一個算法應(yīng)該具有“確定性”等5個特性,下面對另外4個特性的

描述中錯誤的是()

A)有零個或多個輸入B)有窮性C)有零個或多個輸出D)可行性

48.C語言中用于結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)是()

A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B)if、switch、break

C)for、while、do-whileD)if、for、continue

49.結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法()

A)可以完成任何復(fù)雜的任務(wù)B)只能完成部分復(fù)雜的任務(wù)

C)只能完成符合結(jié)構(gòu)化的任務(wù)D)只能完成一些簡單的任務(wù)

50.以下敘述中正確的是()

A)C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方

B)花括號“{”和“}”只能作為函數(shù)體的定界符

B)構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D)分號是C語句之間的分隔符,不是語句的一部分

51.

⑴語句inti=3;則k=(i++)+(i++)+(i++);執(zhí)行過后k的值為()i的值為()

A)9,6B)12,5C)18,6D)15,5

⑵如果inti=3;則k=(i++)+(++i)+(i++);執(zhí)行過后k的值為()i的值為()

A)12,6B)12,5C)18,6D)15,5

⑶如果inti=3;則k=(++i)+(++i)+(i++);執(zhí)行過后k的值為()i的值為()

A)15,6B)12,5C)18,6D)15,5

⑷如果inti=3;則k=(++i)+(++i)+(++i);執(zhí)行過后k的值為()i的值為()

A)9,6B)12,5C)18,6D)15,5

二、填空題:

1.C語言源程序文件的后綴是經(jīng)過編譯后,生成文件的后綴是經(jīng)過連接后,生成文件

的后綴是o

2.結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

3.設(shè)有以下變量定義,并已賦確定的值charw;intx;floaty;doublez;則表達(dá)式w*x+z-y

所求得值的數(shù)據(jù)類型為o

4.設(shè)x和y均為int型變量,且x=l,y=2,則以下表達(dá)式1.0+x/y的值為—。

5.有語句inti=-19,j=i%4;printf("%d\n",j);則輸出結(jié)果是_.

6.設(shè)a,b,c為整型,且a=2,b=3,c=4,則執(zhí)行完以下語句:a*=16+(b++)-(++c);后,a的值是

7.若有定義:inta=10,b=9,c=8;接著順序執(zhí)行下列語句后,變量b中的值是一。

c=(a-=(b-5));c=(a%ll)+(b=3);

8.已有定義:intk=3,j=4;則運行表達(dá)式:k+=j,j/=4.0,++j,j+2后,表達(dá)式的值是變量k

的值是變量j的值是

9.以下程序的輸出結(jié)果是o

main(){inta=l,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n”,a,b);}

10.以下程序的輸出結(jié)果是—O

main(){inta=0;a+=(a=8);printf("%d\n",a);}

11.語句:x++;++x;x=x+l;x=l+x;執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦

值語句(不得與列舉的相同)。

12.下列程序的輸出結(jié)果是16.00,請?zhí)羁铡?/p>

main()

{inta=9,b=2;floatx=,y=l.1,z;

z=a/2+b*x/y+1/2;printf(^%5.2f\nw,z);}

第二章順序結(jié)構(gòu)

一、選擇題:

1.以下4個選項中,不能看作一條語句的是()

A){;}B)a=0,b=0,c=0;C)if(a>0);D)if(b==0)m=l;n=2;

2.有定義:longx=-123456L;則以下能夠正確輸出變量x值的語句()

A)printf("x=%d\n",x);B)printf("x=%ld\n",x);

C)printf("x=%8dL\n”,x);D)printf("x=%LD\n",x);

3.以下程序的輸出結(jié)果是()()()()

①main(){inta=1234;printf("%2d\n",a);}

②main(){intx=102,y=012;printf(“%2d,%2d\n",x,y);}

③main(){inta=2,c=5;printf(wa=%%d,b=%%d\nw,a,c);}

①A)12B)34C)1234D)提示出錯,無結(jié)果

②A)10,01B)02,12C)102,10D)02,10

③A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d

4.以下程序的輸出結(jié)果是()()()()()()

①main(){intk=ll;printf(wk=%d,k=%o,k=%x\nw,k,k,k);}

A)k=ll,k=12,k=llB)k=ll,k=13,k=13

C)k=ll,k=013,k=0xbD)k=ll,k=13,k=b

②main(){intk=17;printf(a%d,%o,%x\nw,k,k,k);}

A)17,021,0x11B)17,17,17C)17,0x11,021D)17,21,11

③main(){intu=010,v=0xl0,w=10;printf(a%d,%d,%d\n,>,u,v,w);}

A)8,16,10B)10,10,10C)8,8,10D)8,10,10

④main(){intm=0256,n=256;printf(a%o%o\nw,m,n);}

A)02560400B)0256256C)256400D)400400

⑤main(){intm=32767,n=032767;printf("%d%o\n”,m,n);}

A)32767,32767B)32767,032767C)32767,77777D)32767,077777

(§)main(){intm=0xabc,n=0xabc;m-=n;printf("%X\n",m);}

A)0X0B)0x0C)0D)OXABC

5.以下程序的輸出結(jié)果是()(小數(shù)點后只寫一位)

main()

{doubled;floatf;long1;inti;

i=f=l=d=20/3;printf(“%d%ld%f%f\n”,i,1,f,d);}

A)666.06.0B)666.76.7C)666.06.7D)666.76.0

6.以下程序的輸出結(jié)果是()

main()

{inta;charc=10;floatf=100.0;doublex;

a=f/=c*=(x=6.5);printf("%d%d%3.If%3.lf\n",a,c,f,x);}

A)16516.5B)1651.56.5C)1651.06.5D)2651.56.5

7.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車),使i的值為1,j的值為2,k的值為

3.以下選項中正確的輸入語句是()

A)scanf(“%2d%2d%2d”,&i,&j,&k);B)scanf(a%d%d%d”,&i,&j,&k);

C)scanf("%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d",&i,&j,&k);

8.x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是()

A)scanf(“%d%d%d”,&x,&y,&z);B)scanf(“%d%d%d”,x,y,z);C)INPUTx,y,z;

D)read(“%d%d%d”,&x,&y,&z);E)scanf("%D,%D,%D”,&x,&y,&z);

9.若變量已正確說明為float型,通過語句scanf(,&a,&b,&c);給a賦予10.0,b

賦予22.0,c賦予33.0,不正確的輸入形式是()

A)10〈回車〉B)10.0,22.0,33.0(回車〉C)10.0〈回車〉D)1022〈回車〉

22〈回車〉22.033.0〈回車〉33〈回車〉

33〈回車〉

10.有定義語句:intx,y;若要通過scanf("%d,%d",&x,&y);語句使變量x得到數(shù)值11,變

量y得到數(shù)值12,下面四組輸入形式中,錯誤的是()

A)1112〈回車》B)11,12〈回車》C)11,12〈回車〉D)11,〈回車》

12〈回車〉

11.設(shè)i是int型變量,f是float型變量,用下面的語句給這兩個變量輸入

值:scanf("i=%d,f=%f”,&i,&f);為了把100和765.12分別賦給i和f,則正確的輸入()

A)100765.12〈回車〉B)i=100,f=765.12〈回車》

C)100〈回車>765.12〈回車>D)i=100〈回車>f=765.12〈回車〉

12.若運行時從鍵盤上輸入9876543210<CR>(<CR>表示回車),則該程序的輸出結(jié)果是()

main()

{inta;floatb,c;

scanf("%2d%3f%4f”,&a,&b,&c);printf("\na=%d,b=%f,c或f\n”,a,b,c);}

A)a=98,b=765,c=4321B)a=10,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0

13.以下敘述中正確的是()

A)輸入項可以是一個實型常量,例如:scanf("%f",3.5);

B)只有格式控制,沒有輸入項,也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scanf("a=%d,b=%d");

C)當(dāng)輸入一個實型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)點后的位數(shù),如scanf(“%4.2f”,&d);

D)當(dāng)輸入數(shù)據(jù)時,必須指明變量地址,例如:scanf("%f",&f);

14.若運行以下程序時,從鍵盤輸入25,13,10〈回車>,則輸出結(jié)果為()

main()

{intal,a2,a3;

scanf(“%d%d%d”,&al,&a2,&a3);printf(“al+a2+a3=%d\n”,al+a2+a3);}

A)al+a2+a3=48B)al+a2+a3=25C)al+a2+a3=10D)不確定值

二、填空題:

1.以下程序的輸出結(jié)果依次是①②.

①main(){inti=9;printf("%o\n",i);}

②main(){inta=177;printf("%o\n",a);}

2.以下程序運行后的輸出結(jié)果是o

main(){inta,b,c;a=25;b=025;c=0x25;printf("%d%d%d\nw,a,b,c);}

3.有以下語句段intnl=10,n2=20;printf("",nl,n2);

要求按以下格式輸出nl和n2的值,每個輸出行從第一列開始,請?zhí)羁铡l=10

n2=20

4.已有定義:intx;執(zhí)行以下語句后的輸出結(jié)果是o

x=ll/3;y=5;printf("%%d,%%%d\n”,x,y);

5.①以下程序的輸出結(jié)果是o②以下程序的輸出結(jié)果是o

main()main()

{floata;intb;{floata;intb;

b=a=24.5/5;printf(^%f,%d>,,a,b);}a=b=24.5/5;printf("%f,%d”,a,b);}

6.若想通過以下輸入語句給a賦予1,給b賦予2,則輸入數(shù)據(jù)的形式應(yīng)該是o

main(){inta,b;scanf("a=%d,b=%d",&a,&b);}

7.若有程序如下,要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入o

main(){inti,j;scanf("i=%d,j=%d",&i,&j);printf("i=%d,j=%d\n”,i,j);}

8.以下輸入語句是a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式應(yīng)該是。

main(){intb,c;floata;scanf("%f,%d,c=%d",&a,&b,&c);}

9.有以下程序段:inta=l,b=l;

scanf("a=%d,b=%d",&a,&b);printf("a=%d,b=%d”,a,b);

若按以下方式從鍵盤輸入數(shù)據(jù):22,6<回車》,程序的運行結(jié)果是o

若按以下方式從鍵盤輸入數(shù)據(jù):a=22,b=6,程序的運行結(jié)果是o

第三章選擇結(jié)構(gòu)

一、選擇題:

1.下列運算符中優(yōu)先級最高的運算符是()

A)<=B)=C)%D)&&

2.語句:printf(“%d”,d=2>=7<=9);的輸出結(jié)果是()

A)語法錯誤B)1C)0D)d=l

3.表達(dá)式:10!=9的值是()

A)trueB)非零值C)0D)1

4.語句printf(“%d”,(a=2)&&(b=-2));的輸出結(jié)果是()

A)無輸出B)結(jié)果不確定C)-1D)1

5.以下程序的輸出結(jié)果是()

main(){inta,b,d=241;a=d/100%9;b=(-l)&&(-l);printf("%d,%d\n”,a,b);}

A)6,1B)2,1C)6,0D)2,0

6.已有定義:intx=3,y=4,z=5;則表達(dá)式!(x+y)+zT&&y+z/2的值()

A)6B)0C)2D)1

7.設(shè)intx=l,y=l;則表達(dá)式(以|h一)的值是()

A)0B)1C)2D)-1

8.設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||++y;后,y

的值為()

A)不定值B)4C)3D)1

9.設(shè)a=5,b=6,c=7,d=8,m=2,n=2,執(zhí)行(m=a>b)&&(n=c>d);后n的值為()

A)1B)2C)3D)4

10.以下程序的輸出結(jié)果是()

main()

{inta=l,b=2,m=0,n=0,k;

k=(n=b>a)||(m=a<b);printf("%d,%d\n”,k,m);}

A)0,0B)0,1C)1,0D)1,1

11.設(shè)x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為()

x=y=z=l;t=++x||++y&&++z;

A)不定值B)2C)1D)0

12.以下程序的輸出結(jié)果是()

main()

{inta=4,b=5,c=0,d;

d=!a&&!b||!c;printf(^%d\nw,d);}

A)1B)0C)非0的數(shù)D)-1

13.以下程序的輸出結(jié)果是()

main()

{inta=-l,b=4,k;

k=(a++<=0)&&(!(b—<=0));printf("%d%d%d\n”,k,a,b);}

A)003B)0120103D)112

14.以下程序的輸出結(jié)果是()

main()

{inta=-l,b=4,k;

k=(++a<0)&&!(b—<=0);printf(“%d%d%d\n”,k,a,b);}

A)104B)103C)003D)004

15.設(shè)a、b和c都是int型變量,且a=3,b=4,c=5,且以下表達(dá)式中值為0

的表達(dá)式是()

A)匕'&&'b,B)a<=bC)a||b+c&&b-cD)!((a<b)&&!c||1)

16.①為表示關(guān)系x》yez,應(yīng)使用C語言表達(dá)式()

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)

②能正確表示a>10或a<0的關(guān)系表達(dá)式是()

A)a>=10ora<=0B)a>=10|a<=0C)a>=10||a<=0D)a>=10&&a<=0

17.當(dāng)c的值不為0時,下列選項中能正確將c的值賦給變量a、b的()

A)c=b=a;B)(a=c)||(b-c)C)(a=c)&&(b=c)D)a=c=b;

18.能正確表示a和b同時為正或同時為負(fù)的邏輯表達(dá)式是()

A)(a>=0||b>=0)&&(a<0||b<0)B)(a>=0&&b>=0)||(a<0&&b<0)

C)(a+b>0)&&(a+b<=0)D)a*b>0

19.x為奇數(shù)時值為“真”,x為偶數(shù)時值為“假”的表達(dá)式(①),不能滿足要求的表達(dá)式(②)

①A)!(x%2==l)B)x%2==0C)x%2D)!(x%2)

②A)x%2==lB)!(x%2==0)C)!(x%2)D)x%2

20.設(shè)a=l,b=2,c=3,d=4,則表達(dá)式a〈b?a:c<d?a:d的結(jié)果是()

A)4B)3C)2D)1

21.以下程序的輸出結(jié)果是()

main(){inta=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}

A)5B)4C)6D)不確定

22.設(shè)w、x、y、z、m均為int型變量,則以下程序段執(zhí)行后,m的值()

w=l;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;

A)4B)3C)2D)1

23.假設(shè)所有變量均為整型,表達(dá)式(a=2,b=5,a>b?a++:b++,a+b)的值是()

A)7B)8C)9D)2

24.變量都已正確定義:a=2,b=3,則程序段printf(a>b?”***a=%d":"###b=%d"a,b);()

A)沒有正確的輸出格式控制B)輸出為:***a=2

C)輸出為:###b=2D)輸出為:***a=2###b=2

25.以下程序的輸出是()

main()

{inti,j,k,a=3,b=2;

i=(-a==b++)?—a:++b;j=a++;k=b;

printf(ai=%d,j=%d,k=%d\n>,,i,j,k);}

A)i=2,j=l,k=3B)i=l,j=l,k=2C)i=4,j=2,k=4D)i=l,j=l,k=3

26.若給定條件表達(dá)式(M)?(a++):(a-),則其中表達(dá)式M()

A)和(M=0)等價B)和(M=l)等價C)和(M!=0)等價D)和(M!=l)等價

27.若k是int型變量,且有下面的程序段,則該程序段的輸出結(jié)果是()

k=-3;

if(k<=0)printf(“####");

elseprintf("&&&&”);

A)####B)&&&&C)####&&&&D)有語法錯誤,無輸出結(jié)果

28.下面的程序的輸出結(jié)果是()

main()

{intx=3,y=0,z=0;

if(x=y+z)printf("****”);

elseprintf("####");}

A)有語法錯誤不能通過編譯B)輸出****

C)可以通過編譯,但是不能通過連接,因而不能運行D)輸出####

29.下列條件語句中,功能與其他語句不同的是()

A)if(a)printf("%d\n",x);elseprintf("%d\n",y);

B)if(a==0)printf("%d\n",y);elseprintf("%d\n",x);

C)if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);

D)if(a==0)printf("%d\n",x);elseprintf("%d\n",y);

30.執(zhí)行下面的程序時從鍵盤上輸入3和4,則輸出()

main()

{inta,b,s;

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

if(a<b)s=b;

s=s*s;

printf(a%d\nw,s);}

A)14B)16C)18D)20

31.若執(zhí)行下面的程序時從鍵盤上輸入5,則輸出結(jié)果是()

main()

{intx;scanf("%d”,&x);

if(x++>5)printf("%d\n",x);

elseprintf("%d\n",x--);}

A)7B)6C)5D)4

32.若執(zhí)行以下程序時從鍵盤上輸入5,則輸出結(jié)果是()

main()

{intx;scanf("%d",&x);

if(x—<5)printf("%d\n",x);

elseprintf("%d\n",x++);}

A)3B)4C)5D)6

33.以下程序的輸出結(jié)果是()

main()

{intm=5;

if(++m>5)

if(m++>5)printf("%d\n",m+5);

elseprintf("%d\n",m—);

elseprintf("%d\n",-m);}

A)8B)5C)10D)12

34.以下程序的輸出結(jié)果是()

main()

{inta=-l,b=l,k;

if((++a<0)&&!(b一<=0))printf("%d%d\n”,a,b);

elseprintf("%d%d\nw,b,a);}

A)-11B)01C)10D)00

35.以下程序的輸出結(jié)果是()

main()

{inti=l,j=l,k=2;

if((j++l|k++)&&i++)printf(a%d,%d,%d\n,>,i,j,k);}

A)1,1,2B)2,2,1C)2,2,2D)2,2,3

36.以下程序的輸出結(jié)果是()

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=l.0/x;

elsey=l.0;

printf(a%f\nw,y);)

A)0.000000B)0.250000C)0.500000D)1.000000

37.以下程序的輸出結(jié)果是()

main()

{inta=5,b=4,c=3,d=2;

if(a>b>c)printf("%d\n",d);

elseif((c-l>=d)==1)printf("%d\n",d+1);

elseprintf(a%d\nw,d+2);}

A)2B)3C)4D)編譯時有錯,無結(jié)果

38.以下程序的輸出結(jié)果是()

main()

{inta=2,b=-l,c=2;

if(a<b)

if(b<0)c=0;

elsec++;

printf("%d\n",c);}

A)0B)1C)2D)3

39.以下程序的輸出結(jié)果是()

main()

{inta=2,b=l,c=2;

if(b<a)

if(b<O)c=O;

c++;b++;

printf("b=%d,c=%d\nw,b,c);}

A)b=l,c=2B)b=l,c=0C)b=2,c=3D)b=l,c=l

40.在執(zhí)行以下程序時,為了使輸出結(jié)果為:t=4,則給a和b輸入的值應(yīng)滿

足的條件是()

main()

{ints,t,a,b;scanf("%d,%d”,&a,&b);s=l;t=l;

if(a>0)s=s+l;

if(a>b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

printf(at=%d\nw,t);}

A)a>bB)a<b<0C)0<a<bD)0>a>b

41.以下程序的輸出結(jié)果是()

main()

{intx=100,a=10,b=20,okl=5,ok2=0;

if(a<b)

if(b!=15)

if(!okl)x=l;

elseif(ok2)x=10;

x=-l;

printf("%d\n",x);}

A)-1B)0C)1D)不確定的值

42.當(dāng)a=l,b=3,c=5,d=4時,執(zhí)行下面一段程序后,x的值為()

if(a<b)

if(c<d)x=l;

elseif(a<c)

if(b<d)x=2;

elsex=3;

elsex=6;

elsex=7;

A)1B)2C)3

溫馨提示

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

評論

0/150

提交評論