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

下載本文檔

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

文檔簡介

計算機二級C語言內(nèi)部押題下載

第一部分:選擇題(40分,20小題/套)

概述

1、下面關(guān)于C語言的敘述中,正確的是()

A.每行只能寫一條語句B.程序中必須包含

有輸入語句

C.main函數(shù)必須位于文件的開頭D.每條語句最后必

須有一個分號

2、下面關(guān)于C語言的敘述中,錯誤的是()

A.若一條語句較長,也可分寫在下一行上

B.構(gòu)成C語言源程序的基本單位是表達式

C.C語言源程序中大、小寫字母是有區(qū)別的

D.一個C語言源程序可由一個或多個函數(shù)組成

3、關(guān)于C語言數(shù)據(jù)類型的敘述,正確的是()

A.枚舉類型不是基本類型B.數(shù)組不是構(gòu)造類型

C.變量必須先定義后使用D.不允許使用空類型

4、C程序中main函數(shù)的位置。

A.必須在最開始B.必須在系統(tǒng)庫函數(shù)后面

C.可以在自定義函數(shù)后面D,必須在最后

5、C語言的函數(shù)體由()括起來

A.()B.{}C.[]

6、關(guān)于C語言的敘述中,不正確的是()

A.C程序可由一個或多個函數(shù)組成B.C程序必須包含

一個main()函數(shù)

C.C程序的基本組成單位是函數(shù)D.注釋說明只能

位于一條語句的后面

7、一個程序的執(zhí)行是從()

A.本程序的第一個函數(shù)開始,到最后一個函數(shù)結(jié)束

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

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

D.本程序的第一個函數(shù)開始,到main函數(shù)結(jié)束

8、結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)是()

A.函數(shù)結(jié)構(gòu)、分支結(jié)構(gòu)、判斷結(jié)構(gòu)B.函數(shù)結(jié)構(gòu)、

嵌套結(jié)構(gòu)、平行結(jié)構(gòu)

C.順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)D.分支結(jié)構(gòu)、

循環(huán)結(jié)構(gòu)、嵌套結(jié)構(gòu)

9、調(diào)試程序是指對程序進行()

A.編輯B.編譯C.查錯和排錯D.連接

10、C語言中,復合語句的構(gòu)成是將一系列語句置于。

A.begin與end之間B.一對圓括號"()"之間

C.一對花括號“{}”之間D.一對方括號“口”之間

11、構(gòu)成C語言源程序的基本單位是()

A.語句B.過程C.表達式D.函數(shù)

語法基礎(chǔ)

12、在C語言中,正確的用戶標識符是()

A.3fB._forC.structD._f.5

13、C語言的基本數(shù)據(jù)類型包括()

A.整型、實型、字符型B.整型、實型、字

符型、邏輯型

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

輯型

14、以下()是正確的常量

A.E-5B.1E5.1C.匕12'D.

32766L

15、以下()是正確的變量名

A.a.beeB.-pllC.intD.p_H

16、以下()是正確的字符常量

A.“c"B.C.,W'D."\32a”

17、以下()是不正確的字符串常量

A.匕be'C.“0”

18、C語言的整型數(shù)據(jù)在內(nèi)存中的存儲形式是()

A.原碼B.反碼C.補碼D.ASCII

19、以下()是正確的浮點數(shù)

A.e3B..62C.2e4.5D.123

20、下列不屬于C語言關(guān)鍵字的是()

A.continueB.integerC.staticD.

signed

21、C語言的字符型數(shù)據(jù)在內(nèi)存中的存儲形式是()

A.原碼B.補碼C.反碼D.ASCII

22、在C語言中,變量所分配的內(nèi)存空間大小是()

A.由變量的類型決定B.由用戶自己決定

C.任意的D.均為兩個字節(jié)

23、若有定義:inta=2;則正確的賦值表達式是()

A.a?=(a*3)B.double(-l)C.a*3D.

a*4=3

24、語句x=(a=3,b=++a);運行后,x、a、b的值依次為()

A.3,3,4B.4,4,3C.4,4,4D.3,4,3

25、語句a=(3/4)+3%2;運行后,a的值為()

A.OB.1C.2D.3

26、以下四項中,符合C語言語法的語句是()

A.inta+b=c;B.inta=12:b=12:c=12;

C.inta=12,b=12,c=12;D.inta9b=12,floatc=21

27、若有定義:intx,a;則語句x=(a=3,a+l);運行后,x、a

的值依次為()

A.3,3B.4,4C.4,3D.3,4

28、若變量已正確定義并賦值,符合C語言語法的表達式是

()

A.a=8+b+c,a++B.a=3aC.int(12.3%4)

D.a=a+l=c+b

29、若有定義:inta,b;doublex;則以下不符合C語言語

法的表達式是()

A.x%(-3)B.a+=-lC.a=b=2D.

x=a+b

30、若有定義:intx=2,y=3;floati;則以下符合C語言語

法的表達式是()

A.x=x*3=2B.x=(y==l)C.i=float(x)

D.i%(-3)

31、若有定義:intx;則語句x=(2*3)+6%5;運行后,x的

值是()

A.8B.7C.6D.5

32、下面關(guān)于C語言變量的敘述中,錯誤的是()

A.可以用const關(guān)鍵字定義變量B.在C程序中,

SUM和sum是不同的變量

C.變量名必須由字母或下劃線組成D.變量的類型

