C語言考試題及答案_第1頁
C語言考試題及答案_第2頁
C語言考試題及答案_第3頁
C語言考試題及答案_第4頁
C語言考試題及答案_第5頁
已閱讀5頁,還剩97頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本卷共有4道大

一、單項選擇題(25道小題,共50分)

1、以下說法中正確的是(C)(2分)

A、C語言程序總是從第?個的函數(shù)開始執(zhí)行B、在C語言程序中,要調(diào)用的函數(shù)必須在main。

函數(shù)中定義

C、C語言程序總是從main()函數(shù)開始執(zhí)行D、C語言程序中的main()函數(shù)必須放在程序的

開始部分

2、一個算法應(yīng)該具有“確定性”等五個特性,下面對另外4個特性的描述中錯誤的是(B)

(2分)

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

3、以下選項中,不合法常量的是(B)(2分)

A、1.234e04B、1.234e0.4

C、I.234e+4D、1.234e0

4、C語言中最簡單的數(shù)據(jù)類型包括(B)(2分)

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

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

5、能正確表示邏輯關(guān)系:“102=a》=0”的C語言表達(dá)式是(D)(2分)

A、10>=a>=0B、a>=0anda<=10

C、a>=0lla<=10D、a>=0&&a<=10

6、設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是(D)(2分)

A、6.500000B、6

C、5.500000D、6.000000

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

(2分)

