全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試題答案_第1頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試題答案_第2頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試題答案_第3頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試題答案_第4頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試題答案_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2005年4月全國(guó)計(jì)算機(jī)等級(jí)考試:級(jí)C語(yǔ)言筆試試題

?、選擇題((1)?(10)每小題2分,(11)?(50)每小題1分,共60分)

下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,清將正確的選項(xiàng)涂

寫在答題卡相應(yīng)位置匕答在試卷上不得分。

(1)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指。

A.存儲(chǔ)在外存中的數(shù)據(jù)

B.數(shù)據(jù)所占的存儲(chǔ)空間量

C.數(shù)據(jù)企計(jì)算機(jī)中的順序存儲(chǔ)方式

D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

(2)卜.列關(guān)于棧的描述中錯(cuò)誤的是。

A.棧是先進(jìn)后出的線性表

B.棧只能順序存儲(chǔ)

C.棧具有記憶作用

D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針

(3)對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確

的是。

A.冒泡排序?yàn)閚/2

B.冒泡排序?yàn)閚

C.快速排序?yàn)閚

D.快速排序?yàn)閚(n-l)/2

(4)對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為。

A.log2n

B.n/2

C.n

D.n+1

(5)下列對(duì)于線性鏈衣的描述中正確的是。

A.存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不?定是連續(xù),且前件元素?定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

(6)下列對(duì)于軟件測(cè)試的描述中正確的是。

A.軟件測(cè)試的目的是證明程序是否正確

B.軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確

C.軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤

D.軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則

(7)為了使模塊盡可能獨(dú)立,要求。

A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)

B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱

D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)

(8)下列描述中正確的是。

A.程序就是軟件

B.軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,又是物理實(shí)體

D.軟件是程序、數(shù)據(jù)叮相關(guān)文檔的集合

(9)數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)技術(shù)的重要特點(diǎn)之、所謂數(shù)據(jù)獨(dú)立性是指。

A.數(shù)據(jù)號(hào)程序獨(dú)立存放

B.不同的數(shù)據(jù)被存放在不同的文件中

C不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用

D.以上三種說法都不對(duì)

(10)用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是。

A.關(guān)系模型

B.網(wǎng)狀模型

C.層次模型

D.以上三個(gè)都是

(11)算法具有五個(gè)特性,以「選項(xiàng)中不屬于算法特性的是。

A.有窮性

B.簡(jiǎn)潔性

C.可行性

D.確定性

(12)以下選項(xiàng)中可作為C語(yǔ)言合法常量的是。

A.-80.

B.-080

C.-8el.O

D.-80.0e

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

A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作

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

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

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

(14)以下不能定義為用戶標(biāo)識(shí)符的是。

A?Main

B.0

C.int

D,sizeof

(15)以下選項(xiàng)中不能作為合法常量的是。

A.L234eO4

B.1.234e0.4

CL234e+4

D.1.234e0

(16)數(shù)字字符0的ASCII值為48,若有以下程序

main。