確定了變量的取值范圍

33、若有定義:intx=5,y=6;則表達式x=(y==6)的值為()

A.5B.1C.6D.0

34、下面敘述正確的是()

A.2/3與2.0/3.0等價B.(int)2.0/3與2/3等價

C.++5與6等價D?W與“A”等價

35、下面敘述中,錯誤的是()

A.C語言基本的算術(shù)運算符不包含模運算符"%”

B.算術(shù)運算符的優(yōu)先級高于關(guān)系運算符

C.自加和自減運算符的結(jié)合方向是力自右向左”

D.C語言規(guī)定在表達式求值時,按其中運算符的優(yōu)先級先高

后低的次序進行

36、下面敘述正確的是()

A.強制類型轉(zhuǎn)換運算的優(yōu)先級高于算術(shù)運算B.若a和b

是整型變量,(a+b)++是合法的

C.是不合法的D.

是合法的

37、若有定義:inti=lj=5;則表達式(++j)*(i??)的值為()

A.1B.OC.6D.7

38、設(shè)整型變量a為5,使b不為2的表達式是()

A.b=(++a)/3B.b=6-(-a)C.b=a%2

D.b=a/2

39、若有定義:inta=l,b=2,c=3;貝!J語句++a||++b&&++c;運行

后b的值為()

A.1B.OC.2D.3

40、若有定義:inti,j;則表達式(i=2j=5,i++,i+j++)的值是。

A.7B.8C.9D.10

41、若有定義:inta,b;則表達式(a=2,b=5,a*2,b++,a+b)的值是()

A.7B.8C.9D.10

42、若有定義:inti=21=5;則表達式(i+lj+l,(++i+(j??))的值

為。

A.8B.6C.7D.5

43、若已定義:inti=3,k;則語句k=(i??)+(i??);運行后k的值

為。

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

44、C語言的運算符按運算對象的個數(shù)可以分為()

A.單目運算符一種B.單目和雙目運算符

C.單目、雙目和三目運算符D.單目、雙目、三目和

四目運算符

45、若已定義:floatm;擬從鍵盤輸入135.78這一數(shù)據(jù)給變

量m,則應選用的語句是()

A.scanf(u%5.2fm);B.scanf(u%3.2f\&m);

C.scanf(u%6.2f\&m);D.scanf(u%6f\&m);

46、已知doublea;使用scanf()函數(shù)輸入一個數(shù)值給變量a,

正確的函數(shù)調(diào)用是()

A.scanf(u%ld^&a);B.scanf(u%lf\&a);

C?scanf("%c”,&a);D.scanf(“%u”,&a);

47、已知chara;使用scanf()函數(shù)輸入一個字符給變量a,不

正確的函數(shù)調(diào)用是()

A.scanf(“%d”,&a);B.scanf(u%lf\&a);

C.scanf(“%c”,&a);D.scanfC%u9\&a);

48、putchar。函數(shù)的功能是向終端輸出()

A.多個字符B.一個字符C.一個實型變量

值D.一個整型變量表達式

49、以下程序段運行后的輸出結(jié)果是()

intk=ll;

printf(uk=%d,k=%o,k=%x\n,\k,k,k);

A.k=ll,k=13,k=cB.k=ll,k=12,k=13

C.k=ll,k=13,k=bD.k=ll,k=13,k=a

50、若有定義:intx=1234,y=123,z=12;則語句

printf(“%4d+%3d+%2d”,x,y,z);運行后的輸出結(jié)果為()

A.123412312B.12341234123412341231231231212

C.1234+1234+1234D.1234+123+12

51、已有如下定義和輸入語句,

inta;charcl,c2;

n

scanf(%d%c%c*\&a9&cl,&c2);

若要求a、cl、c2的值分別為10、A和B,正確的數(shù)據(jù)

輸入是。

A.10ABB.10ABC.10ABD.

10AB

52、以下程序段的運行結(jié)果是()

inta=0,b=0,c=0;

if(a&&++b)

C++;

printf(“%d,%d%”,b,c);

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

53、以下程序的運行結(jié)果是()

voidmain()

(

inta=65;

charc='A';

printf(“%x,%d”,b,c);

)

A.65,aB.41,aC.65,65D.41,65

54、若已定義:inta=5;floatb=63.72;以下語句中能輸出正確

值的是。

A.printf(u%d%d9\a,b);B.printf(u%d%2f\a,b);

C.printfC6%2f%2f\a,b);D.printf(u%2f%d,;a,b);

55、運行以下程序段時編譯出錯,其原因是()

charcl=,8\c2=,2008,;

printf(H%c,%d\nH,cl,c2);

A.c2是字符變量,只能賦以字符常量,不能賦以字符串常

B.字符串要用“2008”表示,而'2008'不是字符串表示

C.”008,只能賦值給字符數(shù)組

