河南科技學(xué)院新科學(xué)院C語(yǔ)言試題_第1頁(yè)
河南科技學(xué)院新科學(xué)院C語(yǔ)言試題_第2頁(yè)
河南科技學(xué)院新科學(xué)院C語(yǔ)言試題_第3頁(yè)
河南科技學(xué)院新科學(xué)院C語(yǔ)言試題_第4頁(yè)
河南科技學(xué)院新科學(xué)院C語(yǔ)言試題_第5頁(yè)
已閱讀5頁(yè),還剩120頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言試題(9)

選擇題(50x2=100)

1.一個(gè)c程序的執(zhí)行是從()。

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

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

C)本程序的main函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束

D)本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束

2.以下敘述不正確的是()。

A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

B)一個(gè)C源程序必須包含一個(gè)main函數(shù)

C)C程序的基本組成單位是函數(shù)

D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面

3.一個(gè)C語(yǔ)言程序是由()o

A)一個(gè)主程序和若干子程序組成B)函數(shù)組成

C)若干過(guò)程組成D)若干子程序組成

4.若x,i,j和k都是int型變量,則執(zhí)行下面表達(dá)式后x的值為()。

x=(i=4,j=16,k=32)

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

5.下列四組選項(xiàng)中,均不是C語(yǔ)言關(guān)犍字的選項(xiàng)是()。

A)defineB)getcQincludeD)while

IFcharscanfgo

typeprintfcasepow

6.下面四個(gè)選項(xiàng)中,均是不合法的用戶(hù)標(biāo)識(shí)符的選項(xiàng)是()。

A)AB)floatC)b-aD)_123

P.OlaOgototemp

do_AintINT

7.下面四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是()o

A)VB)VC)*\018'D)\\0'

3'\0\Tuor

\n'V”'xab1\lf

8.下面正確的字符常量是()。

A)"a"B)W'C)'WD)"

9.下面不正確的字符串常量是()o

A),abc,B)"12'12"C)n0"D),,H

10.已知各變量的類(lèi)型說(shuō)明如下:

intk,a,b;

unsignedlongw=5;

doublex=1.42;

則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是()o

A)x%(-3)B)w+=-2

C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)

11.以下不正確的敘述是()。

A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低

B)在C程序中,APH和aph是兩個(gè)不同的變量

C)若a和b類(lèi)型相同,在執(zhí)行了賦值表達(dá)式a=b后b中的值將放人a中,而b中的值不變。

D)當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值。

12.以下符合C語(yǔ)言語(yǔ)法的賦值表達(dá)式是(

A)d=9+e+f=d+9B)d=9+e,f=d+9

C)d=9+e,e++,d+9D)d=9+e++=d+7

13.在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。

A)/B)++C)!=D)%

14.在C語(yǔ)言中,int、char和short種類(lèi)型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)()。

A)由用戶(hù)自己定義B)均為2個(gè)字節(jié)

。是任意的D)由所用機(jī)器的機(jī)器字長(zhǎng)決定

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

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

16.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+H+i*f值的數(shù)據(jù)類(lèi)型為()。

A)intB)floatC)doubleD)不確定

17.在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是()。

A)補(bǔ)碼B)反碼C)原碼D)ASCII碼

18.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類(lèi)型為()。

A)intB)floatQdoubleD)不確定

19.設(shè)有說(shuō)明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類(lèi)型為()。

A)floatB)charC)intD)double

20.設(shè)以下變量均為int類(lèi)型,則值不等于7的表達(dá)式是()。

A)(x=y=6,x+y,x+l)B)(x=y=6,x+y,y+l)

C)(x=6,x+l,y=6,x+y)D)(y=6,y+l,x=y,x+l)

21.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)

度大于5,則輸出按方式()。

A)從左起輸出該字串,右補(bǔ)空格

B)按原字符長(zhǎng)從左向右全部輸出

C)右對(duì)齊輸出該字串,左補(bǔ)空格

D)輸出錯(cuò)誤信息

22.已有定義inta=-2;和輸出語(yǔ)句:printf("%81x",a);以下正確的敘述是()。

A)整型變量的輸出格式符只有%d一種

B)%x是格式符的一種,它可以適用于任何一種類(lèi)型的數(shù)據(jù)

C)%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%81x是錯(cuò)誤的

D)%81x不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度

23.已有如下定義和輸入語(yǔ)句,若要求al,a2,cl,c2值分別為10,20,A和B,當(dāng)從第一列開(kāi)始輸

入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是()o

intal,a2;charcl,c2;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

A)10A20B<CR>B)10A20B<CR>

C)10A20<CR>D)10A20B<cR>?

24.已有定義intx;floaty;且執(zhí)行scanf("%3d%f",&x,&y);語(yǔ)句,若從第一列開(kāi)始輸入數(shù)