{chara=T.b='2

printf("%c,”,b++);

printf("%d\n\b?a);

1

程序運(yùn)行后的輸出結(jié)果是。

A.3.2

B.50,2

C.2,2

D.2,50

(17)有以下程序

main。

(intm=12,n=34;

printf("%d%cT,m++,++n);

printf("%d%d\n”,n++,++m);

1

程序運(yùn)行后的輸出結(jié)果是。

A.12353514

B.12353513

C.12343514

D.12343513

(18)有定義語(yǔ)句:intb;char則正確的輸入語(yǔ)句是。

A.scanf("%d%s",%26amp;b,%26amp;c);

B?scanf("%d%s”,%26amD;b,c):

C.scanf("%d%s,b,c):

D.scanf(、%d%s”,b,%26amp;c);

(19)有以下程序

main。

{intm,n,p;

scanf("m=%dn=%dp=%d",%26amp;m,%26amp;n,%26amp;p);

printf("%d%d%d\n”,m,n,p);

1

若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為45為D中的值為789,則

正確的輸入是。

A.m=123n=456p=789

B.m=123n=456p=789

C.m=123m=456.p=789

D.123456789

(20)有以下程序

main。

{inta,b,d=25;

a=d/10%9;

b=a%26amp;%26amp;(-1);

printf(”%d,%d\n”ab);

1

程序運(yùn)行后的輸出結(jié)果是。

A)6,1

B.2,1

C.6c

D.2,0

(21)有以下程序

main。

1

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

if(i++==1%26amp;%26amp;(++i==3llk++==3))

printf("%d%d%d\n”,i,i,k);

1

程序運(yùn)行后的輸出結(jié)果是。

A.123

B.234

C.223

D.233

(22)若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達(dá)式a

A.1

B.2

C.3

D.4

(23)有以下程序

main。

L

intDr81={ll,12,13,14,15,16,17,18],i=0,j=0;

while(i++%261t;7)if(p[il%2)i+=p川;

Drintfr%d\n”,i);

1

程序運(yùn)行后的輸出結(jié)果是。

A.42

B.45

C.56

D.60

(24)有以下程序

main。

L

chara[7]="a0\0a0\0";inti,i;

i二sizeof(a);j=strlen(a);

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

1

程序運(yùn)行后的輸出結(jié)果是。

A.22

B.76

C.72

D.62

(25)以下能正確定義一維數(shù)組的選項(xiàng)是。

A,inta[5]=[0,12345};

B.chara「=10,12345};

C.chara={,A;,B\,C');

D.intaf51="0123”;

(26)有以下程序

intfl(intx,intreturnx%26gt;y?x:y;}

intf2(inlx,inty)[returnx%26gt;y?y:x;}

main。

1

inta=4、b=3,c=5、d=2,e,f,g;

e=f2(f1(a,b),f1(cd));f=f1(f2(a,b),f2(cd));

g=a+b+c+d?e?f;

printf("%d,%d,%d\n”,e,f,g);

程序運(yùn)行后的輸出結(jié)果是。

A.4,3,7

B.34,7

C.527

D.2,5,7

(27)iL有定義:chara[]="xYZ",b[]=「x?y?z?;,以下敘述中正確的是。

A.數(shù)組a和b的長(zhǎng)度相同

B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度

Ca數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度

D.上述說法都不對(duì)

(28)有以下程序

voidf(int*x,int*y)

L

intt;

t=*x;*x=*y;*y=t;

1

main。

L

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

p=a;q=%26amp;a[7];

while(p

{f(p,q);p++;q--;)

for(i=0;i%261t;8;i++)DrindT%d,",a[i]);

1

程序運(yùn)行后的輸出結(jié)果是。

A.82345671,

B.567.8.1234

C.12345678,

D.8.7654321.

(29)有以下程序

main。

L

inta[3|[3|,*p,i;

p=%26amp;aK)]⑼;

for(i=0;i%261t;9;i++)Ni仁i;

for(i=0;i%261t;3;i++)printf("%cT,aUHi]);

1

程序運(yùn)行后的輸出結(jié)果是。

A.012

B.123

C.234

D.345

(30)以卜敘述中錯(cuò)誤的是。

A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的苜地址,其值不可改變

C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”

的出錯(cuò)信息

D.可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)

(31)有以卜程序

#defineN20

fun(imalLintn,intm)

linlij;

for(i=m;i%26gt;=n;i--)a[i+ll=a[il;

1

main。

L

inti,a[NRl23,4,5345,970};

fun(a29);

for(i=0;i%261t;5;i++)Drintf("%d”,a[i]);

1

程序運(yùn)行后的輸出結(jié)果是。

A.10234

B.12344

C.12334

D.12234

(32)有以下程序

main。

L

inta[3][2]={0M*mr)[2li,j;

for(i=0;i%261t;2;i++){ptr=a+i;scanf("%d”,ptr);ptr++;J.

for(i=0;i%261t;3;i++)

{for(i=0;i%261t;2;j++)printf(“-"Hi皿);

printf("\n");

1

1

若運(yùn)行時(shí)輸入:123%261t;回車%26gt;,則輸出結(jié)果是。

A.產(chǎn)生錯(cuò)誤信息

B.10

C.12

D.10

203020

000030

(33)有以下程序

prt(int*m,intn)

linti;

for(i=0;i

1

main。

L

inta[1={h2,3A5hi;

prt(a,5);

for(i=0;i%261t;5;i++)

printf("%dJHiD;

1

程序運(yùn)行后的輸出結(jié)果是。

A.12345,

B.2,3,456,

C.345,67

D.2.3,451.

(34)有以下程序

main。

{inta「=U2345,67890},*p;

for(p=a;p

1

程序運(yùn)行后的輸出結(jié)果是。

A.12345678,9。

B.2.3.4.567.891。1.

C.0,12345,6789

D.1,1,1,1,1,11,1,1,1,

(35)有以下程序

#defineP3

voidF(intx){retum(P*x*x);}

main。

]printfT%d\n\F(3+5));}

程序運(yùn)行后的輸出結(jié)果是。

A.192

B.29

C.25

D.編譯出錯(cuò)

(36)有以下程序

main。

[intc=35;printf("%d\n”,c%26amp;c);)

程序運(yùn)行后的輸出結(jié)果是。

A.0

B.70

C.35

D.1

(37)以下敘述中正確的是。

A.預(yù)處理命令行必須位于源文件的開頭

B.在源文件的一行上可以有多條預(yù)處理命令

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

D.宏替換不占用程序的運(yùn)行時(shí)間

(38)若有以「說明和定義

uniondt

{inta:charb:doublcc:}data:

以下敘述中錯(cuò)誤的是。

A.data的每個(gè)成員起始地址都相同

B.變量data所占的內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相當(dāng)

C.程序段:data.a=5:Drintf("%f\n",data.c);輸Hl結(jié)果為5.000000

D.data可以作為函數(shù)的實(shí)參

(39)以下語(yǔ)句或語(yǔ)句組中,能正確進(jìn)行字符串賦值的是。

A.char*sp:*sp="right!":

B.chars[101:s="right!”:

C.charsflO]:*s="right!";

D.char*sp="right!":

(40)設(shè)有如下說明

typedefstructST

{longa;intb;charc[21;}NEW;

則下面敘述中正確的是。

A.以上的說明形式非法

B.ST是一個(gè)結(jié)構(gòu)體類型

C.NEW是一個(gè)結(jié)構(gòu)體類型

D.NEW是一個(gè)結(jié)構(gòu)體變量

(41)有以下程序

mainQ

{inta=1,b;

for(b=1;b%261t;=10;b++)

{if(a%26gt;=8)break;

if(a%2==1){a+=5continue;}

a?=3;

1

printf("%d\n'b);

1

程序運(yùn)行后的輸出結(jié)果是。

A.3

B.4

C.5

D.6

(42)有以下程序

main。

{charsn="159”,*p;

p=s;

printf("%c\*p++);Drintf("%c\*p++);

1

程序運(yùn)行后的輸出結(jié)果是。

A.15

B.16

C.12

D.59

(43)有以下函數(shù)

fun(char*a,char*b)

{.while((*a!='\O')%26amp;%26amp;(*b!='\O')%26amp;%26amp;(*a==*b))

(a++;b++;1

retum(*a?*b);

1

該函數(shù)的功能是。

A.計(jì)算a和b所指字符串的長(zhǎng)度之差

B.將b所指字符串連接到a所指字符串中

C將b所指字符串連接到a所指字符串后面

D.比較a和b所指字符串的大小

(44)有以下程序

main。

for(i=0;i%261t;4;i++)

{for(i=0;j%261t;=i;i++)prindTL",'');

for(j=;i%261t:4:i++)printf("M”,〉um山皿;

Drintf(”\n");

1

1

若要按以下形式輸出數(shù)組右上半三角

1234

678

1112

16

則在程序下劃線處應(yīng)填入的是。

A.i-1

B.i

Ci+1

D.4-i

(45)有以下程序

point(char*p)[p+=3;)

main。

[charb⑷口'a',b,'c','dl*p=b;

point(p);printf("%c\rr,*p);

1

程序運(yùn)行后的輸出結(jié)果是。

A?a

B.b

C?c

D.d

(46)程序中若有如下說明和定義語(yǔ)句

charfun(char*);

main。

L

char*s="one”,a15]={0},(*fl)()=fun,ch;

1

以下選項(xiàng)中對(duì)函數(shù)函n的正確調(diào)用語(yǔ)句是。

A.

B.

C.fun(%26amp;a);

D,ch二*fl(s);

(47)有以下結(jié)構(gòu)體說明和變量定義,如圖所示:

structnode

{intdata;structnode*next;}*p,*q,*n;

datanextdatanextdatanext

B3I

現(xiàn)要將q所指結(jié)點(diǎn)從鏈表中刪除,同時(shí)要保持鏈表的連續(xù),以下不能完成指定操作的語(yǔ)

句是。

A?P?%26gt;next=q?%26gt;next;

B.p-%26gl:ncxt=D-%26gt:ncxl-%26gt:ncxl:

C?p?%26gt;next=r;

D.p=q-%26gl:ncxl:

(48)以下對(duì)結(jié)構(gòu)體類型變量td的定義中,錯(cuò)誤的是。

A.typedefstructaa

B.structaa

1intmlinin;

floatm;floatm;

}AA;)td;

AAtd;structaatd;

C?struct

D,struct

lintmlintn;

floatm;floatm;

}aa;)td;

structaatd;

(49)以下與函數(shù)函eek(fdOL,SEEKSET)有相同作用的是。

A.feof(fp)

B.ftell(fp)

C.fgetc(fp)

D.rewind(fD)

(50)有以下程序

#include

voidWriteStr(char*fn,char*str)

{FILE*fp;

fp=fopen(fD「w");fputs(str,fp);fclose(fp);

1

main。

1

WriteStrCtl.dat”,“start");

WriteStiTtl.datT'end");

1

程序運(yùn)行后,文件tl.dat中的內(nèi)容是。

A.start

B.end

C?start6nd

D.endrt

二、填空題(每空2分,共40分)

請(qǐng)將每空的正確答案寫在【在至【20】序號(hào)的橫線匕答在試卷上不得分。

(1)某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【1】個(gè)葉子結(jié)點(diǎn)。

(2)在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為[2]j

(3)診斷和改正程序中錯(cuò)誤的工作通常稱為[3]一

(4)在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為[4]一

(5)問題處理方案的正確而完整的描述稱為【5】口

(6)以卜程序運(yùn)行時(shí),若從鍵盤輸入:102030%261t:回車%26蛆,輸出的結(jié)果是[6]

#include

mainQ

{inti=OJ=O,k=O;

scanf("%d%*d%d”,%26amD;i,%26amD;j,%26amp;k);

primf(”%d%d%d\n”,ijk);

1

(7)以下程序運(yùn)行后的輸出結(jié)果是[7]j

#defineS(x)4*x*x+l

mainQ

{inti=6J=8;

printf("%d\n”,S(i+i));

1

(8)以下程序運(yùn)行后的輸出結(jié)果是【8】一

main。

{inta=3,b=4,c=5,t=99;

if(bif(aprimf("%d%d%d\n”ab,c);

1

(9)以下程序運(yùn)行后?的輸III結(jié)果是【9】一

main。

[inta,be

a=10;b=20;c=(a%b%261t;l)ll

(a/b%26gt;l);

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

1

(10)以下程序運(yùn)行后的輸出結(jié)果是【10】-

main。

{charcl,c2;

for(cl=O,c2='9';cl

printfTXn");

1

(11)已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33%261t;

回車%26油,則輸出結(jié)果是【11】一

#include

mainQ

{chara,b;

a=getchar();scanf("%d”,%26amp;b);

a=a,A'+O;b=b*2;

printf("%c%c\n”,a,b);

1

(12)以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值。請(qǐng)?zhí)?/p>

空。

voidfun(int,int,int(*)[4],int*);

main。

{inta[3][4]={{12,41,36,28),{19,33,15,27],13,27,19,lH,b[3Li;

fun(3,4ab):

for(i=0;i%261t;3;i++)printf("M",b[i]);

printfO;

1

voidfun(intm,intn,intarf]⑷,int*br)

{intij,x;

for(i=0;i<M;I++)

{x=ar|i][0|;

for(i=0;i【12]=x;

1

1

(13)以下程序運(yùn)行后的輸出結(jié)果是[13]o

voidswap(intx,inty)

lintt;

t=x:x=y;y=t;printf("%d%d'x,y);

1

mainQ

{inta=3,b=4;

swap(a,b);primf("%d%d,a,b);

1

(14)以下程序運(yùn)行后的輸出結(jié)果是【14】:

#include

voidfun(char*s,intp,intk)

iinti;

for(i=p;i1

main。

{chars「="abcdefg”;

fun(s,3,strlen(s));puts(s);

1

(15)以下程序運(yùn)行后?的輸吐結(jié)果是【15】一

#include

main。

{charchn="abc”,x⑶⑷;inti;

for(i=0;i%261t;3;i++)strcp/(x[il,ch);

for(i=0;i%261t;3;i++)printf("%s\%26amp;xUU);

1

(16)以下程序運(yùn)行后?的輸出結(jié)果是【16】一

fun(inta)

1intb=0;staticintc=3;

b++;c++;

return(a+b+c);

1

mainQ

{inti,a=5;

for(i=0;i%261t;3;i++)printf("%d%d”,i,fun(a));

printfQ;

1

(17)以下程序運(yùn)行后的輸出結(jié)果是【17】一

structNODE

lintk;

structNODE*link;

main。

{structNODEm⑸,*p=m,*q=m+4;

inti=0:

while(p!=q){

p?%26gt;k=++i;p++;

q?%26gt;k=i++;q??;

1

q-%26gt;k=i;

for(i=0;i%261t;5;i++)printf("%d”,m[i].k);

1

(18)以下程序中函數(shù)huiwen的功能是檢查一個(gè)字符串是否是回文,當(dāng)字符串是回文

時(shí),函數(shù)返I口I字符串:yes!,否則函數(shù)返I用字符串:no!,并在主:函數(shù)中輸出,所謂I可文即正

向與反向的拼寫都一樣,例如:adqda。請(qǐng)?zhí)羁铡?/p>

#include

char*huiwen(char*str)

{char*pl,*p2;inii,t=0;

pl=str;p2=【18];

for(i=0;i%261t;=strlen(str)/2;i++)

if(*p1++!=*p2—){t=1;break;}

iff【19】)return(,,yes!H);

elsereturn("no!");

1

main。

{charstr[5O1;

printf("Input:");scanf("%s”,str);

Drintf("%s\n”.【20】上

2005年4月筆試試卷參考答案

?、選擇題

1-5DBDCA

6-10CBDDC

11/5BACDB

16-20CABAB

21?25DABCB

26-30ACDDC

31?35CBBAD

36-40CDCDC

41-45BADBA

46-50ADCDB

二、填空題

(1)[1]19

⑵【2】對(duì)象

(3)【3】程序調(diào)試

(4)【4】關(guān)系

(5)【5】算法

(6)【6】10300

⑺【7】81

【8】4599

【9】10200

£10)【10】0918273645

業(yè)

【11】IB

£12)【12】MU

£131

£14)【13】4334

£15)【14】abcfg

06)【】

£17)15abcbcc

[16]010I11212

【17】13431

(18)【18]str+strlen(str)-l【19]t=1或!t【20】huiwen(str)

2005年9月全國(guó)計(jì)算機(jī)等級(jí)考試:級(jí)C語(yǔ)言筆試試題及答案

一、選擇題((1)一(10)每題2分,(11)一(50)每題1分,共60分)

卜列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫

在答題卡相應(yīng)位置上,答在試卷上不得分。

(1)1列敘述中正確的是

A.程序設(shè)計(jì)就是編制程序

B.程序的測(cè)試必須由程序員自己去完成

C.程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試

D.程序經(jīng)調(diào)試改錯(cuò)改不必進(jìn)行再測(cè)試

(2)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是

A.順序存儲(chǔ)的有序線性衣

B.線性鏈表

C.二叉鏈又

D.有序線性鏈表

(3)下列關(guān)于棧的描述正確的是

A.在棧中只能插入元素而素能刪除元素

B.在棧中只能刪除元素而不能插入元素

C.棧是特殊的線性表,只能在一端插入或刪除元素

D.棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素

(4)下列敘述中正確的是

A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)

C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以可多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率

D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率

(5)卜列描述中正確的是

A.軟件工程只是解決軟件項(xiàng)目的管理問題

B.軟件工程主:要解決軟件產(chǎn)品的生產(chǎn)率問題

C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則

D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題

(6)在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是

A.PDL(過程設(shè)計(jì)語(yǔ)言)

B.PAD圖

C.N-S圖

D.DFD圖

(7)下列敘述中正確的是

A.軟件交付使用后還需要進(jìn)行維護(hù)

B.軟件?旦交付使用就不需要再進(jìn)行維護(hù)

C.軟件交付使用后其生命周期就結(jié)束

D.軟件維護(hù)是指修復(fù)程序中被破壞的指令

(8)數(shù)據(jù)庫(kù)設(shè)計(jì)的根本目標(biāo)是要解決

A.數(shù)據(jù)共享問題

B.數(shù)據(jù)安全問題

C.大量數(shù)據(jù)存儲(chǔ)問題

D.簡(jiǎn)化數(shù)據(jù)維護(hù)

(9)設(shè)有如卜.關(guān)系表:

RST

ABCABCABC

112313112

223223

313

則下列操作中正確的是

A.T=Rf!S

B.T=RUS

C.T=RXS

D.T=R/S

(10)數(shù)據(jù)庫(kù)系統(tǒng)的核心是

A.數(shù)據(jù)模型

B.數(shù)據(jù)庫(kù)管理系統(tǒng)

C.數(shù)據(jù)庫(kù)

D.數(shù)據(jù)庫(kù)管理員

(11)以下敘述中錯(cuò)誤的是

A.用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字

B.用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名知意”

C.用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭

D.用戶定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí)

(12)以下敘述中錯(cuò)誤的是

A.C語(yǔ)句必須以分號(hào)結(jié)束

B.復(fù)合語(yǔ)句在語(yǔ)法上被看作一條語(yǔ)句

C.空語(yǔ)句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行

D.賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語(yǔ)句

(13)以「敘述中正確的是

A.調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)

B.使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h

C.在C語(yǔ)言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D.調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCH碼

(14)以下關(guān)于函數(shù)的敘述中正確的是

A.每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))

B.每個(gè)函數(shù)都可以被單獨(dú)編譯

C.每個(gè)函數(shù)都可以單獨(dú)運(yùn)行

D.在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)

(15)若有語(yǔ)句:char*line[51;,以下敘述中正確的是

A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為char的指針變量

B.定義line是?個(gè)指針變量,該變量可以指向?個(gè)K度為5的字符型數(shù)組

C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符

D.定義line是一個(gè)指向字符型函數(shù)的指針

(16)有以下程序段

typedefstructNODE

1.intnum:structNODE*next;

}OLD;

以下敘述中正確的是

A.以上的說明形式非法

B.NODE是一個(gè)結(jié)構(gòu)體類型

C.OLD是一個(gè)結(jié)構(gòu)體類型

D.OLD是一個(gè)結(jié)構(gòu)體變量

(17)以下敘述中錯(cuò)誤的是

A.C語(yǔ)言中對(duì)二進(jìn)制文件的訪問速度比文本文件快

B.C語(yǔ)?言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)

C.語(yǔ)句FILEfp:定義了一個(gè)名為fp的文件指針

D.C語(yǔ)言中的文本文件以ASCH碼形式存儲(chǔ)數(shù)據(jù)

(18)當(dāng)把以下四個(gè)表達(dá)式用作甘語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)

含義不同,這個(gè)選項(xiàng)是

A.k%2

B.k%2==l

C.(k%2)!=0

D.!k%2==l

(19)以下不能正確計(jì)算代數(shù)式值的C語(yǔ)言表達(dá)式是

A.l/3*sin(l/2)*sin(l/2)

B.sin(0.5)*sin(0.5)/3

C.pow(sin(0.5),2)/3

D.l/3.0*pow(sin(1.0/2),2)

(20)以卜.能正確定義定賦初值的語(yǔ)句是

A.intnl=n2=10;

B.charc=32:

C.floatf=f+l.l;

D.doublex=12.3E2.5;

(21)以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時(shí)出

錯(cuò)。

main。

/*Beginning*/

{intr;floats;

scanf("%d”,%26amp;r);

s=*p*r*r:printf("s=%f\n”,s);

1

出錯(cuò)的原因是

A.注釋語(yǔ)句書寫位置錯(cuò)誤

B.存放圓半徑的變量r不應(yīng)該定義為整型

C.輸此語(yǔ)句中格式描述符非法

D.計(jì)算圓面枳的賦值語(yǔ)句中使用了非法變量

(22)設(shè)有定義:intk=l,m=2:floatf=7;,則以「選項(xiàng)中錯(cuò)誤的表達(dá)式是

A.k=k%26gt;=k

B.-k++

C.k%int(f)

D.k%26gt:=f%26gt:=m

(23)設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是

A.(!a==1)%26amp;%26amp;(!b==0)

B.(a

C?a%26amp;%26amD:b

D?all(b+b)%26amD:%26amp;(c-a)

(24)有以下程序段

intk=0,a=l,b=2,c=3;

k=ac?c:k;

執(zhí)行該程序段后,k的值是

A.3

B.2

C.1

D.0

(25)設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語(yǔ)句

If(a

jf(c==d)y=0;

elsey=1;

該語(yǔ)句所表示的含義是

(26)有以下程序段

intn,t=l,s=0;

scanf("%d”,%26amp;n);

do[s=s+t;t=t-2;}while(t!=n);

為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是

A.任意正奇數(shù)

B.任意負(fù)偶數(shù)

C.任意正偶數(shù)

D.任意負(fù)奇數(shù)

(27)設(shè)變量已正確定義,則以卜.能正確計(jì)算f=n!的程序段是

工地

Lf=L

for(i=1;i%261t;=n:i++)f*=i:for(i=l:i

C.f=l;

for(i=n;i%26gt;l;i++)#=i;for(i=n;i%26gt;=2;i--)f*=i;

(28)設(shè)有定義:intn1=0,n2,*p=%26amp;n2,*q=%26amp;nl;,以下賦值語(yǔ)句中叮n2=nl;

語(yǔ)句等價(jià)的是

A.*p=*a;

B.p=q;

C,*p=%26amp;n1;

D.p=*a:

(29)若有定義:intx=P,*p=%26amp;x;,貝l語(yǔ)句printf("%d\n”,*p);的輸出結(jié)果是

A.隨機(jī)值

B.0

C.x的地址

D.p的地址

(30)設(shè)函數(shù)函n的定義形式為

voidfun(charch,floatx){...}

則以下對(duì)函數(shù)函n的調(diào)用語(yǔ)句中,正確的是

A.fun(“abc”,3.0):

B.t=funCDU6.5):

C?fim-6528);

D?fun(32,32);

(31)有以下程序

main。

{intan01={12345,678910},*p=%26a⑶,*q=p+2;

printf("%d\n",*p+*q);

1

程序運(yùn)行后的輸出結(jié)果是

A.16

B.10

C.8

D.6

(32)有以下程序

main。

1charpUbTclqH="abc”:

printf("%d%d\n\sizeof(p),sizeof(q));

程序運(yùn)行后的輸出結(jié)果是

A.44

B.33

C.34

D.43

(33)有以下程序

#definef(x)(x*x)

main。

lintiLiZ;

il=f(8)/f(4):i2=f(4+4)/f(2+2);

primf("%d,%d\n”,il,i2);

1

程序運(yùn)行后的輸吐結(jié)果是

A.64,28

B.4,4

C.4,3

D.64,64

(34)有以下程序

main。

{charal='M;a2士m';

printf(1,%c\n,\(al,a2));)

以下敘述中正確的是

A.程序輸出大寫字母M

B.程序輸出小寫字母m

C.格式說明符不足,編譯出錯(cuò)

D.程序運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息

(35)有以下程序

#include

main。

{charcl=,l;c2=,2,;

cl=getchar();c2=getchar();putchar(cl);putchar(c2);

1

當(dāng)運(yùn)行時(shí)輸入:a<回車〉后、以下敘述正確的是

A.變量cl被賦予字符a,c2被賦予回車符

B.程序?qū)⒌却脩糨斎氲?個(gè)字符

C.變量cl被賦予字符a,c2中仍是原有字符2

D.變量cl被賦予字符a,c2中將無(wú)確定值

(36)有以下程序

main。

[intk=5,n=0;

while(k>0)

(switch(k)

{default:break;

case1:n+=k:

case2:

case3;n+=k:

1

y

i

printf("%d\n”*n);

1

程序運(yùn)行后的輸出結(jié)果是

A.0

B.4

C.6

D.7

(37)有以下程序

main。

(intan={2A6,8J0hy=0,x,*p;

p=%26a-ll;

for(x=1;xv3;x++)y±=p|xl;

printf("%d\n,y):

1

程序運(yùn)行后的輸出結(jié)果是

A.10

B.11

C.14

D.15

(38)有以下程序

voidsort(intintn)

iinlLiA;

for(i=0;i

for(j=i+1;j

ifgm

1

main。

{intaa[10]=H,2,3,4,5,6,7,8,9,10},i;

sort(aa+2,5);

for(i=0;ivlO;i++)printf("%d,”,aa[i]);

printfQ;

1

程序運(yùn)行后的輸出結(jié)果是

A.123,4,567,891。

B.127,6,3,45891。

C.127.654.3.891。

D.1,2,9,8,7,6,54,3」。

(39)有以下程序

voidsum(inta[1)

{a|Q|=a[-l|+aHI;}

main。

{intaUO="23,4,567,8,9,10);

sum(%26a121);

Drintf("%d\n",a[2]);

1

程序運(yùn)行后的輸出結(jié)果是

A.6

B.7

C.5

D.8

(40)有以下程序

voidswapl(imc0「,inielf])

llntt;

t=c0[01;c0[3=cl[01:cl[3=t;

]

voidswap2(im*c0,int*cl)

lintt;

t=*cO;*c0=*cl;*cl=t;

1

main。

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

swaplQ,a+1);swap2(%26b[01,%26bUD;

printf("%d%d%d%d\n”,a「OLa「LbfO,b"D;

1

程序運(yùn)行后的輸出結(jié)果是

A.3553

B,5335

C.3535

D.5353

(41)有以下程序

#include

main。

{charp「={'a','b','c'},q"O=「a','b'Jc';;

printf("%d%d\n",strlen(p),strlen(q));

1

以下敘述中正確的是

A.在給p和q數(shù)組置初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,故輸出的長(zhǎng)度都為3

B.由于p數(shù)組中沒有字符串結(jié)束符,長(zhǎng)度不能確定;但q數(shù)組中字符串長(zhǎng)度為3

C山于q數(shù)組中沒有字符串結(jié)束符,長(zhǎng)度不能確定;但p數(shù)組中字符串長(zhǎng)度為3

D.由于D和(數(shù)組中都沒有字符串結(jié)束符,故長(zhǎng)度都不能確定

(42)有以下程序,其中函數(shù)f的功能是將多個(gè)字符串按字典順序排序

#include

voidf(char*p[Lintn)

{char*t;intij;

for(i=0;i

for(j=i+l;j

if(strcmp(p「iLp[i[)>0)[p『l=p[il;p[il=t;}

1

main。

{char*T⑸={“abc”,"aabdfg”,“abbd”Jdcdbe”,“cd“);

f(p,5);

Drinlf("%d\n",strlen(p[1]));

1

程序運(yùn)行后的輸壯結(jié)果是

A.2

B.3

C.6

D.4

(43)有以下程序

#include

voidf(charchar*t)

{chark;

s++;I

if(*s)f(s,t);

1

main。

{charstr-10]="abcdefg",*p:

p=str4-strlen(str)/2+1;

f(p,p-2);

printf("%s\n”,str);

1

程序運(yùn)行后的輸出結(jié)果是

A.abcdefg

B?gfedcba

C.gbcdefa

D,abedcfg

(44)有以下程序

floatfl(floatn)

{returnn*n;)

floatf2(floatn)

{return2*n;}

main。

{float(*pl)(float),(*p2)(fk)at),(*t)(float),yl,y2;

pl=fl;p2=f2;

yl=p2(p1(2.0));

t三OilPl邛2;區(qū)三t

y2=p2(p1(2.0));

printf(”%3.0f,%3.0f\n、yl,y2);

1

程序運(yùn)行后的輸出結(jié)果是

A.8,16

B.8,8

C.16,16

D.4,8

(45)有以下程序

inta=2;

intf(intn)

{staticinta=3;

intt=0;

if(n%2){staticinta=4;t+=a++;1

else£staticinta=5;t+=a++;J.

returnt+a++;

1

main。

{ints=a,i;

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

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

1

程序運(yùn)行后的輸出結(jié)果是

A.26

B.28

C.29

D.24

(46)有以下程序

#include

structSTU

{intnum;

floatTotalScore;};

voidf(structSTUp)

{structSTUs⑵=({20044,5501,120045,537)

p.num=s[1].num;p.TotalScore=s[11.TotalScore;

1

main。

{structSTUs[21=([20041.70320042,580;

f(s|OD;

printf("%d%3.0f\n",sfOLnum,s[0].TotalScore);

1

程序運(yùn)行后的輸出結(jié)果是

A.20045537

B.20044550

C.20042580

D.20041703

(47)有以下程序

#include

structSTU

{charnamef101;

intnum;);

voidf(char*name,intnum)

{structSTUs⑵=TSunDan120044),{"Penghua\20045)};

num=s「O].num;

strcpy(name,s[O].name);

}

main。

{structSTUs⑵=({"YangSan”,20041:「LiSiGuo,20042H,*p;

p=%26s1l];f(p->name,p->num);

printf("%s%d\n”,p->name,p?>num);

1

程序運(yùn)行后的輸出結(jié)果是

A.SunDan20042

B.SunDan20044

C.LiSiGuo20042

D.YangSan20041

(48)有以下程序

structSTU

£charnamaUO];intnum;floatTotalScore;};

voidf(structSTU*p)

{structSTUsr21=""SunDan\20044,550LOPenghua”,20045,537][,*a=s;

++p;++q;*p=*q;

1

main。

(structSTUs[31=TYangSan”,20041,703],1"LiSiGuo”,20042,580]];

fish

printf("%s%d%3.0f\n>,,s[1].name,s[1].num,s[1].TotalScore);

1

程序運(yùn)行后的輸出結(jié)果是

A.SunDan20044550

B.Penghua20045537

C.LiSiGuo20042580

D.SunDan20041703

(49)以下程序的功能是進(jìn)行位運(yùn)算

main。

{unsignedchara,b;

a=7八3;b=?4%263;

primf("%d%d\n”ab);

1

程序運(yùn)行后的輸出結(jié)果是

A.43

B.73

C.70

D.40

(50)有以下程序

#include

main()

{FILE*fp;inti,k,n;

fgfopenC'data.dat","w+");

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

{fprintfffp/^dna);

if(i%3==0)fprintf(fp,"\n");

1

rewind(fp):

fscanf(fp,"%d%d\%26k,%26n);primf("%d%d\n”,k,n);

fclose(fp);

1

程序運(yùn)

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

A.00

B.12345

C.14

D.12

二、填空題(每空2分,共40分)

請(qǐng)將每?個(gè)空的正確答案寫在答題卡【1】至【20】序號(hào)的橫線匕答在試卷上不得分。

(1)數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)三個(gè)階段,其中數(shù)

據(jù)獨(dú)立性最高的階段是[11―

(2)算法復(fù)雜度主要包括時(shí)間復(fù)雜度和【2】復(fù)雜度。

(3)在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接

模塊(樁模塊)。其中【3】的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊

所產(chǎn)生的結(jié)果。

(4)一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為[4]個(gè)。

(5)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于[5]結(jié)構(gòu)。

(6)以下程序運(yùn)行后的輸出結(jié)果是[6]-

main。

{intx=0210:printf(''%X\n\x):

1

(7)以下程序運(yùn)行后的輸出結(jié)果是[7]一

main。

{inta=Lb=2,c=3:

if(c=a)Drintf("%d\n”,c);

elseprintf("%d\n",b);

1

(8)已有定義:double*p;,請(qǐng)寫出完整的語(yǔ)句,利用malloc函數(shù)使p指向一個(gè)雙精度

型的動(dòng)態(tài)存儲(chǔ)單元【8】一

(9)以下程序運(yùn)行后的輸出結(jié)果是【9】一

main。

{charc;intn=100;

floatf=10;doublex;

x=f*=n/=(c=50);

printf("%d%f\n”,n,x);

1

(10)以下程序的功能是計(jì)算:s=l+12+123+1234+12345。請(qǐng)?zhí)羁铡?/p>

main。

{intt=0,s=0j;

for(i=l;iv=5;i++)

{t=i+110】;s=s+t;}

printf("s=%d\n”,s):

1

(11)已知字母A的ASCH碼為65。以下程序運(yùn)行后的輸出結(jié)果是【11】一

main。

{chara,b;

a='A'+5-3;b=a+'6'-2;

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

1

(12)有以下程序

intsub(intn)£return(n/10+n);J.

main。

{intx,y;

scanf(”%d”,%26x);

y=sub(sub(sub(x)));

printf("%d\rT,y);

1

若運(yùn)行時(shí)輸入:1234〈回車〉,程序的輸出結(jié)果是【⑵-

(13)以下函數(shù)sstrcatO的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指

字符串的尾部。例如:s所指字符串為abed,t所指字符串為efgh,函數(shù)調(diào)用后s所指字符

串為abcdefgh。請(qǐng)?zhí)羁铡?/p>

#include

voidsstrcat(char*s,char*t)

lintn;

n=strlen(s);

while(*(s+n)=[13])[s++;t++;1

1

(14)以下程序運(yùn)行后的輸出結(jié)果是【14】一

#include

char*ss(char*s)

{chart;

p=s+l;t=*s;

while(*p)1=垣B±±ll

*(p-l)=t;

returns;

1

main。

{char*p,str[101=,,abcdefgh,';

p=ss(str);

printf("%s\n",p);

1

(15)以下程序運(yùn)行后的輸出結(jié)果是【15】—

intf(inta[Lintn)

{if(n>=1)returnf(a,n-l)+a[n-11;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論