D.字符變量不能用%(1格式輸出

56、若已定義:inta=3,b=15,c;貝!|語句c=a>b;運行后c的值

為。

A.1B.OC.tD.f

57、在C語言中,判定邏輯值為“真”的最正確的敘述是。

A.1B.非0的數(shù)C.大于0的數(shù)D.

非0的整數(shù)

58、若已定義:iIlta=?36,b=?30,c;則語句c=avb;運行后c的

值為()

A.1B.tC.OD.f

59、能正確表示數(shù)學關(guān)系式800>=y>=500的C語言表達式

為()

A.(y<=800)&&(y>=500)B.(y<=800)

AND(y>=500)

C.800>=y>=500D.(y<=800)

&{y>=500)

60、若有定義:intx=3,y=4;則表達式!x||y的值為()

A.1B.OC.3D.4

61、若有定義:inti=7j=8;則表達式i>=j||ivj的值為。

A.1B.變量i的值C.0D.變量j的

62、若希望當a的值為奇數(shù)時,表達式的值為“真”,a的值

為偶數(shù)時,表達式的值為"假“。則不能滿足要求的表達式是

()

A.a%2==lB.!(a%2==0)C.!(a%2)

D.a%2

63、若有定義:intx=3,y=4,z=5;則值為0的表達式是()

A.&&yB.x<=y

C.x||y+z&&y-zD.!((x<y)&&!z||l)

64、若有定義:inta=5,b=2,c=l;則表達式a-b<c||b==c的值

是()

A.OB.1C.3D.-1

65、C語言中,能正確表示條件10<x<20的邏輯表達式是()

A.10<x<20B.x>10||x<20C.x>10&&<20

D.(x>10)&&(x<20)

66、以下運算符中優(yōu)先級最低的是()

A.?B.&C.?D.|

67、已知doublea=5.2;則正確的賦值表達式是。

A.a+=a-=(a=4)*(a=3)B.a=a*3=2

C.a%3D.a=double(-2)

68、已知chara=,R;則正確的賦值表達式是()

A.a=(a++)%4B.a+2=3C.a+=256—

D.a=,\078,

69、已知inta=,R,;則正確的表達式是()

A.a%10B.a=int(3e2)C.2*a=a++D.

a=a+a=a+3

70、設(shè)有語句floatx=3.0,y=3.0;使x值為6.0的表達式是()

A.x*=y-4B.x*=yC.x=y+4D.x+=y

71、若有定義:floatx=3.5,intz=8;則表達式x+z%3/4的值為

()

A.3o75B.3.5C.3D.4

72、設(shè)有語句intx=3,y=3,a=l,b=2;表達式(x=a>b)&&

(y=b>a)的值是()

A.8B.1C.5D.O

73、若有定義:inta=2,b=3;floatx=3.5,y=2.5;

貝!J表達式(float)(a+b)/2+(int)x%(int)y的值是()

A.3.5B.3.0C.2.5D.2.0

74>若有定義:intb=7;floata=2.5,c=4.7;則表達式

a+(b/2*(int)(a+c)/2)%4的值是()

A.2.5B.3.5C.4.5D.5.5

75>若有定義:inta=6,b=2;charcl=,a\c2=b;則表達式

a+b%5+c2-cl的值是()

A.7B.8C.9D.表達式錯誤

76、在下列運算符中,優(yōu)先級最高的運算符是。

A.<=B.!=C.!D.||

77>設(shè)有定義:charc;floatf;int"unsignedu;doubled;下歹(J

各表達式的類型分別是()

1.u+92.D!=f&&(i+2)3.8.2*i+c

A.1.unsigned,2?int,3?double

B.l.double92.double,3?double

C.,2.double,3.char

D.l.unsigned,2.double,3*int

控制結(jié)構(gòu)

78、以下程序段運行時,若從鍵盤輸入10,則輸出結(jié)果是()

inta;

scanf("%d",&a);

if(a++>10)

printf(“%d%”,a);

printf(u%d\n5\+4-a);

A.2B.11C.3D.12

79、以下程序的運行結(jié)果是()

voidmain()

(

intx,y=l,z;

z=-l;

if(z==0)

z=-z;

else

x=y>0?3:5;

printf(u%d\n5\x);

}

A.-lB.3C.1D.5

80、對于整型變量x,下屬if語句()與賦值語句:

x=x%2==0?l:0;不等價。

A.if(x%2!=0)x=0;elsex=l;B.if(x%2)x=l;elsex=0;

C.if(x%2==0)x=l;elsex=0;D.if(x%2==l)x=0;else

x=l;

81、以下程序段運行的結(jié)果是()

inta,b,c,x;

a=b=c=0;x=15;

if(!a)x—;

elself(b);

if(c)x=3;

else

x+=4;

printf(H%d\nH,x);

A.15B.17C.18D.19

82若有定義:inta=l,b=2,c=3;則執(zhí)行以下程序段后a,b,c

的值分別為()

if(a<b)

{c=a;a=b;b=c;}

A.a=l,b=2,c=3

B.a=2,b=3,c=l

C.a=2,b=3,c=3

D.a=2,b=l,c=l

83、以下程序段運行后變量a的值為()

intx=6,y=5;

inta;

a=(—x==y++)?x:y+l

A.OB.1C.6D.5

84、以下程序的運行結(jié)果是()

voidmain()

(

intn=,e,;

switch(n-)

defalut:printf(uerror");

case'a’:

case'b':printf(“good");break;

case'c':printf(“pass”);

case,d':printf(“wani");

)

)

A.errorB.goodC.errorgoodD.warn

85、以下程序的運行結(jié)果是()

voidmain()

(

intn='c';

switch(n++)

(

defalut:printf(uerror^);

case'a':

case'b':printf(“good");break;

case‘c':priiitf(“pass”);

case,d':printf(“warn”);

)

)

A.passB.warnC.passwarnD.error

86、以下程序的運行結(jié)果是()

voidmain()

(

intn=5;

if(n++>6)

printf(w%d\n5\n);

else

printf(u%d\n5\-H-n);

}

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

87、下面關(guān)于switch語句的敘述中,錯誤的是()

A.case后面的表達式可以是關(guān)系表達式

B.switch語句是多分支選擇語句

C.每一個case后面的值必須互不相同,否則會出現(xiàn)矛盾的

現(xiàn)象

D.在執(zhí)行一個case分支后,可用一個break語句使流程跳

出switch語句

88、若有定義:inta=l,b=2,c=3;則以下程序段運行后c的值

為。

if(a>b)

c=a*b;

else

c=a-b;

A.2B.OC.1D.-1

89、若有定義:intx;以下不會產(chǎn)生死循環(huán)的是()

A.for(;(x=getchar())!=,\n,;);B.while(l){x++;}

C.for(i=10;;i++);D.for(;;x+=l);

90、在循環(huán)語句的循環(huán)體中,break語句的作用是()

A.暫停程序的運行B.結(jié)束本次循環(huán)

C.繼續(xù)執(zhí)行break語句之后的循環(huán)體各語句

D.提前結(jié)束循環(huán),接著執(zhí)行該循環(huán)后續(xù)的語句

91、以下程序段運行后,循環(huán)體中的“coimt+=2;”語句運行

的次數(shù)為。

intij,cuont=0;

for(i=l;i<=4;i++)

(

count+=2;

printf(w%dw,count);

)

A.4次B.10次C.16次D.20次

92、在c語言中while循環(huán)和do-while循環(huán)的主要區(qū)別是()

A.do?while循環(huán)體內(nèi)可以使用break語句,while循環(huán)體內(nèi)

不能使用break語句

B.do-while的循環(huán)體至少無條件執(zhí)行一次,while的循環(huán)體

不是

C.do-while循環(huán)體可以使用continue語句,while循環(huán)體內(nèi)

不能使用continue語句

D.while的循環(huán)體至少無條件執(zhí)行一次,do-while的循環(huán)體

不是

93、以下程序段運行后,循環(huán)體運行的次數(shù)為()

inti=0,x;

for(;i<10;i++)x=x+i;

A.10B.OC.1D.無限

94、以下程序段運行后變量n的值為()

inti=l,n=l;

for(;l<3;i++)

{continue;n=n+i;}

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

95、有以下程序:

voidmain()

{

inti;

for(i=0;i<3;i++)

switch(i)

case1:printf(tt%d^J);

case2:printf(w%d,,,i);

case3:printf(tt%d9,,i);

)

}

執(zhí)行后輸出的結(jié)果是()

A.11122B.01222C.013020D.120

96、以下程序的運行結(jié)果是()

voidmain()

(

intsum=03tem=0;

while(item<5)

(

item++;

sum+=item;

if(sum>=6)

break;

}

printf("%d\n”,siim);

)

A.10B.15C.6D.7

97、以下程序的運行結(jié)果是()

voinmain()

(

intsum=0,item=0;

while(item<5)

(

item++;

if(item==2)

continue;

sum+=item;

}

printf(“%d\n”,sum);

)

A.10B.13C.15D.1

98、以下程序段執(zhí)行后變量sum的值為()

intij=l,sum=0;

for(i=l,i<=3,i++)

(

sum+=j;

j++;

)

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

99、以下程序的運行結(jié)果是()

#include<studio.h>

main()

(

inty=10;

do

{y-;}

while(-y);

printf(n%d\n\y-);

}

A.1B.2C.-lD.O

數(shù)組

100、c語言中數(shù)組元素下標的數(shù)據(jù)類型是。

A.實型常量B.整型常量或整型表達式

C.任何類型的表達式D.字符型常量

101、下列數(shù)組定義中,正確的是。

A.inta[10];

B.intn=10,a[n];

C.intN=10;inta[N];

D.intn;scanf(u%d5\&n);inta[n];

102、若已定義:inta[13];則不能正確引用a數(shù)組的元素的

是。

A.a[0]B.a[10]C.a[10+3]D.a[13-5]

103、若有定義:inta[3]={(M,2};則的值為()

A.OB.1C.2D.3

104、若有定義:inta[5]={l,2,3,4,5};

則語句a[l]=a⑵+a[2+2]?a[3?l];運行后a[l]的值為()

A.6B.5C.1D.2

105、以下合法的數(shù)組定義是()

A.intan="string”;B.inta[5]={(M23,4,5};

C.chara口二{0,123,4,5};D.chars={"string”};

106、若有如下程序段:

chars[10];

s="abcd”;

priiUf("%s\n",s);

貝IIOo

A.執(zhí)行時輸出:abedB.執(zhí)行時輸出:a

C.執(zhí)行時輸出:abD.編譯不通過

107.下面程序段的運行結(jié)果是()

inti=0,a[]={7,5,7,3,8,3};

do{

a[i]+=2;

}while(a[++i]>5);

for(i=0;i<6;i++)

printf(H%dH,a[i]);

A.9795105

B.9593103

C.957383

D.757383

108、下面程序段的運行結(jié)果是()

inti=0,a[]={l,2,3,4,5);

do{

a[i]+=10;

}while(a[++i]>2);

for(i=0;i<5;i++)

printf(n%d,\a[i]);

A.112345B.12345C.1112131415

D.1112345

109、西面關(guān)于數(shù)組的敘述中,正確的是()

A.數(shù)組必須先定義,然后使用

B.定義數(shù)組時,可不加類型說明符

C.定義數(shù)組后,可通過賦值運算符對該數(shù)組名直接賦

D.在數(shù)據(jù)類型中,數(shù)組屬于基本類型

110、一下程序段的運行結(jié)果是()

inti=0,a[]={6,5,3?7};

do

a[i]++;

}while(a[i]<4);

for(i=0;i<4;i++)printf(n%dn,a[i]);

A.6537B.7563C.7537D.5673

111、有如下程序段:

inttnr31={l,2,3,4,5,6,7,8,9,10,11,12};

printf(n%d\n\t[2][l]);

則執(zhí)行該程序段后輸出結(jié)果是()

A.8B.7C.4D.2

112、以下程序段運行后s的值是()

inta[3][3]={l,2,3,l,2,3,l,2,3};

intij,s=l;

for(i=0;i<3;i++)

for(j=i;j<3;j++)s*=a[i][j];

A.18B.108C.2D.12

113、以下不能對二維數(shù)組arr進行正確初始化的語句是()

A.intarr[2][3]={0};B.int

arr[][3]={l,2,3,4,5);

C.intarr[2][3]={{l,2},{3,4},{5,6}};D.int

arr[2][3]={{l},{3A5}};

114、若有定義:皿3[3][4]={{1,2},{0},{1,2,3}};則就1][1]的值

為。

A.OB.{1,2}C.1D.3

115、若有定義:inta[3][3];則表達式&a⑵口卜a的值為()

A.7B.8C.6D.9

116、若有定義:inti=O,x=O;int如3][3]={1,2,3,4,5,6,7,8,9};貝!!

以下程序段運行后x的值為()

for(;i<3;i++)x+=a[i][2-il;

A.OB.12C.15D.18

117、若有定義inta⑵網(wǎng);則對數(shù)組元素的非法引用的是()

A.3[0][1/2]B.a[l][l]C.a[4-4][0]D.

a[0][3]

118、以下數(shù)組定義中,正確的是()

A.inta⑵口={1,2,3,4,5};B.inta[][2]={{0},{}};

C.inta[2][2]={{l,2},{3}};D.inta[][]={l,2,3,4);

119>若有定義inta口[3]={1,2,3,4,5,6,7,8,9};貝()表達式

sizeof(a)/sizeof(a[0])的值為()

A.3B.4C.5D.9

120、以下程序段運行后s的值是。

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

intij,s=l;

for(i=0;i<3;i++)

for(j=i+l;j<3;j++)

s*=a[i][j];

A.6B.120C.24D.480

121、設(shè)已定義:inta口[4]={0,0};則下列描述錯誤的是O

A.數(shù)組a的每個元素都可得到初值0B.二維數(shù)組a

的第一維大小為1

C.數(shù)組a的行數(shù)為1

D.只有元素a[0][0]和可得到初值0,其余元素均得

不到初值0

122、設(shè)已定義:charstrl[10],str2[10]=wFujianw;則能將字

符串”Fujian”賦給數(shù)組strl的正確語句是。

A.strl=5,Fujian?,B.strcpy(strl,str2);C.

strcpy(str2,strl);D,strl=str2;

123、有如下定義:charstr[3北2]={};則語

句:printfC%s\str[0]);的輸出結(jié)果是()

A.abB.abcefC.abc\0D.abc

124、設(shè)有如下數(shù)組定義;charstr[8]={"Fujian”};則分配給

數(shù)組str的存儲空間是()字節(jié)

A.6B.7C.8D.9

125、若有定義:chara[]=nabcdefn;charb[]="xyz”;則以下

程序段運行后屏幕輸出為()

strcpy(a,b);

printf(H%cn,a[2]);

A.cB.zC.\0D.d

126、以下程序段運行后屏幕輸出為。

chara[]=nabc\OmisH;

printf(H%dH,strlen(a));

A.5B.8C.3D.4

127>若有定義:inta=2;則語句a=strcmp(nmissn,nmissn);

運行后a的值為()

A.1B.OC.-lD.2

128、以下對C語言字符數(shù)組描述中,正確的是()

A.可以用length函數(shù)計算字符數(shù)組中字符串的長度

B.可以在賦值語句中通過賦值運算符』”對字符數(shù)組整體

賦值

C.存放在字符數(shù)組中的字符串,以八0,作為該字符串結(jié)束標

D.字符數(shù)組只能存放字符串,不能存放字符

129、以下程序段運行后屏幕輸出為()

charstr[80];

strcpy(str,nhellon);

printf(H%dH,strlen(str));

A.5B.6C.7D.80

130>若有定義:charstrl[6]=nabcdmn,*ps,*str2=nabcdefn;

則()是正確的

A.strcpy(strl,str2);B.表達式strcmp(strl,str2)的值

大于0

C.strl=str2;D.表達式strlen(strl)的值為6

131、已有定義:char§111[15]={“1111%0儂甲'},在2[15];則以

下語句中正確的是()

A.str2=strl;B.str2=,,college,5;C.

scanf(“%s”,&str2);D.printf(“%s”,strl);

132、設(shè)已定義:charsl|20|=,,Youare”,s2[9]="welcome!”;

若要形成字符串"Youarewelcome!”,正確的語句是()

A.strcat(sl,s2);B.strcpy(sl,s2);C.sl+s2;

D.sl&s2

函數(shù)

133、在C語言中,數(shù)組名作為函數(shù)調(diào)用的實參時,傳遞給

形參的是()

A.數(shù)組元素的個數(shù)B.數(shù)組的第一個元素值

C.數(shù)組中全部元素的值D.數(shù)組的首地址

134、以下程序的運行結(jié)果是。

intfun(intarray[4][4])

intj;

for(j=0;j<4;j++)printfC^ldH,array[2][j]);

printf(u\nn);

}

main()

(

inta[4][4]={0,1,2,00,0,0,4,2,0,0,5,0,4,5,0};

fun(a);

)

A.2005B.1004C.0120D.045

0

135、C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含

的類型是。

A.float型B.long型C.int型D.

double型

136、以下程序運行后屏幕輸出為()

#include<studio.h>

intf(intx,inty)

{

return(x+y);

)

main()

inta=2,b=3,c;

c=f(a,b);

printf(n%d+%d=%d\n”,a,b,c);

)

A.0B.2+3=5C.2+3=0D.3+2=5

137、以下程序運行后屏幕輸出為。

#include<stdio.h>

inta=2,b=3;

intmax(inta,intb)

(

intc;

c=a>b?a:b;

return(c);

)

main()

(

inta=4;

printf(n%dM,max(a,b));

}

A.3,2B.2C.3D.4

138、以下程序的運行結(jié)果是()

fun(inti)

inta=2;

a=i++;

printf(n%dn,a);

}