據(jù)12345678(回車(chē)),則y的值為()。

A)無(wú)定值B)45.0000C)678.000000D)123.00000

25.已有程序段和輸入數(shù)據(jù)的形式如下,程序中輸入語(yǔ)句的正確形式應(yīng)當(dāng)為()o

main()

{inta;floatf;

printf("\nlnputnumber:");

輸入語(yǔ)句

printf("\nf=%f,a=%d\n,f,a);

)

Inputnumber:4.52<CR>

A)scanf("%d,%f",&a,&0;B)scanf("%f,%d",&f,&a)

C)scanf("%d%f',&a,&f);D)scanf("%f%d",&f,&a);

26.閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為25,13,10<CR>正確的輸出結(jié)果為()。

main()

{intx,y,z

scanf("%d%d%d",&x,&y,&z);

printf("x+y+z=%d\n,x+y+z);

)

A)x+y+z=48B)x+y+z=35

C)x+z=35D)不確定值

27.以下說(shuō)法正確的是()。

A)輸入項(xiàng)可以為一實(shí)型常量,如scanf("%f”,3.5);

B)只有格式控制,沒(méi)有輸入項(xiàng),也能進(jìn)行正確輸入,如scanf("a=%d,b=%d");

C)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf("%4.2f",&f);

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

28.有輸入語(yǔ)句:scanf("%d,%d,%d”,&a,&b,&c);為使變量a的值為l,b為3,c為2,從鍵盤(pán)輸

入數(shù)據(jù)的正確形式應(yīng)當(dāng)是()o

A)132(回車(chē))B)1,3,2(回車(chē))C)123(回車(chē))D)a=l,b=3,c=2(回車(chē))

29.已知ch是字符型變量,下面不正確的賦值語(yǔ)句是()。

A)ch='a+b';B)ch=、O';C)ch='7'+'9';D)ch=5+9;

30.若有以下定義,則正確的賦值語(yǔ)句是()。

inta,b;floatx;

A)a=1,b=2,B)b++;C)a=b=5D)b=int(x);

31.下面正確的字符常量是()。

A、"c"B、N"C、"D、,k'

32.以下敘述不正確的是()。

A、在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低

B、在C程序中,MAX和max是兩個(gè)不同的變量

C、若a和b類(lèi)型相同,在計(jì)算了賦值表達(dá)式a=b后,b中的值將放入a中,而b中的值不

D、從鍵盤(pán)輸入數(shù)據(jù)時(shí);對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值

33.以下敘述正確的是()。

A、在C程序中,每行只能寫(xiě)一條語(yǔ)旬

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

C、在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符

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

34.已知字母A的ASCH碼為十進(jìn)制65,且c2為字符型,則執(zhí)行知=2'+'6。'3'后,c2中

的值為()。

A、DB、68C、不確定的值D、C

35.若一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),WlJunsignedint型數(shù)據(jù)的取值范圍為()。

A、0-255B、0?32767C、0-65535D、0?2147483647

36.設(shè)在說(shuō)明:charw;intx;floaty;doublez;,則表達(dá)式w*x+z-y值的數(shù)據(jù)類(lèi)型為()。

A、floatcharC、intD^double

37.若x、i、j、k都是int型變量,則通過(guò)計(jì)算x=(i=4,j=16,k=32)表達(dá)式后,x的值為()。

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

38.設(shè)以下變量均為int類(lèi)型,則值不等于7的表達(dá)式是()。

A、(x=y=6,x+y,x+l)B、(x=y=6,x+y,y+l)

C、(x=6,x+l,y=6,x+y)D、(y=6,y+l,x=y,x+l)

39.若inta,b,c;則為它們輸入數(shù)據(jù)的正確輸入語(yǔ)句是()。

A、read(a,b,c);B、scanf(<4%d%d%d,,,a,b,c);

C、scanf(tt%d%d%d,,,&a,%b,%c);D、scanf(tt%d%d%d,,,&a,&b,&c);