A、INPUTx、y、z;B、scanf(,'%d%d%d,,,&x,&y,&z);

C、scanf(n%d%d%du,x,y,z);D、read(n%d%d%d';&x,&y,&z);

8^設(shè)x和y均為int型變量,則以下語句:x+=y;y=x-y;x-=y;的功能是(D)(2分)

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

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

9、若有以下程序段:intcl=l,c2=2,c3;c3=1.0/c2*cl;則執(zhí)行后,c3中的值是(A)(2分)

A、0B、0.5

C、1D、2

10、設(shè)品2「(±=八';則由=((±>=囚&&由<=2)?(a+32):呢的值是(B)o(2分)

A、AB、a

C、ZD、z

11、執(zhí)行程序段inta=-l,b=4,k;k=(++av0)&&!(b-Y=0);printf("%d%d%d\n",k,a,b);后的輸

出結(jié)果是(D)o

(2分)

A、104B、103

C、003D、004

12、設(shè)intx=l,y=l;表達(dá)式(!xlly--)的值是(B)。(2分)

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

13、程序段intx=3;do{printf("%d”,x-=2);}while(!(--x));的輸出結(jié)果是

(C)o(2分)

A、1B、3OC,I-2D,死循環(huán)

14、程序段for(i=2;i==0;)printf("%d”,i--);的循環(huán)次數(shù)是(A)。(2分)

A,無限次B、0次

C、I次D、2次

15、語句intk=l;while(k++<10);執(zhí)行后,變量k的值是(B)?(2分)

A、10B、I1C、9D、無限循環(huán),值不定

16、程序inti,sum;for(i=l;i<=3;sum++)sum+=i;printf("%d\n",sum);的執(zhí)行結(jié)果是

(C)。(2分)

A、6B、3C、不確定D、0

17、以下對二維整形數(shù)組a的正確說明是(C)?(2分)

Asinta[3][];B,floata(3,4);

C、doublea|1][4];Dsfloata(3)(4)

18、若已定義chars[10];在下面表達(dá)式中不能表示s[l]的地址的是(B)。(2分)

A、s+1B、s++

C、&s[0]+lD、&s[l]

19、對兩個字符數(shù)組a和b進行初始化chara[]="ABCDEF";charb|]={,A','B',,C','D,,E',F);

則以下敘述正確的是(D)

o(2分)

A、a與b數(shù)組完全相同B、a與b長度相同

C、a和b中都存放字符串D、a數(shù)組比b數(shù)組長度長

20、有說明:char*languageU={"FORTRAN","BASIC”,"PASCAL","JAVA","C"};則表達(dá)式

*language[l]>*language[2]比較的是(D)

A、字符B和字符PB、字符串FORTRAN和字符串BASIC

C、字符F和字符BD、字符串BASIC和字符串PASCAL

21、C語言程序由函數(shù)組成,它的(B)。(2分)

A、主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)B、主函數(shù)可以在其它函數(shù)之后,

函數(shù)內(nèi)不可以嵌套定義函數(shù)

C、主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)D、主函數(shù)必須在其它函數(shù)之

后,函數(shù)內(nèi)可以嵌套定義函數(shù)

22、在C語言中,若需一變量只在本文件中所有函數(shù)使用,則該變量的存儲類別是(D)。(2

分)

A、externB、registerC、autoD>static

23、改口:加2[]={1,2,3,4,5,6}^=2;則值為3的表達(dá)式是(A)。.(2分)

A、p+=2,*(p++)B、p+=2,*++p

C、p+=3,*p++D、p+=2,++*p

24、設(shè)有說明語句"structstu{inta;floatb;}stutype;n,則敘述不正確的是(C)(2分)

A、struct是結(jié)構(gòu)體類型的關(guān)鍵字。B、structstu是用戶定義的結(jié)構(gòu)體類型。

C、stutype是用戶定義的結(jié)構(gòu)體變量名。D、a和b都是結(jié)構(gòu)體變量。

25、下列關(guān)于文件指針的描述中,錯誤的是(D)(2分)

A、文件指針是由文件類型FILE定義的。B、文件指針是指向內(nèi)存某個單元的地址值.

C、文件指針是用來對文件操作的標(biāo)識。D、文件指針在一個程序中只能有一個。

26、以下敘述中正確的是(B)(2分)

A、C語言的源程序不必通過編譯就可以直接運行

B、C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令

C、C源程序經(jīng)編譯形成的二進制代碼可以直接運行

D、C語言中的函數(shù)不可以單獨進行編譯

27、以下敘述中正確的是(C)(2分)

A、用C語言實現(xiàn)的算法必須要有輸入和輸出操作

B、用C語言實現(xiàn)的算法可以沒有輸出但必須要有輸入

C、用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出

D、用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出

28、C語言中,下列字符常量合法的是(A)(2分)

A、VB>"A"C、65D、A

29、下列關(guān)于賦值運算符的表述中,錯誤的是(C)(2分)

A、賦值運算符優(yōu)先級高于逗號運算符

B、賦值運算符的結(jié)合性是從左至右C、賦值運算符是雙目運算符

D、賦值運算符可在表達(dá)式中連用

30、設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是(D)設(shè)分)

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

31、以下不是關(guān)鍵字的是(C)(2分)

A、continueB>charC>IfD>default

32、設(shè)x,y為浮點型變量,合法賦值語句是(A)(2分)

A、x=8+y;B、(float)3;C、y=(x%2)/10;D、*x=10;

33、已定義ch為字符型變量,以下賦值語句中錯誤的是(B)(2分)

A、ch=*\';B、ch=62+3;C、ch='D、ch=\xaaf;

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

2、k的值為3,以下選項中正確的輸入語句是(C)(2分)

A、scanf(M%2d%2d%2d';&i,&j,&k);

B、scanf(”%d%d%d”,&i,&j,&k);C、scanf(”%d,%d,%d”,&i,&j,&k);

D、scanf(,,i=%dj=%d,k=%d',,&i,&j,&k);

35、為了避免在嵌套的條件語句if一一else中產(chǎn)生二義性,c語言規(guī)定:else子句總是與

(B)配對。(2分)

A、縮排位置相同的ifB、其之前最近的ifC、其之后最近的ifD、同一行上的if

36、能正確表示“當(dāng)x的取值在[1,100]和[200,300]范圍內(nèi)為真,否則為假”的表達(dá)

式是(A)o(2分)

A、(x>=l)&&(x<=100)&&(x>=200)&&(x<=300)

B、(x>=l)ll(x<=100)ll(x>=200)ll(x<=300)C>(x>=l)&&(x<=100)ll(x>=200)&&(x<=300)

D、(x>=l)ll(x<=100)&&(x>=200)ll(x<=300)

37、若w,x,y,z,m均為int型變量,則執(zhí)行語句w=l;x=2;y=3;z=4;

m=(w<y)?w:x;m=(m<y)?m:y;m=(mvz)?m:z;后的m值是(A)。

A、IB、2C、3D、4

38、c語言中(D)o(2分)

A^不能使用do-while語句構(gòu)成的循環(huán)

B、do-while語句構(gòu)成的循環(huán)必須用break語句才能退出

C、do一whiLe語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非零時結(jié)束循環(huán)

D、do―while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時結(jié)束循環(huán)

39、設(shè)j為int型變量,則for(j=10;j>3;j-){if(j%3)j-;-j;-j;printf("%d",j);}的執(zhí)行

結(jié)果是(A)。(2分

A、74B、47C、56D、I3

40、以下描述正確的是(C)。(2分)

A、由于do-while循環(huán)中循環(huán)體語句只能是條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合

語句。

do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號。

C、在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變成零(“假”)的操作。

D、do-while循環(huán)中,根據(jù)情況可以省略while

41、以下正確的定義語句是(D)。(2分)

A、inta[l][4]={1,2,3,4,5};

B、floatX[3][]={{1},{2},{3}};C、longb[2][3]={{1},{1,2},{1,2,3});

D、doubley[][3]={0};

42、下面描述正確的是(D)o(2分)

A、字符串所包含的字符個數(shù)相同時,才能比較字符串

B、字符個數(shù)多的字符串比字符個數(shù)少的字符串大C、字符串"stop"與"stop"相等

D、字符串“That”小于字符串"The"

43、在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是(C)。(2分)

A、整型常量

B、整型表達(dá)式C、整型常量或整型表達(dá)式

D、任何類型的表達(dá)式

44、若有說明:inta[][3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是(B)。(2分)

A、2B、3C、4D、無確定值

45、已知intf(int);和intg(int);是函數(shù)f和g的原形。下列語句中,將函數(shù)f作為函數(shù)參數(shù)

的有(A)0(2分)

A、f(3);B、p=f(3);C、g(f(3));D、f(g(3));

46、函數(shù)調(diào)用結(jié)束后,形式參數(shù)(C)。(2分)

A、繼續(xù)占用相同大小的內(nèi)存B、占用的內(nèi)存減小C、釋放內(nèi)存D、不確定

47、已知:inta>*p=&a;則下列函數(shù)調(diào)用中錯誤的是(D)。(2分)

Ascanf("%d",&ascanf("%d",p);C、printf("%d",a);D、printf("%d",p);

48、枚舉類型首元素默認(rèn)值和兩個相鄰元素之間默認(rèn)的差值分別是(C)(2分)

A、1,OB、1,1C、0,1D、0,0

49、語句“fseek(fp/00L,2);”的功能是(C)(2分)

A、將fp所指向文件的位置指針移至距文件首100個字節(jié)。B、將fp所指向文件的位

置指針移至距文件尾100個字節(jié)。

C、將fp所指向文件的位置指針移至距當(dāng)前位置指針的文件首方向100個字節(jié)。D、將

fp所指向文件的位置指針移至距當(dāng)前位置

指針的文件尾方向100個字節(jié)。

50、以下敘述錯誤的是(D)(2分)

A、-個C程序總是從main函數(shù)開始執(zhí)行的;

B、C程序書寫格式自由,一行內(nèi)可以寫幾個語句,一個語句可以分寫在多行上;

C、每個語句和數(shù)據(jù)定義的最后必須有一個分號;

D、C語言本身有輸入輸出語句。

51、若有以下類型說明語句:charw;intx;floaty;doublez;則表達(dá)式w*x+z?y的結(jié)果類型是

(D)(2分)

A、floatB、charC^intD、double

52、下面不正確的字符串常量是(A)(2分)

A、rabc'B、n12'12"C、"O',D、""

53、已知各變量的類型說明如下:intk,a,b=l;unsignedlongw=5;則以下不符合C語言語法的

表達(dá)式是(A)(2分)

A、k=b+2=wB、w+=-2C>k=(a=2,b=3,a+b)D、

a+=a-=(b=4)*(a=3)

54、執(zhí)行下列語句intx=10,y=3;printf("%d\n”,y=x/y);后的輸出是(C)(2分)

A、OB、1C、3D、不確定的值

55、若執(zhí)行以下程序段:inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n”,a,b,

c);其輸出結(jié)果是(B)(2分)

A、0,0,-10B>0,0,5C、-10,3,-10D、3,3,-10

56、已知i、j、k為int型變量,若從鍵盤輸入:1,2,3〈回車〉,使i的值為1、j的值為

2、k的值為3,以下選項中正確的輸入語句是(C)(2分)

A、scanf("%2d%2d%2d",&i,&j,&k);

B、scanf("%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);

57、以下錯誤的if語句是(C)。(2分)

A、if(x>y)z=x;

B、if(x==y)z=0;C,if(x!=y)printf("%d",x)elseprintf("%d",y);

D、if(x<y){x++;y-;)

58、條件運算符的結(jié)合方向是(A)。(2分)

A、自右至左;B、自左至右;C、任意;D、前后順序;

59、對于程序段intx=-l;do{x=x*x;}while(!x);說法正確的是(C)?(2分)

A、是死循環(huán)B、循環(huán)執(zhí)行兩次C、循環(huán)執(zhí)行一次D、有語法錯誤

60、t為int類型,進人下面的循環(huán)之前,t的值為0,則對于while(t=l){……}敘述中正

確的是(A)o(2分)

A、循環(huán)控制表達(dá)式的值為0

B、循環(huán)控制表達(dá)式的值為1C、循環(huán)控制表達(dá)式不合法

D、以上說法都不對

61、執(zhí)行語句x=y=0;while(x<15)y++,x+=++y;printf("%d,%d”,y,x);的結(jié)果是(D)?(2

分)

A、20,7B>6,12C、20,8D、8,20

62、以下對一維整形數(shù)組a進行正確初始化的語句是(C)。(2分)

A、inta[101=(0,0,0,0,0);B、inta[10]={};C,inta[]={0};D>inta[10]={10*1};

63、若有說明:inta[3][4];則對a數(shù)組元素的非法引用是(D)。(2分)

A、a(0][2*l]B>a[l][3]C,a[4-2][0]D,a[0][4|

64、以下能對二維整形數(shù)組a進行正確初始化的語句是(D)。(2分)

A、inta[2][3]={0};B,inta[][3]={{1,2},{0}};C、inta⑵[3]={{1,2},{3,4},{5,6}};D、int

a[][3]={1,2,3,4,56};

65、程序charc[5]={'a'b'\0'c'c,'\0'};printf("%s",c);}的運行結(jié)果是(D)?

(2分)

A、'a"b'B、abC、abcD>ab

66、一個C程序的執(zhí)行是從(A(2分)

A、本程序的main函數(shù)開始,到main函數(shù)結(jié)束

B、本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

C、本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D、本程序文件的第一個

函數(shù)開始,到本程序main函數(shù)結(jié)束

67、在定義語句int*f();中,標(biāo)識符f代表的是(D)。(2分)

A、一個用于指向整型數(shù)據(jù)的指針變量

B、一個用于指向一維數(shù)組的行指針C、一個用于指向函數(shù)的指針變量

D、一個返回值為指針型的函數(shù)名

68、設(shè)pl和p2是指向同一個字符串的指針變量,e為字符變量,則以下不能正確執(zhí)行的賦

值語句是(B)。(2分)

A、c=*pl+*p2;B、p2=cC、pl=p2D、c=*pl*(*p2);

69、C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間(B)(2分)

A、所有成員一直駐留在內(nèi)存中。B、只有一個成員駐留在內(nèi)存中。

C、部分成員駐留在內(nèi)存中。

D、沒有成員駐留在內(nèi)存中。

70、語句“fseek(fp,100L,l);”的功能是(C)(2分)

A、將fp所指向文件的位置指針移至距文件首100個字節(jié)。B、將fp所指向文件的位

置指針移至距文件尾100個字節(jié)。

C、將fp所指向文件的位置指針移至距當(dāng)前位置指針的文件首方向100個字節(jié)。D、將

fp所指向文件的位置指針移至距當(dāng)前位置

指針的文件尾方向100個字節(jié)。

71、以下不是結(jié)構(gòu)化程序設(shè)計方法的是(B)(2分)

A、循環(huán)結(jié)構(gòu)B、模塊結(jié)構(gòu)C、順序結(jié)構(gòu)D、選擇結(jié)構(gòu)

72、以下選項中,不合法常量的是(B)(2分)

A、1.234eO4B、1.234e0.4C、1.234e+4D、1.234e0

73、若變量已正確定義,以下非法的表達(dá)式是(B)(2分)

A、a/=b+cB、a%(4.0)C>a=l/2*(x=y=20,x*3)D、a=b=c

74、下列語句中符合C語言語法的賦值語句是(D)(2分)

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

75、若有以下定義和語句:charcldb'QdprintfC^d/c'n'cZ-cLcZJaH'A");則輸出結(jié)果是

(B)(2分)

A、2,MB、3,EC、2,ED、輸出項與對應(yīng)的格式控制不一致,輸出結(jié)果不確定

76、若變量已正確說明,要求用語句:scanf("%f%c%f%c”,&a,&cl,&b,&c2);給cl賦予字

符%、給c2賦予字符#、給a賦予2.0、給b賦予4.0,則正確的輸入形式是(B)(2分)

A、2.0%4.0#B、2.0%4.0#C、2%4#D、2%4#

77、下述表達(dá)式中,(A)可以正確表示xWO或x21的關(guān)系。(2分)

A、(x>=l)II(x<=0)B、x>=lIx<=0C^x>=l&&x<=OD、(x>=l)&&(x<=0)

78、若a=-14,b=3,則條件表達(dá)式a<b?a:b+l的值為(A)。(2分)

A、-14B、-13C、3D、4

79設(shè):吊1@=1力=2e=3,(1=4,171=2,11=2;擬1行(111=3>1))&&(11=?(1)后口的值為(B)。(2分)

A、IB、2C、3D、4

80、對for(表達(dá)式1;;表達(dá)式3)可以理解為(B)。(2分)

A、for(表達(dá)式1;0;表達(dá)式3)

B、for(表達(dá)式1;1;表達(dá)式3)C、for(表達(dá)式1;表達(dá)式I;表達(dá)式3)

D、for(表達(dá)式I;表達(dá)式3;表達(dá)式3)

81、若I為整型變量,則for(I=2;I==l)printf("%d",1一);的循環(huán)執(zhí)行次數(shù)是(B)。(2分)

A、無限次B、0次C、1次D、2次

82、程序inti,sum;for(i=l;i<=3;sum++)sum+=i;printf("%d\n",sum);的執(zhí)行結(jié)果是

(C)o(2分)

A、6B、3C、不確定D、0

83、若有說明:inta[3]圖;則對a數(shù)組元素的正確引用是(C)。(2分)

A、a[2][4]Bsa[l,3]C,a[l+l][0]D,a(2)(l)

84、下面是對數(shù)組a的初始化,其中不正確的是(D)。(2分)

A、a[5]={"ABCD"}Bsa[5]={'A',B,C,'D'}C、a[5]=""D,a[5]="ABCDE"

85、判斷字符串a(chǎn)是否大于b,應(yīng)當(dāng)使用(D)o(2分)

A^if(a>b)B>if(strcmp(a,b))C>if(strcmp(b,a)>0)D>if(strcmp(a,b)>0)

86、若已定義chars[2][40]={”china“JEnglish”};則在下面表達(dá)式中能表示字符'E'的地址

的是(B)。(2分)

A、&s[2][l]B、s[l]C、&s[l]D>&(s[l]+l)

87、關(guān)于局部變量,下列說法正確的是(D)。(2分)

A、定義該變量的程序文件中的函數(shù)都可以訪問。

B,定義該變量的函數(shù)中的定義處以下的任何語句都可以訪問。

C、定義該變量的復(fù)合語句的定義處以下的任何語句都可以訪問。D、局部變量可用于

函數(shù)之間傳遞數(shù)據(jù)。

88、程序chara[10]={9,8,7,6,5,4,3,2,l,0},*p=a+5;printf("%d”,*--p);的輸出結(jié)果是

(A)。(2分)

A、非法B、a[4]的地址C、5D、3

89、C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間(B)(2分)

A、所有成員一直駐留在內(nèi)存中。

B,只有一個成員駐留在內(nèi)存中。C、部分成員駐留在內(nèi)存中。

D、沒有成員駐留在內(nèi)存中。

90、下列正確定義一個文件指針pm的語句是(C)(2分)

A^FILEpm;B、file*pm;C、FILE*pm;D^filepm;

91、以下敘述中正確的是(B)(2分)

A、C語言的源程序不必通過編譯就可以直接運行

B、C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令

C、C源程序經(jīng)編譯形成的二進制代碼可以直接運行

D、C語言中的函數(shù)不可以單獨進行編譯

92、結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,由這三種基本結(jié)構(gòu)組成的算法(A)(2分)

A、可以完成任何復(fù)雜的任務(wù)

B、只能完成部分復(fù)雜的任務(wù)C、只能完成符合結(jié)構(gòu)化的任務(wù)

D、只能完成一些簡單的任務(wù)

93、以下正確的敘述是(D)(2分)

A、在C程序中,每行中只能寫一條語句

B、若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)

C、在C程序中,無論是整數(shù)還是實數(shù),都能被準(zhǔn)確無誤地表示D、在C程序中,%

是只能用于整數(shù)運算的運算符

94、以下敘述中正確的是(C)(2分)

A、在C程序中,無論是整數(shù)還是實數(shù),只要在允許的范圍內(nèi)都能準(zhǔn)確無誤的表示。

B、C程序由主函數(shù)組成

C、C程序由函數(shù)組成

D、C程序由函數(shù)和過程組成

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

分)

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

96、能正確表示邏輯關(guān)系:“102=a》=0”的C語言表達(dá)式是(C)(2分)

A、10>=a>=0B、a>=0anda<=10C>a>=0lla<=10D>a>=0&&a<=10

97、執(zhí)行以下程序段:intx=496;printf("*%-6d*\n",x);的輸出是(A)(2分)

A、*496*B、*496*C、*000496*D、輸出格式不合法

98、執(zhí)行下列語句inta;printf("%d\n”,(a=3*5,a*4,a+5))后,a的值是(B)(2分)

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

99、若有以下定義和語句:intu=010,v=0x10,w=lO;printf("%d,%d,%d\n,u,v,w);則輸出結(jié)果是

(A)(2分)

A、8,16,10B、10,10,10C,8,8,108,10,10

100、以下關(guān)于運算符優(yōu)先順序的描述中正確的是(C)。(2分)

A、關(guān)系運算符V算術(shù)運算符〈賦值運算符〈邏輯與運算符

B、邏輯與運算符〈關(guān)系運算符〈算術(shù)運算符〈賦值運算符C、賦值運算符〈邏輯與運算符<

關(guān)系運算符〈算術(shù)運算符

D、算術(shù)運算符〈關(guān)系運算符々武值運算符(邏輯與運算符

101>設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++xll++y;后,y的值為(C)。

(2分)

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

103、程序段intx=3;do{printf("%d”,x-=2);}while(!(--x));的輸出結(jié)果是

(C)o(2分)

As1B、30C、1-2D、死循環(huán)

104、C語言中while和do-while循環(huán)的主要區(qū)別是(A)。(2分)

A、do—while的循環(huán)體至少無條件執(zhí)行一次

B,while的循環(huán)控制條件比do一while的循環(huán)控制條件嚴(yán)格

C,do一while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)

D、do-while的循環(huán)體不能是復(fù)合語句

105、對于程序段intk=0;while(k=l)k++;while循環(huán)執(zhí)行的次數(shù)是(C)。(2分)

A、無限次

B、有語法錯,不能執(zhí)行C、一次也不執(zhí)行

D、執(zhí)行1次

106、若I為整型變量,則for(I=2;I=l)printf("%d”,1--);的循環(huán)執(zhí)行次數(shù)是(A)。(2

分)

A、無限次B、0次C、1次D、2次

107、以下正確的定義語句是(D)。(2分)

A、inta[l][4]={1,2,3,4,5};B、floatx[3][]={{1},{2},{3}};C、longb[2][3]={{1},{1,2},{1,2,3));

D、doubley||[3]={0};

108、若有chara|80],b[80];則正確的是(D)。(2分)

A、puts(a,b);B>printf("%s,%s",a[],b[]);C>putchar(a,b);D、puts(a);puts(b);

109、若已定義chars"。];在下面表達(dá)式中不能表示s[l]的地址的是(B)。(2分)

A、s+lB、s++C、&s[0]+lD、&s[l]

110、若有說明:inta[3][4];則數(shù)組a中各元素(C)。(2分)

A、可在程序的運行階段得到初值0

B、可在程序的編譯階段得到初值0C、不能得到確定的初值

D、可在程序的編譯或運行階段得到初值0

111、函數(shù)調(diào)用語句fun((expl,exp2),(exp3,exp4,exp5))中實參的個數(shù)是(B(2分)

A、IB,2C、4D、5

112、有程序chars口="ABCD",*P;for(p=s+l;p<s+4;p++)printf("%s",p);程序的輸

出結(jié)果是(D)。(2分)

A、ABCDBCDCDDB>ABCDC,BCDD、BCDCDD

113、當(dāng)說明一個共用體變量時系統(tǒng)分配給它的內(nèi)存是(C)(2分)

A、各成員所需內(nèi)存量的總和。

B、第一個成員所需內(nèi)存量。C、成員中占內(nèi)存量最大者所需的容量。

D、最后一個成員所需內(nèi)存量。

114、系統(tǒng)的標(biāo)準(zhǔn)輸入文件是指是(A)(2分)

A、鍵盤B、顯示器C、軟盤D、硬盤

115、下列運算符中,結(jié)合性為自左向右的是(B)(2分)

A、?:B、,C、+=D、++

116、以下選項中正確的實型常量是(B)(2分)

A、0B、3.1415C、0.03xl0D>.32

117、若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是(D)(2分)

A、,a,<=c<='z'B、(c>='a')ll(cv='z')C、(,a,<=c)and('z、=c)D、(c>=fa')&&(c<='zr)

118、若所有變量均為整型,則表達(dá)式(a=2,b=5,b++,a+b)的值是(B)(2分)

A、7B、8C、6D、2

119、若執(zhí)行以下語句:inta;floatb,c;scanf("%2d%3f%4f”,&a,&b,&c);

printf(u\na=%d,b=%f,c=%f\nn,a,b,c);在鍵盤上從第一列開始,輸入9876543210vCR>(此處

<CR>表示Enter),則程序的輸出結(jié)果是(C)(2分)

A、a=98,b=765,c=4321B.a=10,b=432,c=8765C、a=98,b=765.000000,c=4321.000000

D、a=98,b=765.0,c=4321.0

120、有以下語句intm=0,n=0;charc='a';scanf("%d%c%d;&m,&c,&n);

printf(n%d,%c,%d\nn,m,c,n);若從鍵盤上輸入:10A10<|可車〉,則輸出結(jié)果是(A)(2分)

A、10,AJ0B、10,aJ0C、10,a,0D、10,A,0

121、執(zhí)行下列語句intx=10,y=10;printf("%d%d\n”,x-,一y);后的輸出是(D)(2分)

A、1010B、99C、910D、109

122、下列表達(dá)式中,(C)不滿足“當(dāng)x的值為偶數(shù)時值為真,為奇數(shù)時值為假”的要求。

A、x%2==0B、!x%2!=0C、(x/2*2?x)==0D、!(x%2)

123、已知:intn,i=l,j=2;執(zhí)行語句n=i<j?i++:j++;則i和j的值是(C)。(2分)

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

124、執(zhí)行語句for(I=l;I++v4;);后變量I的值是(C)。(2分)

A、3B、4C、5D、不定

125、a和b為int型變量,則執(zhí)行a=l;b=10;do{b-=a;a++;}while(b--vO);后b的值為(C)。

(2分)

A、9B、-2C、-ID、8

126、有程序段charaL3],b[]="China";a=b;printf("%s",a);貝女C)。(2分)

A、運行后將輸出ChinaB、運行后將輸出ChC、編譯出錯D、運行后將輸出Chi

127、不能正確為字符數(shù)組輸入數(shù)據(jù)的是(A)o(2分)

A、chars[5];scanfC%s",&s);

B、chars[5];scanf(”%s",s);C^chars[5];scanf("%s",&s[0]);

D、chars[5];gets(s);

128、程序段chars[]="\\141\14iabc\t";printf("%d\n",strlen(s));的輸出結(jié)果是(A)。

(2分)

A、9B、12C、13D、14

129、已知:chars[20]="programming",*ps=s;則不能引用字母o的表達(dá)式是(A)。

(2分)

A、ps+2B、s[2]C-ps[2]D、ps+=2,*ps

130下列關(guān)于文件打開方式“w”和“a”的描述中,錯誤的是(D)(2分)

A、它們都可以向文件寫入數(shù)據(jù)。

B、以“w”方式打開的文件從頭寫入數(shù)據(jù)。C、以“a”方式打開的文件從尾寫入數(shù)據(jù)。

D、它們都不清除原文件內(nèi)容。

131、C語言程序的注釋是(A)(2分)

A、由"/*"開頭,"*/"結(jié)尾B、由"/*"開頭,"/*"結(jié)尾C、由"http://"開頭D、由"/*喊“〃"開頭

133、若有以下類型說明語句:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y的結(jié)果類型

是(D)(2分)

A、floatB、charC、intD、double

134、以下選項中屬于C語言的數(shù)據(jù)類型是(C)(2分)

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

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

A、IB、2C、2.0D、2.5

136、以下不正確的if語句形式是(B(2分)

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++;}

137、對于程序段inta,b=l,c=2;a=b+c,a+b,c+3;c=(c)?a++:b-;printf("c=%d/n",(a+b,c));正確

的說法是(A)。(2分)

A、無錯誤B、第三句有錯誤C、第四句有錯誤D、第五句有錯誤

138、對于條件表達(dá)式(k)?(i++):(i--)來說,其中的表達(dá)式k等價于(C)。(2分)

A、k=0B、k==C、k!=0D、k!=l

139、以下描述正確的是(C)。(2分)

A、由于do-while循環(huán)中循環(huán)體語句只能是條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合

語句。B、dowhile循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號。

C、在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變成零("假")的操作。

D、do-while循環(huán)中,根據(jù)情況可以省略while

140、若使用一維數(shù)組名作函數(shù)實參,則以下正確的說法是(A)。(2分)

A、必須在主調(diào)函數(shù)中說明此數(shù)組的大小

B、實參數(shù)組類型與形參數(shù)組類型可以不匹配

C、在被調(diào)函數(shù)中,不需要考慮形參數(shù)組的大小

D、實參數(shù)組名與形參數(shù)組名必須一致

141、函數(shù)從形式上可分為(B)兩類。(2分)

A、嵌套函數(shù)和被嵌套函數(shù)

B、無參函數(shù)和有參函數(shù)

C、標(biāo)準(zhǔn)函數(shù)和自定義函數(shù)

D、調(diào)用函數(shù)和被調(diào)用函數(shù)

142>已知:charb[5],*p=b;則正確的賦值語句是(D)。(2分)

A、b="abcd";B、*b="abcd";C、p="abcd";D、*p="abcd"

143、設(shè)有說明語句"structstu{inta;floatb;}stutype;'\則敘述不正確的是(D)(2分)

A、stuct是結(jié)構(gòu)體類型的關(guān)鍵字。

B、structstu是用戶定義的結(jié)構(gòu)體類型。

C、stutype是用戶定義的結(jié)構(gòu)體類型名。

D、a和b都是結(jié)構(gòu)體成員名。

144、以“w+”方式打開一個文件,下列描述中正確的是(C)(2分)

A、文件打開時,原有文件內(nèi)容不被刪除,位置指針移動文件末尾,可進行寫和讀操作。

B、文件打開時,原有文件內(nèi)容不被刪除,位置指針移動文件開頭,可進行重寫和讀操作。

C、文件打開時,原有文件內(nèi)容被刪除,可進行寫和讀操作。

D、以上說法都不正確。

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

A、a:=b+lB、a=b=c+2C、intl8.5%3D、a=a+7=c+b

146、為表示“x大于等于y,y大于等于z”,應(yīng)使用C語言表達(dá)式(A)(2分)

A、(x>=Y)&&(Y>=z)

B、(x>=Y)AND(y>=z)C、(x>=Y>=z)

D^(x>=Y)&(Y>=z)

147、若變量已正確定義,要將a和b中的數(shù)進行交換,下面不正確的語句是(C)(2分)

A、a=a+b,b=a-b,a=a-b;B、t=a;a=b;b=t;C、a=t;t=b;b=a;D、t=b;b=a;a=t;

148以下語句charc='a';if('a'<c<='z')printf("LOW");elseprintf("UP");執(zhí)行后的結(jié)果為(A),.

A、LOWB,UPC、LOWUPD、語句錯誤,編譯不能通過

149、程序段inta=1,b=2,c=3,t;while(a<b<c){t=a;a=b;b=t;c-;}

printf("%d,%d,%d",a,b,c);的運行結(jié)果是(C)。(2分)

A、1,2,0B、2,1,0C、1,2,1D、2,1,1

150若二維數(shù)組a有m列,則在前面的元素個數(shù)為(C)。(2分)

A、j*m+iB、i*m+jC、i*m+j-lD、i*m+j+l

151、以下不正確的定義語句是(B)o(2分)

A、doublex[51={2.0,4.0,6.0,8.0,10.0};

B、inty[5]={0,1,3,5,7,9};C、charcl[]={T」2'3'4'5,);

D、charc2[]={'\xl0'\xa'\x8'};

152、若有說明:inta[][4]={0,0};則下面正確的敘述是()。(2分)

A、數(shù)組a中每個元素均可得到初值0

B,二維數(shù)組a的第一維大小為IC、因為二維數(shù)組a中第二維大小的值除以初值個數(shù)的商

為1,故數(shù)組a的行數(shù)為1D、只有元

素a⑼[0]和a⑼⑴可得到初值0,其余元素均得不到初值0

153表示指向結(jié)構(gòu)體變量的指針的運算符是(C)(2分)

A、>>B、?C、->D、:

155>若執(zhí)行以下程序段:inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(u%d,%d,%d\n”,a,b,

c);其輸出結(jié)果是(B)(2分)

A、0,0,-100,0,5C、-10,3,-10D、3,3,-10

156、程序段chara[7]="abcdef";charb[4]=wABC";strcpy(a,b);printf(a%c",a[5]);輸

出結(jié)果是(D)o(2分)

A、一個空格B、\0C、eD、f

157在C語言中,若對函數(shù)類型未加明顯式說明,則函數(shù)的隱含類型是(C)類型。(2分)

A、voiddoubleC>intD、char

158、對于某個函數(shù)調(diào)用,不用給出被調(diào)用函數(shù)的原形的情況是(C)。(2分)

A、被調(diào)用函數(shù)是無參函數(shù)

B、被調(diào)用函數(shù)是無返回值的函數(shù)C、函數(shù)的定義在調(diào)用處之前

D、函獲得的定義在別的程序文件中

159若有定義:inta[5];則對數(shù)組中首元素的地址可以表示為(C)。(2分)

5,若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是(A)(2分)

A、2.500000B、2.750000C、3.500000D、0.000000

160、以下運算符中,運算對象必須是整型的是(A)(2分)

A、/B、%=C、!=D〈=

7、若變量已正確說明為float類型,要通過語句scanf("%f%f%f",&a,&b,&c);給a賦于10.0,

b賦予22.0,c賦予33.0,不正確的輸入形式是:(B)(2分)

A、10<回車>22〈回車>33<回車〉B、10.0,22.0,33.0<回車〉C、10.0<回車>22.033.0〈回

車〉

D、1022〈回車>33<回車〉

161,若有定義:inta=3,b=2,c=l;并有表達(dá)式:①a%b,②a>b>c,③b&&c+l,④c+=l,則表達(dá)式

值相等的是(D)。(2分)

A、①和②B、②和③C、①和③D、③和④

162、在C語言中,一位數(shù)組的定義方式為:類型說明符數(shù)組名(C)o(2分)

A、[常量表達(dá)|B、整型表達(dá)式C、[整型常量]或[整型表達(dá)式]D、[整型常量]

163、若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是(A)。(2分)

A、數(shù)組的首地址B、數(shù)組第一個元素的值C、數(shù)組中全部元素的值D、數(shù)組元素的個數(shù)

164、能正確進行字符串賦值的是(B)。(2分)

A、chars[5]={'a';e','i',,o','u');

B、chars[5];s="good";C>chars[5]="abcdef";

D、chars[5];s[]="good";

165、C語言中數(shù)組名作為參數(shù)傳遞給函數(shù),作為實在參數(shù)的數(shù)組名被處理為(D)。(2分)

A、該數(shù)組的長度B、該數(shù)組的元素個數(shù)C、該數(shù)組中各元素的值D、該數(shù)組的首地址

166、已知:inta[10],*p=a;則下面說法不正確的是(C)。(2分)

A、p指向數(shù)組元素a⑼B、數(shù)組名a表示數(shù)組中第一個元素的地址

C、inta[10],*p=&a⑼;與上述語句等價

D、以上均不對

167、下列關(guān)于文件指針的描述中,錯誤的是(D)(2分)

A、文件指針是由文件類型FILE定義的。

B,文件指針是指向內(nèi)存某個單元的地址值。C、文件指針是用來對文件操作的標(biāo)識。

D、文件指針在一個程序中只能有一個。

168c語言程序能夠在不同的操作系統(tǒng)下運行,這說明C語言具有很好的(B)(2分)

A、適應(yīng)性B、移植性C、兼容性D、操作性

169、以下敘述不正確的是(D)(2分)

A、在C程序中,逗號運算符的優(yōu)先級最低

B、在C程序中,APH和aph是兩個不同的變量C、若a和b類型相同,在執(zhí)行了賦值表

達(dá)式a=b后b的值將放入a中,而b的值不變

D、當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型

數(shù)值

170、邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型可以是(D)。(2分)

A、只能是0或1B、只能是0或非0正數(shù)C、只能是整型或字符型數(shù)據(jù)

D、可以是任何類型的數(shù)據(jù)

171>設(shè)inta=3,b=4,c=5,則下面表達(dá)式中,值為0的表達(dá)式是(D)。(2分)

A、'a'&&b'B、a<=bC>allb+c*&b-cD>!((a<b)&&!clll)

172、有intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此處循環(huán)的結(jié)束條件是

(D)o(2分)

A、P的值不等于12345并且n的值小于3

B、P的值等于12345并且n的值大于等于3C、P的值不等于12345或者n的值小于3

D、P的值等于12345或者n的值大于等于3

173、一個完整的C源程序是(B)。(2分)

A、要由一個主函數(shù)(或)一個以上的非主函數(shù)構(gòu)成

B、由一個且僅由一個主函數(shù)和零個以上(含零)的非主函數(shù)構(gòu)成

C、要由一個主函數(shù)和一個以上的非主函數(shù)構(gòu)成

D、由一個且只有一個主函數(shù)或多個非主函數(shù)構(gòu)成

174、在C語言中,若需一變量只在本文件中所有函數(shù)使用,則該變量的存儲類別是(C)。(2

分)

A、externB、registerC>autoD、static

175>已知:chars[10],*p=s;則在下列語句中,錯誤的語句是(B)。(2分)

A、p=s+5;B、s=p+s;C、s[2]=p[4J;D、*p=s[0];

1'76、以“w+”方式打開一個文件,下列描述中正確的是(B)(2分)

A、被打開的文件一定要存在。

B、被打開的文件既可以寫又可以讀。C、被打開的文件內(nèi)容不被刪除。

D、被打開的文件可以是文本文件,也可以是二進制文件或其它類型的文件。

B、8C、6

D、2

177、在C語言中,int型數(shù)據(jù)在內(nèi)存中是以(B)形式存儲的。(

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論