main()

(

inta=5,c=3;

fun(c);

printf(n%dn,a);

)

A.45B.35C.44D.33

139、若有如下函數(shù)定義:

intfun()

(

staticintk=0;

return++k;

}

以下程序段運行后屏幕輸出為()

inti;

for(i=l;i<=5;i++)fun();

printf(n%dn,fun());

A.OB.1C.5D.6

140、下面程序的輸出結(jié)果是:()

#include<stdio.h>

intglobal=100;

fun()

(

intglobal=5;

return++global;

}

voidmain()

(

printf(n%d\n\fun());

)

A.100B.101C.5D.6

141、下列關(guān)于C語言函數(shù)的描述中,正確的是()

A.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套

B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

C.函數(shù)的定義和函數(shù)的調(diào)用都可以嵌套

D.函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套

142、以下程序的運行結(jié)果是()

fun(intx,inty)

intz;

z=(x<y)?(x+y):(x-y);

return(z);

)

main()

(

inta=10,b=6;

printf(n%d\n\fun(a,b));

}

A.4B.6C.10D.6

143、以下程序運行結(jié)果是()

voidmain()

(

intmin(floatx,floaty);

floata=-7.9,b=-6.3;

intc;

c=min(a,b);

printf(n%d\n\c);

)

intmin(floatx,floaty)