40.若floata,b,c;要通過(guò)語(yǔ)句:scanf("%f%f%F',&a,&b,&c);分別為a,b,c輸入10,22,33。

以下不正確的輸入形式是()。

A、10B、10.0,22.0,33.0C、10.0D、1022

2022.033.033

33

41.執(zhí)行語(yǔ)句:printf(ul%10.5fl\n",12345.678);的輸出是(4

A、112345.678001B、112345.67801C、112345.678001D、112345.6781

42.若有以下程序段,其輸出結(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

43.若a為int類(lèi)型,且a=125,執(zhí)行語(yǔ)句printfC<%d,%o,%x\nM,a,a+l,a+2);后的輸出是()。

A、25,175,7DB、125,176,7FC、125,176,7DD、125,175,2F

44.若在鍵盤(pán)上輸入:283.1900,想使單精度實(shí)型變量c的值為283.19,則正確的輸入語(yǔ)句

是()。

A、scanfC4%f\&c);B、scanf(4t%8.4f\&c);C、scanf(t4%6.2f\&c);D、scanf("%8”,&c);

45.if語(yǔ)句的控制條件()o

A、只能用關(guān)系表達(dá)式B、只能用關(guān)系表達(dá)式或邏輯表達(dá)式

C、只能用邏輯表達(dá)式D、可以用任何表達(dá)式

46.執(zhí)行以下程序段后,&b,c的值分別是()。

inta,b=100,c,x=10,y=9;

a=(-x==y++)?—x:++y;

if(x<9)b=x++;c=y;

A、9,9,9B、8,8,10C、9,10,9D、1,11,10

47.執(zhí)行下列程序段后,x、y和z的值分別是()。

intx=10,y=20,z=30;

if(x<y){z=x;x=y;y=z;}

A、10,20,30B、20,30,30C、20,10,10D、20,30,20

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

main()

{intw=4,x=3,y=2,z=l;

if(x>y&&!(z==w))printf(4<%d\n,,,(w<x?w:z<y?z:x"));

elseprintf("%d\n”,(w>x?w:z>y?z:x"));)

}

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

49.若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入3口4,則輸出結(jié)果是()(□表示空格)。

main()

{inta,b,s;

scanf(t4%d%d,,,&a,&b);

s=a;

if(a<b)s=b;

s*=s;

printf(<<%d\n,,,s);

)

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

50.使用語(yǔ)句scanf("x=%f,y=%F',&x,&y):輸入變量x、y的值(口代表空格),正確的輸入

是()?

A、1.25,2.4B、1.25a2.4C、x=1.25,y=2.4D、x=1.25ny=2.4

一、選擇題

(11)以下敘述中正確的是

A)構(gòu)成C程序的基本單位是函數(shù)

B)可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)

C)main()函數(shù)必須放在其他函數(shù)之前

D)C函數(shù)定義的格式是K&R格式

(13)一個(gè)C語(yǔ)言程序是由

A)一個(gè)主程序和若干子程序組成

B)函數(shù)組成

C)若干過(guò)程組成

D)若干子程序組成

(14)請(qǐng)選出可用作C語(yǔ)言用戶(hù)標(biāo)識(shí)符的是

A)void,define,WORD

B)a3_b3,」23,IF

C)FOR,一abc,case

D)2a,Do,Sizeof

(15)下列各數(shù)據(jù)類(lèi)型不屬于構(gòu)造類(lèi)型的是

A)枚舉型

B)共用型

C)結(jié)構(gòu)型

D)數(shù)組型

(17)以下不正確的敘述是

A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低

B)在C程序中,APH和aph是兩個(gè)不同的變量

C)若a和b類(lèi)型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值

不變

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

型數(shù)值

(18)sizeof(float)是

A)一個(gè)雙精度型表達(dá)式

B)一個(gè)整型表達(dá)式

C)一種函數(shù)調(diào)用

D)一個(gè)不合法的表達(dá)式

(19)若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為

A)4

B)16

C)32

D)52

(20)下面程序的功能是把316表示為兩個(gè)加數(shù)的和,使兩個(gè)加數(shù)分別能被13和11整除,

請(qǐng)選擇填空。

#include

main()

{inti=0,j,k;

do{i++;k=316-13*i;}while(______);

j=k/ll;

printf("316=13*%d+ll*%d”,i,j);

A)k/11

B)k

C)k/ll==O

D)k==0

(22)下面程序的運(yùn)行結(jié)果是

#include

main()

{inty=10;

do{y--;}whi1e(-y);

printf(〃%d\n〃,y—);

)

A)-1

B)1

C)8

D)0

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

A)3

B)4

C)11

D)12

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

main()

{doubled=3.2;intx,y;

x=l.2;y=(x+3.8)/5.0;

printfd*y);

)

A)3

B)3.2

C)0

D)3.07

(31)設(shè)有數(shù)組定義:chararray[]二〃China”;則數(shù)組array所占的空間為

A)4個(gè)字節(jié)

B)5個(gè)字節(jié)

C)6個(gè)字節(jié)

D)7個(gè)字節(jié)

(33)以下不正確的定義語(yǔ)句是

A)doublex[5]=⑵0,4.0,6.0,8.0,10.0};

B)inty[5]={0,1,3,5,7,9};

C)charcl□={‘1'J2'J3'J4'J5'};

D)charc2[]={z\xl0','\xa,,1\x8z};

(36)C語(yǔ)言允許函數(shù)類(lèi)型缺省定義,此時(shí)函數(shù)值隱含的類(lèi)型是

A)float

B)int

C)long

D)double

(37)以下程序有語(yǔ)法錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是

main()

{intG=5,k;

voidprt_char();

k=prt_char(G);

A)語(yǔ)句voidprtchar();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明

B)變量名不能使用大寫(xiě)字母

C)函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾

D)函數(shù)名不能使用下劃線

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

A)在不同的函數(shù)中可以使用相同的名字的變量

B)函數(shù)中的形式參數(shù)是局部變量

C)在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效

D)在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效

(39)有以下程序:

ttinclude

unionpw

{inti;

charch[2];}a;

main()

{a.ch[0]=13;a.ch[1]=0;printfa.i);}

程序的輸出結(jié)果是

A)13

B)14

C)208

D)209

(41)下面程序的運(yùn)行結(jié)果是

#include

main()

{inta=l,b=10;

do

{b~=a;a++;}while(b一一<0);

printf(,za=%d,b=%d\,a,b);

)

A)a=3,b=ll

B)a=2,b=8

C)a=l,b=-l

D)a=4,b=9

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

voidreverse(inta[],intn)

{inti,t;

for(i=0;i

{t=a[i];a[i]=a[n-l-i];a[n-l-i]=t;}

)

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

printf(〃%d\n〃,s);

)

A)22

B)10

C)34

D)30

(43)有如下程序:

longfib(intn)

{if(n>2)return(fib(n-l)+fib(n-2));

elsereturn(2);

)

main()

{printf(3));}

該程序的輸出結(jié)果是

A)2

B)4

C)6

D)8

(44)假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在

目錄的DOS提示符下鍵入:

PROGABCDEFGHIJKL〈回車(chē)》,則輸出結(jié)果為

main(intargc,char*argv[])

{while(--argc>0)

printf(/z%s,z,argv[argc]);

printf(〃\n〃);

)

A)ABCDEFG

B)IJHL

C)ABCDEFGHIJKL

D)IJKLABCDEFGH

(45)以下程序有錯(cuò),錯(cuò)誤原因是

main()

{int*p,i;char*q,ch;

p二&i;

q=&ch;

*p=40;

*p=*q;

)

A)p和q的類(lèi)型不一■致,不能執(zhí)行*p=*q;語(yǔ)句

B)*p中存放的是地址值,因此不能執(zhí)行*p=40;語(yǔ)句

C)q沒(méi)有指向具體的存儲(chǔ)單元,所以*q沒(méi)有實(shí)際意義

D)q雖然指向了具體的存儲(chǔ)單元,但該單元中沒(méi)有確定的值,所以執(zhí)行*P=*q;沒(méi)有意

義,可能會(huì)影響后面語(yǔ)句的執(zhí)行結(jié)果

(46)函數(shù)rewind的作用是

A)使文件位置指針重新返回文件的開(kāi)始位置

B)將文件位置指針指向文件中所要求的特定位置

C)使文件位置指針指向文件的末尾

D)使文件位置指針自動(dòng)移至下一個(gè)字符位置

(47)設(shè)有以下說(shuō)明語(yǔ)句

structex

{intx;floaty;charz;}example:

則下面的敘述中不正確的是

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

B)example是結(jié)構(gòu)體類(lèi)型名

C)x,y,z都是結(jié)構(gòu)體成員名

D)structex是結(jié)構(gòu)體類(lèi)型名

(48)設(shè)有以下語(yǔ)句:

charx=3,y=6,z;

z=x^y?2;

則z的二進(jìn)制值是

A)00010100

B)00011011

C)00011100

D)00011000

(49)閱讀以下程序及對(duì)程序功能的描述,其中正確的描述是

#include

main()

I

FILE*in,*out;

charch,infile[10],outfile[10];

printf("Entertheinfilename:\nz,);

scanfinfile);

printf("Entertheoutfilename:\n,z);

scanfoutfile);

if((in=fopen(infile,,zr/z))==NULL)

i

printf("cannotopeninfile\n,z);

exit(0);

if((out=fopen(outfile,"w"))==NULL)

printf("cannotopenoutfile\nz,);

exit(0);

)

while(!feof(in))fputc(fgetc(in),out);

fclose(in);

fclose(out);

}

A)程序完成將磁盤(pán)文件的信息在屏幕上顯示的功能

B)程序完成將兩個(gè)磁盤(pán)文件合二為一的功能

C)程序完成將一個(gè)磁盤(pán)文件復(fù)制到另一個(gè)磁盤(pán)文件中

D)程序完成將兩個(gè)磁盤(pán)文件合并并在屏幕上輸出

(50)C語(yǔ)言中,能識(shí)別處理的文件為

A)文本文件和數(shù)據(jù)塊文件

B)文本文件和二進(jìn)制文件

C)流文件和文本文件

D)數(shù)據(jù)文件和二進(jìn)制文件

轉(zhuǎn)貼于:計(jì)算機(jī)二級(jí)考試.考試大

【責(zé)編:oyshaoli糾錯(cuò)】

二、填空題