floatz;

if(x>y)z=y;

elsez=x;

return(z);

)

A.-7.9B.-7C.-6.3D.-6

144、以下程序的運行結(jié)果是()

#defineM(a,b)a*b

main()

(

intx=3,y=2,sl,s2;

sl=M(x+y,x-y);

s2=M(x-y,x+y);

printf(M%d,%d\nH,sl,s2);

)

A.-1,7B.5,5C.7,4D.5,-5

145、以下敘述中,正確的是()

A.#definePRICE=30w定義了與30等價的符號常量

PRICE

B.預編譯處理命令行都必須以“產(chǎn)開頭

C.程序中使用帶參的宏時,參數(shù)類型要與宏定義時一致

D.宏名只能包含大寫字母和數(shù)字字符

146、以下敘述中,正確的是()

A.宏展開不占用運行空間,只占用編譯時間

B.預編譯處理命令行必須以分號結(jié)束

C.一個源程序只能有一個預編譯處理命令行

D.使用帶參數(shù)的宏定義時,應該說明每個參數(shù)的數(shù)據(jù)類型

147、以下的敘述中不正確的是()

A.宏展開不占用運行時間,只占用編譯時間B,宏

名無類型

C.宏名必須用大寫字母表示D.預

處理命令行都必須以#號開始