(1)數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和【1】?jī)纱箢?lèi)。

解析:數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和非線性結(jié)構(gòu)兩大類(lèi)。

(2)順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置【2】的存儲(chǔ)單元中。

解析:常用的存儲(chǔ)表示方法有4種,順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)、索引存儲(chǔ)、散列存儲(chǔ)。其中,順

序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置也相鄰的存儲(chǔ)單元中。

(3)一個(gè)類(lèi)可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的

[3]。

解析:本題考查了繼承的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少

了程序中的冗余,提高軟件的可重用性。

(4)軟件工程研究的內(nèi)容主要包括:【4】技術(shù)和軟件工程管理。

解析:基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)

和軟件工程管理。軟件開(kāi)發(fā)技術(shù)包括:軟件開(kāi)發(fā)方法學(xué)、開(kāi)發(fā)過(guò)程、開(kāi)發(fā)工具和軟件工程環(huán)

境,其主體內(nèi)容是軟件開(kāi)發(fā)方法學(xué)。軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué),以

及軟件心理學(xué)等內(nèi)容。

(5)關(guān)系操作的特點(diǎn)是【5】操作。

解析:在關(guān)系操作中,所有操作對(duì)象與操作結(jié)果都是關(guān)系。而關(guān)系定義為元數(shù)相同的元組

的集合。因此,關(guān)系操作的特點(diǎn)是集合操作。

(6)下面程序是指從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字

符串,請(qǐng)?zhí)羁铡?/p>

#include

main()

{inti;chars[21],*p;

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

s[i]=getchar();

s[i]=[6];

P=【7】

while(*p)putchar([8]);

)

解析:本題選通過(guò)for循環(huán)從鍵盤(pán)讀入20個(gè)字符,然后在最后賦一定值'\0'后為結(jié)束標(biāo)

志,再使指針P指向字符串的首地址。最后通過(guò)while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。

(7)以下程序?qū)?shù)組a的4個(gè)元素和數(shù)組b的6個(gè)元素寫(xiě)到名為lett.dat的二進(jìn)制文件中,

請(qǐng)?zhí)羁铡?/p>

#include

main()

{FILE*fp;

chara[4]=“1234",b[6]="abcedf";

if((fp=fopen(〃【9】)=NULL)exit(0);

fwrite(a,sizeof(char),4,fp);

fwrite(b,[10],1,fp);

fclose(fp);

)

解析:本題主要考查函數(shù)fwrite(char*pt,unsignedsize,unsignedn,FILE*fp),把

pt所指向的n*size個(gè)字節(jié)輸出到fp所指定的文件中。

(8)在C語(yǔ)言中(以16位PC機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4:

一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為[11]o

解析:在一般系統(tǒng)中,一個(gè)float型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位),一個(gè)double型

數(shù)據(jù)占8個(gè)字節(jié)。

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

main()

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

d=(a>b>c);

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

)

解析:本題的關(guān)鍵在于對(duì)變量c的賦值運(yùn)算:

d=(a>b>c)

d=(5>4>3)

先算5>3,為真,得1,即:d=(1>3),此時(shí)1>3,為假,得0。

(10)以下函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp

所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返回。

例如,若x中的值為30,則有4個(gè)數(shù)符合要求,它們是1,3,5,15.

請(qǐng)按題意,完成填空。

試題程序:

ttinclude

#include

voidfun(intx,intpp[],int*n)

{inti,j=0;

[13]

if(x%i==0)pp[j++]=i;

[14];

)

main()