148、若有定義:#definePI3,在表達式PI*2*2的值為()

A.12B.4C.3D.不確定

149、以下程序運行后,屏幕輸出為()

#defineMIN(a,b)((a)<(b)?(a):(b))

main()

(

intx=2,y=3,z;

z=2*MIN(x,y);

prmtf(n%d*\z);

}

A.2B.3C.4D.6

150、下列include命令中,正確的是()

A.#inclue[string.h]B.#include{string.h}

C.#include(string.h)D.#include<string.h>

151、下面程序的輸出結(jié)果是()

#include<stdio.h>

#defineONE1

#defineTWOONE+1

#defineTHREETWO+1

voidmain()

(

printf(n%d\n\THREE-ONE);

}

A.產(chǎn)生錯誤B.1C.2D.3

152、以下敘述中正確的是()

A.預處理命令行必須位于C源程序的起始位置

B.在C語言中,預處理命令行都以沖”開頭

C.每個C程序必須在開頭包含預處理命令行:

#include<stdio.h>

D.C語言的預處理只能實現(xiàn)宏定義和條件編譯的功能

153、以下程序的運行結(jié)果是()

#defineADD(x)x+x

main()

intm=l,n=2,k;

k=ADD(m+n)*3;

printf(H%dH,k);

A.9B.10C.12D.18

154、下面程序的運行結(jié)果是()

#defineM10

#defineS(x)x*x

#defineF(x)(x*x)

main()

(

intnl9n2;

nl=1000/S(M);

n2=1000/F(M);

printf(M%d,%d\nH,nl,n2);

)

A.10,10B.1000,10C.10,1000D.

1000,1000

指針

155、設(shè)有以下語句,則()是對a數(shù)組元素的不正確引用,

其中0<=i<10o

inta[10]={0,l,2,3,4,5,6,7,8,9},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.

*(*(a+i))

156、若有定義int*pl,*p2;則指針變量pl、p2不能進行運

算的是O

A.<B.=C.+D.-

157、以下關(guān)于指針概念的敘述中,錯誤的是()

A.一個指針變量只能指向同一類型的變量B.一個變

量的地址稱為該變量的指針

C.兩個同類型的指針變量可以作加減運算

D.任何指針變量都可以與空指針NULL進行比較

158、以下程序段運行后*(p+3)的值為()

chara[]="good”;

char*p;

P=a;

A.dB.,\(FC.存放d的地址D.,(T

159、以下程序段運行后*(++p)的值為()

chara[5]="work";

char*p;

P=a;

A?WB.存放,w,的地址C.UD.存

放Q的地址

160、若有定義:int*p,a=4;p=&a;則以下均代表地址的是()

A.a9pB.&a,pC.&a,*pD.a,*p

161、若有說明語句:double*p,a;則能通過scanf語句正確

給輸入項讀入數(shù)據(jù)的程序段是。

A.^p=&a;scanf(u%If\p);B.

*p=&a;scanf(u%lf\*p);

C.p=&a,scanf(w%IPVp);D.p=&a;scanf(u%lf\p);

162、若已定義:intx=12;對①int*p=&x;和②*p=x;這兩條

語句的正確理解是。

A.語句①是在對指針變量p定義時初始化,使p指向x;而

語句②是將變量x的值賦給指針變量p所指向的變量

B.語句①和②中的*p含義相同,都表示給指針變量賦值

C.語句①是在對指針變量p定義時初始化,使p指向x;而

語句②是將變量x的值賦給指針變量p

D.語句①和②的執(zhí)行結(jié)果都是把變量x的地址賦給指針變

量P

163、下面語句正確的是()

A.int*p;*p=20B.char

*s=^abcdef,;printf(u%s\n,\s);

C.charstr[]="abcd”;str++;D.char

str[]={6a,/b,/c5};printf(w%s,\str);

164、若有定義inta[2][3],*p=a;則以下不能表示數(shù)組元素

a[l]⑵的是()

A.*(a[l]+2)B.*(p[l]+2)C.p[5]D.

*(p+5)

165>若已定義:int4=5k;且p=&a;則以下表示中不正確的

是()

A.&(*p)==&aB.*(&a)==aC.&(*p)==p

D.*(p++)==a++

166、若有以下程序段,其中0v=iv4,0<=j<3,則不能正確

訪問a數(shù)組元素的是。

intij,(*p)[3];

inta[][3]={l,23,4,5,6,7,8,9,10,ll,12};

P=a;

A.*(*(a+i)+j)B.p[i]U]C?(*(p+i))[j]

D.p[i]+j

167、以下程序段的運行結(jié)果是()

intx[]={2,345,6,7},*p二x;

inti,s=O;

for(i=l;i<6;i++)s+=p[i++];

printf(n%d,\s);

A.12B.15C.25D.27

168、下面程序的運行結(jié)果是()

main()

intx=36,y=63;

int

p=&x;q=&y;

t=P;

P=q;

q=t;

printf(n%d,%d\nn,x,y);

)

A.36,36B.63,63C.36,63D.63,36

169、以下程序段運行后x的值為。

inta[]={l,2,3,4,5,6,7};

inti,x,*p;

x=l;

p=&a⑵;

for(i=0;i<3;i++)

x*=*(p+i);

A.不確定B.24C.120D.60

170、以下程序段運行后x的值為。

inta[]={l,2,3},b[]={4,2,5);

int*p,*q;

inti,x;

p=a;q=b;

for(i=0;i<3;i++)

if(*(p+i)==*(q+i))

x=*(p+i)*2;

A.2B.4C.5D.不確定

171、以下程序運行結(jié)果是()

main()

(

chara[]=n1357n^p;

for(p=a;p<a+4;p++)

printf(M%sH,p);

)

A.1357B.1357357577C.7531D.

7531531311

172、下面程序的輸出結(jié)果是()

#include<stdio.h>

voidmain()

inti;

char*s=''abc";

for(i=0;i<3;i++)

printf(H%s\n,r,s+i);

}

A.abc

be

c

B.c

be

abc

C.abc

c

be

D.a

ab

abc

173、下面程序的輸出結(jié)果是()

#include<stdio.h>

voidmain()

(

char*str=1*123451\*ps=str+4;

printf(H%c\n*\ps[-4]);

)

A.1B.2C.3D.錯誤

174、以下程序執(zhí)行時,輸入12345V回車〉,輸出為()

#include<stdio.h>

#defineN5

voidmain()

{

inta[N];

int*p=a;

while(p<a+N)

scanf(n%dn,p++);

while(p>a)

printf(H%dH,*(-p));

}

A.54321B.12345C.23451D.43