{intx,aa[1000],n,i;

clrscr();

printf(^\nPleaseenteranintegernumber:\n〃);scanf(〃%d&x);

fun(x,aa,&n);

for(i=0;i

printf("%d”,aa[i]);

printf(〃\n〃);

}

解析:本題題干信息是能整除且不是偶數(shù)的所有整數(shù)之和。循環(huán)語(yǔ)句中i從1開(kāi)始且每次增

2,所以i始終是奇數(shù),*n=j;語(yǔ)句是記錄能夠符合題意的各個(gè)整數(shù)的各數(shù)。

#include

#include

intfun(int*s,intt,int*k)

{inti;

*k=0;

[15]

if(s[*k]

return[16];

}

main()

inta[10]={876,675,896,101,301,401,980,431,451,777},k;

clrscr();

fun(a,10,&k);

printf(〃%d,%d\n”,k,a[k]);

}

解析:本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算,止匕外,一開(kāi)始應(yīng)認(rèn)

*1<的值為數(shù)組中的某一下標(biāo)值,即*k=0。

(12)mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

intmystrlen(char*str)

{inti;

for(i=0;[17]!='\0f;i++);

return(i);

}

解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用*(str+i)來(lái)訪問(wèn)字

符串中的第i個(gè)元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+1,繼續(xù)取下?個(gè)元素進(jìn)行判

斷,直到*(str+i)的值為''0'為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相

當(dāng)于strEi]o

(13)以下程序的輸出結(jié)果為【18】。

#defineJFT(x)x*x

main()

{inta,k=3;

a=++JFT(k+1);

printf(//%d,/,a);

}

解析:宏替換的原則是按原樣替換,本題中遇到形參X則以實(shí)參k+1替換,其他字符不變。

所以JFT(k+1)經(jīng)替換后為k+l*k+l,所以a=++k+l*k+l,若k+1,若k的值為3,

則經(jīng)過(guò)運(yùn)算為a=4+l*4+l=9。

(14)以下定義的結(jié)構(gòu)體類(lèi)型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員

變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。

structnode

{intinfo;

[19]link;

);

解析:本題中的結(jié)構(gòu)類(lèi)型名為structnode,所以空白處應(yīng)填:structnode*。即定義一

個(gè)指向自身的結(jié)構(gòu)體指針。

(15)設(shè)有以下結(jié)構(gòu)體類(lèi)型:

structst

{charname[8];

intnum;

floats[4];

}student[50];

并且結(jié)構(gòu)體數(shù)組student中的元素都已有值,若要將這些元素寫(xiě)到硬盤(pán)文件fp中,請(qǐng)將以

下fwrite語(yǔ)句補(bǔ)充完整:

fwrite(student,[20],1,fp);

解析:fwrite函數(shù)的一般調(diào)用形式為:fwrite(buffer,size,count,fp),其中:

buffer:是一個(gè)指針變量,是要輸出數(shù)據(jù)的起始地址

size:要寫(xiě)的字節(jié)數(shù)

count:要進(jìn)行寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)

fp:文件型指針

選擇題

01-05DCCDB

06-10AACBA

11-15ACBBA

16-20DDBCB

21-25DDACA

26-30ACBCC

31-35CDBDC

36-40BCDAD

41-45BABDD

46-50ABBCB

單選題:

1、有以下程序

#include<stdio.h>

intabc(intu,intv);

main()

{inta=24,b=16,c;

c=abc(a,b);

printf('%d\n'\c);

)

intabc(intu,intv)

{intw;

while(v){w=u%v;u=v;v=w}

returnu;

輸出結(jié)果是:

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

答案:C

2、設(shè)有如下的變量定義:inti=8,k,a,b;unsingedlongw=5

doublex=l,42,y=5.2則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是.

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

B.x%(-3);

C.a=a*3=2

D.y=float(i)

答案:A

3、設(shè)x為int型變量,則執(zhí)行以下語(yǔ)句后,x的值為x=10;x+=x-=x-x;

A.10

B.20

C.40

D.30

答案:B

4、C語(yǔ)言提供的合法的數(shù)據(jù)類(lèi)型關(guān)鍵字是一

A.Double

B.short

C.integer

D.Char

答案:B

5、表達(dá)式:10!=9的值是一

A.true

B,非零值

C.0

D.1

答案:D

6、下面程序的輸出是main(){intx=023;printf(n%d\nn,—x);}

A.17

B.18

C.23

D.24

答案:B

7、定義如下變量:intn=10則下列循環(huán)的輸出結(jié)果是while(n>7)

{n—;printf("%d\n”,n);}

A.1098

B.987

C.10987

D.9876

答案:B

8、若K為整型,以下while循環(huán)執(zhí)行()次K=0while(K=0)K=K-1

A.執(zhí)行10次

B.無(wú)限循環(huán)

C.一次也不執(zhí)行

D.執(zhí)行一次

答案:C

9、在執(zhí)行以下程序時(shí),為了使輸出結(jié)果為1=4,則給a和b輸入的值應(yīng)滿足的條件是

main(){ints,t,a,b;scanf(H%d,%d”,&a,&b);s=l;t=l;if(a<0)s=s+l;if(a>b)t=s+l;

elseif(a==b)t=5;elset=2*s;printf("t=%d\n",t);}

A.0>a>b

B.a=0<b

C.a=b<0

D.a<b<0

答案:D

10^若執(zhí)行卜面的程序時(shí)從鍵盤(pán)上輸入3和4,則輸出是main(){int

a,b,s;a=3,b=4;scanf(,,%d%d'1,&a,&b);s=a4-b;printf(1,%d\n',,s-);printf(',%d\n,—s);}

A.7,7

B.7,5

C.6,7

D.7,6

答案:B

11>有以下程序#include<stdio.h>main(){int

a,b,c=246;a=c/100%9;b=(-l)&&(-l);printf(',%d,%d\n,,,a,b);)輸出結(jié)果是

A.2,1

B.3,2

C.4,3

D.2,-1

答案:A

12、下列程序的輸出結(jié)果是main(){staticints[][3]={{1,2,3},{4,5,6}};intt;t=(s[O][O],

s[1][l],s[O][l]+s[1][2]);printf("%d\n",t);}

A.5

B.6

C.7

D.8

答案:D

13、以下程序的輸出結(jié)果是main(){intk=17;printf(n%d,%o,%x\nu,k,k,

k);)

A.17,021,0x11

B.17,17,17

C.17,0x11,021

D.17,21,11

答案:D

14、請(qǐng)讀程序:main。{floatx,y;scanf("%f",&x);if(x<0.0)y=0.0elseif((x<

5.0)&&(x!=2.0))y=1.0/(x+2.0);elseif(x<10.0)y=1.0/x;elsey=10.0;printf(,'%f\n',,y);}

若運(yùn)行時(shí)從鍵盤(pán)上輸入2.0(表示回車(chē)),則上面程序的輸出結(jié)果是

A.0.000000

B.0.250000

C.0.500000

D.1.000000

答案:C

15、請(qǐng)讀程序:main(){intx=l,y=0,a=0,b=0;switch(x){casel:switch(y){case0:

a++;break;case1:b++;break;}case2:a++;b4-+;break;}printf(',a=%d,b=%d\n',,a,b);}上面程序輸出

結(jié)果是

A.a=2,b=1

B.a=l,b=l

C.a=1,b=0

D.a=2,b=0

答案:A

16、若有定義和語(yǔ)句:charsUO];sW'abcd";printfT%s\n",s);則結(jié)果是(以下口代表空格)

A.輸出abed

B.輸出a

C.輸出abcduppnn

D.編譯不通過(guò)

答案:D

17、C語(yǔ)言可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()

A.程序中的?條可執(zhí)行語(yǔ)句

B.程序中第一個(gè)函數(shù)

C.程序中的main函數(shù)

D.包含文件中的第一個(gè)函數(shù)

答案:C

18、以下敘述正確的是()

A.在C程序中,main函數(shù)必須位于程序的最前面

B.C程序的每行中只能寫(xiě)一條語(yǔ)句

C.C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句

D.在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤

答案:C

19、以下敘述中不正確的是

A.預(yù)處理命令行都必須以#號(hào)開(kāi)始

B.在程序中凡是以#號(hào)開(kāi)始的語(yǔ)句行都是預(yù)處理命令行

C.C程序在執(zhí)行過(guò)程中對(duì)預(yù)處理命令行進(jìn)行處理

D.以下是正確的宏定義#defineIBM_PC

答案:C

20、以下正確的敘述是

A.在C程序中,每行中只能寫(xiě)一條語(yǔ)句

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

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

D.在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符

答案:D

21、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句c2=A+6」3';

后,c2中的值為

A.D

B.68

C.不確定的值

D.C

答案:B

22、下面程序段的運(yùn)行結(jié)果是intn=O;while(n++<=2);printf("%d",n);

A.2

B.3

C.4

D.有語(yǔ)法錯(cuò)

答案:C

23、判斷char型變量cl是否為小寫(xiě)字母的正確表達(dá)式是

A.,a,<=cl<=,z,

B.(cl>=a)&&(cl<=z)

C.(,a,>=cl)ll('z,<=cl)

D.(cl>=,a')&&(cl<=,z')

答案:D

24、已知intx=10,y=20,z=30;以下語(yǔ)句執(zhí)行后x,y,z的值是if(x>y)z=x;x=y;y=z;

A.x=10,y=20,z=30

B.x=20,y=30,z=30

C.x=20,y=30,z=10

D.x=20,y=30,z=20

答案:B

25、以下描述中正確的是

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

語(yǔ)句

B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式)后面不能寫(xiě)分號(hào)

C.在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?“假”)的操作

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

答案:C

26、有一堆零件(100到200之間),如果分成4個(gè)零件一組的若干組,則多2個(gè)零件;

若分成7個(gè)零件一組,則多3個(gè)零件;若分成9個(gè)零件一組,則多5個(gè)零件。下面程序是求

這堆零件總數(shù),請(qǐng)選擇填空。#include<stdio.h>main(){inti;for(i=100;i<200;i++)

if((i-2)%4=0)if(!((i-3)%7))if()printf("%d”,i);}

A.i%9=5

B.i%9!=5

C.(i-5)%9!=0

D.i%9==5

答案:D

27、以下正確的說(shuō)法是

A.定義函數(shù)時(shí),形參的類(lèi)型說(shuō)明可以放在函數(shù)體內(nèi)

B.return后邊的值不能為表達(dá)式

C.如果函數(shù)值的類(lèi)型與返回值類(lèi)型不一致,以函數(shù)值類(lèi)型為準(zhǔn)

D.如果形參與實(shí)參類(lèi)型不一致,以實(shí)參類(lèi)型為準(zhǔn)

答案:C

28、下面判斷正確的是

A.char*a="china”;等價(jià)于char*a;*a=nchinau;

B.charstr[10]={"china"};等價(jià)于charstr[10];str[]={"china"};

C.char*s="china";等價(jià)于char*s;s=',china";

D.charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]=uabcn;

答案:C

29、若定義:inta=5U,*b=&a;,則printf("%d\n”,*b);的輸出結(jié)果為

A.無(wú)確定值

B.a的地址

C.512

D.511

答案:B

30、以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)

continue;if(i==5)break;i++;}}

A.1

B.10

C.6

D.死循環(huán),不能確定次數(shù)

答案:D

31、若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入9,則輸出結(jié)果是main(){int

n;scanf(M%dM,&n);if(n-H-<10)printf(*'%d\n'*,n);elseprintf(n%d\nn,n—);}

A.11

B.10

C.9

D.8

答案:B

32、若a、b、cl、c2^x、y、均是整型變量,正確的switch語(yǔ)句是

A.switch(a+b);{casel:y=a+b;break;caseO:y=a-b;break;case3:y=b-a,break;}

B.switch(a*a+b*b){case3:casel:y=a+b;break;}

C.switcha{casecl:y=a-b;break;casec2:y=a*d;break;default:x=a+b;}

D.switch(a-b){default:y=a*b;break;case4:x=a+b;break;case10:y=a-b;break;}

答案:D

33、以下程序的輸出結(jié)果是longfun(intn){longs;if(n==1IIn==2)s=2;else

s=n-fun(n-l);returns;}main(){printf("%ld\n'\fun(3));}

A.1

B.2

C.3

D.4

答案:A

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

A.0

B.0.5

C.1

D.2

答案:A

35、能正確表示邏輯關(guān)系:“aN=10或aSO”的C語(yǔ)言表達(dá)式是

A.a>=10ora<=0

B.a>=0lla<=10

C.a>=10&&a<=0

D.a<=0IIa>=10

答案:D

36、在C語(yǔ)言中,不正確的int類(lèi)型的常數(shù)是

A.32768

B.0

C.037

D.OxAF

答案:A

37、以下程序的輸出結(jié)果是main(){chara[10]={T,2,3,4,5,6,7,8,9,

0),inti;i=8;p=a+i;printf(n%s\n",p-3);}

A.6

B.6789

C.6

D.789

答案:B

38^以下程序的輸出結(jié)果是intd=l;fun(intp){staticintd=5;d+=p;printf(H%dd);

return(d);}main(){inta=3;printf("%d\nH,fun(a+fun(d)));}

A.699

B.669

C.61515

D.6615

答案:C

39、算法的表示方法有()。

A.自然語(yǔ)言,傳統(tǒng)流程圖,N-S流程圖,偽代碼,計(jì)算機(jī)語(yǔ)言

B.高級(jí)語(yǔ)言,匯編語(yǔ)言,機(jī)器語(yǔ)言

CC語(yǔ)言,QBASIC語(yǔ)言,InterDev

D.圖形圖像法,描述法,編程法

E.計(jì)算機(jī)語(yǔ)言

答案:A

40、合法的C語(yǔ)言賦值語(yǔ)句是()

A.a=b=l

B.k=int(a+b);

C.a=1,b=2

D.-i;

答案:D

填空題:

1、main(){intsum=0,i;scanf("%d'\&i);while(i<=10){sum=sum+i;i++;}

printf(,'%d'',sum);}輸入1輸出

答案:55

2、把數(shù)組元素按順序存放的過(guò)程稱(chēng)為.

答案:排序

3、設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for循環(huán)后,k的值為.for(i=0,j=10;i<

=j;i++,j-)k=i+j;

答案:10

4、應(yīng)該用聲明數(shù)組的大小,因?yàn)檫@樣能夠更容易調(diào)整程序。

答案:符號(hào)常量

5、寫(xiě)出該程序運(yùn)行的結(jié)果。main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;

printf("%d,%d,%d,%d",i,j,m,n);}

答案:9,11,9,10

6、寫(xiě)出該程序運(yùn)行的結(jié)果。main()charst='A';inti=10;st=st+i;i=st%i;

printf("%C,%d\n”,st,i);}(已知字母A的ASCII碼為65)

答案:K,5

7、己知字母a的ASCH碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=,a,+8-3

的值為_(kāi)_________

答案:T

8、執(zhí)行下列語(yǔ)句后x的值是.X=y=z=5;X=y=z;

答案:14

9、若有定義:inta=2,b=3;floatx=3.5,y=2.5;則下面表達(dá)式的值為

(float)(a+b)/2+(int)x%(int)y

答案:3.500000

10、若從鍵盤(pán)輸入58,則以下程序輸出的結(jié)果是omain(){inta;scanf("%d",&a);

if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);}

答案:585858

Ik以下

溫馨提示

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

評(píng)論

0/150

提交評(píng)論