215

175.以下程序段的運行結(jié)果是()

intx[]={2,3,4,5,6,7},*p=x;

inti,s=0;

for(i=l;i<6;i+=2)s+=*(p+i);3+5+7

printf(H%dn,s);

A.27B.25C.12D.15

176.以下程序運行結(jié)果()

main()

inta[]={9,8,7,6,5,4},*p,*q,i;

p=a;q=p+5;

for(i=0;i<6;i++)

printf(H%d%dn*(p+i),*(q-i));

)

A.948576675849B.948576C.495867

D.495867768594

結(jié)構(gòu)體和共用體

177.以下程序段的運行結(jié)果()

union

(

intnum;

charstr[2];

)s;

s.num=20;

s.str[O]='A';

s.str[l]=,\O,;

printf(H%dH,s.num);

A.20B.65C.OD.A

178.定義一個結(jié)構(gòu)體變量后,該變量所占內(nèi)存大小是()

A.結(jié)構(gòu)體中第一個成員所需內(nèi)存容量B.結(jié)構(gòu)體中最后一

個成員所需內(nèi)存容量

C.結(jié)構(gòu)體中各成員所需內(nèi)存容量總和D.結(jié)構(gòu)體成員中占

內(nèi)存容量最大者所需的容量

179.設(shè)有如下定義:

unionu_type

(

intx;

floaty;

doublez;

charm;

}a,b,c;

執(zhí)行語句a.x=8;a.y=7.5;a.m=,N,;b.x=9;Js,共用體變量a中

的值為O

A.9B.NC.7.5D,8

180.若有定義:

structteacher

(

intnum;

charname[10];

charsex;

intage;

floatscore;

}teacher1;

則變量teacherl所占用的內(nèi)存字節(jié)數(shù)是()

A.5B.14C.19D.20

181.下列對結(jié)構(gòu)體類型變量定義不正確的是()

A.structteacher

|

intnum;

intage;

Jteachl;

B.struct

(

intnum;

intage;

}teachl,teach2;

C.struct

|

intnum;

intage;

Jteacher;

structteacherteach1;

D.structteacher

intnum;

intage;

);

structteacherteach1;

182.若有定義:

structteacher

|

intnum;

charsex;

intage;

}teacher1;

則下列敘述不正確的是。

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

B.structteacher是用戶定義的結(jié)構(gòu)體類型

C.num,sex,age都是結(jié)構(gòu)體變量teacherl的成員

D.teacherl是結(jié)構(gòu)體類型名

183.以下程序的運行結(jié)果是()

#include<stdio.h>

unionUtype

|

inti;

floatf;

}u[2];

voidmain()

(

printf(n%d\nM,sizeof(u));

)

A.2B.4C.6D.8

184.以下程序的運行結(jié)果是()

#include<stdio.h>

unionUtype

(

inti;

flaotf;

);

struct

|

charch[2];

inti;

unionUtypeu;

}a;

voidmain()

printf(n%d\n*\sizeof(a));

)

A.5B.6C.7D.8

185.以下C語言共用體類型數(shù)據(jù)的描述中,不正確的是()

A.共用體變量占的內(nèi)存大小等于所需內(nèi)存最大的成員所占

的內(nèi)存

B.共用體類型可以出現(xiàn)在結(jié)構(gòu)體類型定義中

C.在定義共用體變量的同時允許對第一個成員的值進行初

始化

D.同一共用體各成員的首地址不相同

186.設(shè)有如下語句:

structstudent

(

intnum;

intage;

);

structstudentstu[3]={{101,18},{102,21},{103,19}};

structstudent*p=stu;

則下面表達式的值為102的是。

A.(p++)->numB.(p++)->ageC.(*p).age

D.(*++p).num

187.根據(jù)下面定義,能打印出字母,H,的語句是()

structstu

charname[8];

intage;

);

structstu

class[12]={HWangn46,nZhangn,18;,Hon,\19;,Cheng,\20};

A.printf(n%c\nH,class[3].name);

B.prmtf(n%c\nn,classf3].name[ll);

C.printf(n%c\nn,class[2].name);

D.printf(n%c\nu,class[2].name[0]);

鏈表

188.若有以下定義:

structlink

|

intdata;

structlink*next;

)*P;

并已建立如下圖所示的鏈表結(jié)構(gòu):

pdatanexi_____>datanext_>>dataNULL

指針P指向該單向鏈表的第一個結(jié)點,要輸出鏈表所有結(jié)點

的數(shù)據(jù)成員data,以下循環(huán)語句正確的是()

A.for(;p!=NULL;p++)printf(n%d,n,p->data);

B.for(;!p;p=p->next)printf(n%d,H,(*p).data);

C.while(p)

{

printf(H%d,n,(*p).data);

p=p->next;

)

D.while(p!=NULL)

(

printf(H%d,n,p->data);

P++;

}

189.若有以下定義:

structlink

|

intdata;

structlink*next;

}a,b,c,*head,*p;

其中,指針head指向變量a,p指向變量c,a.next指向變量

b,鏈表結(jié)構(gòu)如下圖所示:

ab

headdatanext-----------?dataNULL

則能夠把c插入到a和b之間并形成新鏈表的程序段是()

A.a.next=c;c.next=b;

B.head.next=p;p.next=head.next;

C.head->next=&c;p->next=head->next

溫馨提示

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

評論

0/150

提交評論