2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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)介

2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.設(shè)C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為()。

A.0~255B.0~32767C.0~65535D.0~2147483647

3.

4.要聲明一個(gè)有10個(gè)int型元素的數(shù)組,正確的語(yǔ)句是()。

A.inta[10];B.inta[2,5];C.inta[];D.int*a[10];

5.第

24

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

char*p="abcdefgh";

p+=3;

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

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

6.若有以下說(shuō)明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯(cuò)誤的是

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

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

C.程序段:data.a=5;printf(“%I'm”,data.C);輸出結(jié)果為5.000000

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

7.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。

A.334HB.30DHC.352HD.31AH

8.

9.以下正確的字符串常量是()。A.“\\\”B.‘a(chǎn)bc’C.OlympicGamesD.“”

10.

11.以下程序運(yùn)行后的輸出結(jié)果是______。intd=1;fun(intp){staticintd=d;d+=p;printf("%d",d);returnd;}main(){inta=3;printf("%d\n",fun(a+fun(d)));}

A.699B.669C.61515D.6615

12.下列語(yǔ)句組中正確的是()。

A.char*s;s={“BOOK!”};

B.char*s;s=“BOOK!”;

C.chars[10];s=“BOOK!”;

D.chars[];s=“BOOK!”;

13.鏈表不具有的特點(diǎn)是()。A.A.不必事先估計(jì)存儲(chǔ)空間

B.可隨機(jī)訪(fǎng)問(wèn)任意元素

C.插入、刪除不需要移動(dòng)元素

D.所需空間與線(xiàn)性表長(zhǎng)度成正比

14.算法的空間復(fù)雜度是指()。

A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法所需要的存儲(chǔ)空間

15.有以下程序

#include<stdio.h>

intfun()

{staticintx=1;

x*2;returnx;

}

main()

{inti,s=1,

for(i=1;i<=2;i++)s=fun();

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

程序運(yùn)行后的輸出結(jié)果是A.A.0B.1C.4D.8

16.

17.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.2,3,1,2B.9,9,2,9C.8,10,2,8D.9,9,1,9

18.若有以下程序段

intm=0xabc,n=0xabc;

m-=n;

printf("%x\n",m);

執(zhí)行后的輸出結(jié)果是A.A.0X0

B.0x0

C.0

D.0xABC

19.C語(yǔ)言的基本單位是()。

A.函數(shù)B.過(guò)程C.子程序D.子函數(shù)

20.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。

A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類(lèi)型的數(shù)據(jù)D.可以是任意合法的表達(dá)式

二、2.填空題(20題)21.在面向?qū)ο蠓椒ㄖ校尽棵枋龅氖蔷哂邢嗨茖傩耘c操作的一組對(duì)象。

22.有以下程序片段,請(qǐng)問(wèn)執(zhí)行后的輸出結(jié)果是【】。

intn=10;

while(n>7)

{printf("%d",n--);

}

23.若x為int類(lèi)型,請(qǐng)寫(xiě)出與!x等價(jià)的C語(yǔ)言表達(dá)式______。

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

#include<stdio.h>

main()

{intx=20;

printf("%d",0<x<20);

printf("%d\n",0<x&&x<20);

}

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

#include<stdio,h>

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

main()

{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

fun(3,4,a,b);

for(i=0;i<3;i++)printf("%4d",b[i]);

prinff("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{x=ar[i][0];'

for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];

【】=x;

}

}

26.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱(chēng)為一個(gè)______。

27.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于______的聯(lián)系。

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

29.有以下程序:

#include<stdio.h>

main()

{intn=0,m=1,x=2;

if(!n)x-=1;

if(m)x-=2;

if(x)x-=3;

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

}

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

30.函數(shù)viodfun(float*sn,intn)的功能是:根據(jù)以下公式計(jì)算S,計(jì)算結(jié)果通過(guò)形參指針sn傳回;n通過(guò)形參傳入,n的值大于等于0。請(qǐng)?zhí)羁铡?/p>

s=1-1/3+1/5-1/7+…1/(2n+1)

voidfun(float*sn,intn)

{floats=0.0,w,f=-1.0;

inti=0;

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

{f=【】*f;

w=f/(2i+1);

s++=w;

}

【】=s;

}

31.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i]+i;

printf("%d\n"k);}

32.深度為5的滿(mǎn)二叉樹(shù)有()個(gè)葉子節(jié)點(diǎn)。

33.模式/內(nèi)模式映射為數(shù)據(jù)庫(kù)提供了【】數(shù)據(jù)獨(dú)立性。

34.面向?qū)ο蟮哪P椭?,最基本的概念是?duì)象和______。

35.以下程序運(yùn)行后的輸出結(jié)果是______。

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

36.下列程序的輸出結(jié)果是______。

main()

{inta[]={31,27,20,12,6,1},*p=a;

p++;

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

}

37.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。

38.以下fun函數(shù)的功能是:累加數(shù)組元素中的值,n為數(shù)組中元素的個(gè)數(shù)。累加的和值放入x所指的存儲(chǔ)單元中。補(bǔ)足所缺語(yǔ)句。

fun(intb[],intn,int*x)

{intk,r=0;

for(k=0;k<n;k++)r=【】;

【】=r;

}

39.下列程序的運(yùn)行結(jié)果是______。

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

{if(i%2==0)printf("\n");

printf("%d",a[i]);

}

}

40.【】(黑箱或白箱)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。

三、1.選擇題(20題)41.下列選項(xiàng)中不合法的+六進(jìn)制數(shù)是()。

A.OxffB.OXllC.OxlgD.OXabc

42.在下列敘述中,錯(cuò)誤的一條是______。

A.對(duì)關(guān)系的描述稱(chēng)為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu)

B.不同元組對(duì)同一個(gè)屬性的取值范圍稱(chēng)為域

C.二維表中的行稱(chēng)為屬性

D.所謂關(guān)鍵字,即屬性或?qū)傩越M合,其值能夠惟一標(biāo)識(shí)一個(gè)元組

43.調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()。

A.地址傳遞B.單向值傳遞C.由實(shí)參傳形參,再由形參傳實(shí)參D.傳遞方式由用戶(hù)指定

44.下列二維數(shù)組初始化語(yǔ)句中,不正確的是()。

A.intb[][2]={1,2,3,4,5,6,7};

B.intb[3][5]={0,0,0};

C.intb[][4]={{1,2},{3,4,5},{6}};

D.intb[3][2]={(1,2),(3,4),(5,6)};

45.設(shè)變量均已正確定義,若要通過(guò)scanf("%d%c%d%c",&a1,&c1,&a2,&c2);語(yǔ)句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式正確的是(注:□代表空格字符)()。

A.10□X□20□Y<回車(chē)>

B.10□X20□Y<回車(chē)>

C.10□X<回車(chē)>

D.10X<回車(chē)>20□Y<回車(chē)>20Y<回車(chē)>

46.設(shè)有關(guān)鍵碼序列(66,13,51,76,81,26,57,69,23),要按關(guān)鍵碼值遞增的次序排序,若采用快速排序法,并以第一個(gè)元素為劃分的基準(zhǔn),那么第一趟劃分后的結(jié)果為()。

A.23,13,51,57,66,26,81,69,76

B.13,23,26,51,57,66,81,76,69

C.23,13,51,57,26,66,81,69,76

D.23,13,51,57,81,26,66,69,76

47.有以下程序fun(intx){intp;if(x==0‖x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是

A.7B.3C.2D.0

48.下列關(guān)于軟件測(cè)試的目的和準(zhǔn)則的敘述中,正確的是()

A.軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤

B.主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤

C.主要目的是確定程序中錯(cuò)誤的位置

D.測(cè)試最好由程序員自己來(lái)檢查自己的程序

49.執(zhí)行以下語(yǔ)句后的輸出結(jié)果是______。intx=10,y=3,z;printf("%d\n",z=(x%y,x/y));

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

50.以下正確的函數(shù)頭定義形式是()。

A.doublefun(intx,inty)

B.doublefun(intx;inty)

C.doublefun(intx,inty);

D.doublefun(intx,y);

51.以下標(biāo)識(shí)符不是關(guān)鍵字的是()。

A.breakB.charC.switchD.return

52.下列關(guān)于棧的敘述正確的是()

A.棧是非線(xiàn)性結(jié)構(gòu)B.棧是一種樹(shù)狀結(jié)構(gòu)C.棧具有先進(jìn)先出的特征D.棧具有后進(jìn)先出的特征

53.main(intargc,char*argv[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}假定以上程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入PROGABCDEFGHIJKL,則輸出結(jié)果為_(kāi)_____。

A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH

54.下列程序的輸出結(jié)果是()。

main

{

doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}

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

55.下面的程序輸出結(jié)果是______。#definer16#ifr==16voidp(inta){printf("%x",a);}#elsevoidp(inta){printf("%d",a);}#endifmain(){p(32);}

A.32B.20C.編譯時(shí)錯(cuò)誤D.運(yùn)行時(shí)錯(cuò)誤

56.已定義c為字符型變量,則下列語(yǔ)句中正確的是()。

A.c='97'B.c="97"C.c=97D.c="a"

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

A.log2nB.n/2C.nD.n+1

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

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

B.C程序的書(shū)寫(xiě)格式是固定的,每行只能寫(xiě)一條語(yǔ)句

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

D.在對(duì)C語(yǔ)言程序進(jìn)行編譯時(shí),可以發(fā)現(xiàn)注釋行中的拼寫(xiě)錯(cuò)誤

59.以下程序的輸出結(jié)果是()main(){inta=2,k;for(k=0;k<3;k++)printf("%4d",f1(a));}f1(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}

A.777B.71013C.7911D.789

60.算法的時(shí)間復(fù)雜度是指______。

A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)

四、選擇題(20題)61.

62.

有下列程序:

main

{intx=5;

do

{printf("%d",X-=4);)

while(!(--x));

}

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

A.1B.20C.1-4D.死循環(huán)

63.以下程序的功能是計(jì)算:s=1+12+123+1234+12345

A.tB.t*10C.t*100D.t+10

64.用樹(shù)形結(jié)構(gòu)來(lái)表示實(shí)體之間聯(lián)系的模型稱(chēng)為

A.層次模型B.關(guān)系模型C.網(wǎng)狀模型D.?dāng)?shù)據(jù)模型

65.為了避免在嵌套的條件語(yǔ)句ifelse中產(chǎn)生二義性,C語(yǔ)言規(guī)定,else子句總是與()配對(duì)。

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

66.

有以下程序

#include<stdi0.h>

main

{FILE*fp;inta[0]一{1,2,3,0,0},i;

fp=fopen("d2.dat,"wb");

fwrite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a.sizeof(int),10,fp);

fclose(fp);

for(i=0;i<10;i++)printft("%d",a[i]);

}

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

A.1,2,3,0,0,o,0,0,0,0,

B.1,2,3,1,2,3,0,0,0,0,

C.123,0,0,0,0,123,0,0,0,0,

D.1,2,3,0,0,1,2,3,0,0,

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

A.C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序

B.C程序經(jīng)過(guò)編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件

C.用C語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序,它以ASCII碼形式存放在一個(gè)文本文件中

D.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

68.數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語(yǔ)言是()。A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)管理語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言

69.

70.下列選項(xiàng)中屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是()。

A.可封裝

B.多態(tài)性

C.自下而上

D.逐步求精

71.

72.

73.“年齡在18~25之間”這種約束是屬于數(shù)據(jù)庫(kù)當(dāng)中的()。A.A.原子性措施B.一致性措施C.完整性措施D.安全性措施

74.在深度為5的滿(mǎn)二叉樹(shù)葉中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。

A.32B.31C.16D.15

75.

76.

77.瀏覽器中用于負(fù)責(zé)向用戶(hù)顯示數(shù)據(jù)的是()。

A.WWWB.IP地址C.HTMLD.DNS

78.有以下程序段:

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

A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)

79.以下正確的字符串常量是()。

A."\\\"B.abcC.OlympicGamesD.""

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的作用是:將字符串str中的大寫(xiě)字母都改為對(duì)應(yīng)的小寫(xiě)字母,其他字符不變。例如,若輸入“abD,dFAD”,則輸出“abd,dfad”。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為13579299946999813570則函數(shù)值為61。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:1#include2#include3#include4#defineM45#defineN56intfun(inta[m][n])7{89}10voidmain()11{12FILE*wf;13intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};14inti,j,y;15system("CLS");16printf("Theoriginaldatais:\n");17for(i=0;i<m;i++)18{for(j=0;j<n;j++)19printf("%6d",aa[i][j]);20printf("\n");21}22y=fun(aa);23printf("\nThesum:%d\nM,y);24printf("\n");25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%d",y);28fclose(wf)29/******************/30}

參考答案

1.B

2.C

3.D

4.A

5.C在本題中,程序段首先定義了字符型指針變量p,并使其指向一個(gè)字符串,然后將指針變量p加3,即使其指向字符串的第四個(gè)元素。然后執(zhí)行輸出語(yǔ)句,通過(guò)輸出語(yǔ)句的輸出格式我們可以知道,最后輸出的是一個(gè)十進(jìn)制數(shù)的整型數(shù)值,其輸出列表為strlen(strcpy(P,″ABCD″))。這就要求我們了解strlen函數(shù)和strcpy函數(shù)的作用。

strcpy的調(diào)用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串復(fù)制到目的地址中,這種復(fù)制將覆蓋原來(lái)的字符串。strcat函數(shù)的功能是將源地址的字符串復(fù)制到目的地址字符串的后面。

strlen的調(diào)用格式是:strlen(字符串地址),其功能是返回字符串中字符的個(gè)數(shù)。

那么程序中執(zhí)行strcpy(P,″ABCD″)后指針變量p所指向的字符串為“ABCD”,該字符串中字符的個(gè)數(shù)為4,那么執(zhí)行strlen后,程序最終輸出的結(jié)果是4。因此本題正確的答案是C。

6.C解析:本題考查的共用體的概念。共用體變量中的所有成員共享一段公共存儲(chǔ)區(qū),所以共用體變量所占內(nèi)存字節(jié)數(shù)與其成員中占字節(jié)數(shù)最多的那個(gè)成員相等.本題定義的共用體中成員C所占的內(nèi)存最多,因此選項(xiàng)B是正確的。由于共用體變量中的所有成員共享存儲(chǔ)空間,因此變量中的所有成員的首地址相同,選項(xiàng)A是正確的。同結(jié)構(gòu)體變量一樣,共用體類(lèi)型的變量可以作為實(shí)參進(jìn)行傳遞,也可以傳送共用體變量的地址,選項(xiàng)D也是正確的。在內(nèi)存中,實(shí)數(shù)與整數(shù)的存放形式完全不一樣,共用體的成員共用的是同一塊內(nèi)存,而不是同一個(gè)數(shù)值,因此選項(xiàng)C是錯(cuò)誤的。

7.C解析:解答本題,首先要明白在對(duì)指針進(jìn)行加、減運(yùn)算的時(shí)候,數(shù)字“1”不是十進(jìn)制的數(shù)“1”,而是指'1'個(gè)存儲(chǔ)單元長(zhǎng)度,而1個(gè)存儲(chǔ)單元長(zhǎng)度占多少存儲(chǔ)空間,應(yīng)該視具體情況而定。如果基本類(lèi)型是int型,移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移2個(gè)字節(jié),如果基本類(lèi)型是float型,移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標(biāo))4)H=352H。

8.B

9.D在C語(yǔ)言中,字符串常量是用雙引號(hào)標(biāo)注的字符序列,因此B選項(xiàng)和C選項(xiàng)不正確。字符序列中可包含一些轉(zhuǎn)義字符,轉(zhuǎn)義字符以“\\”開(kāi)頭。A選項(xiàng)中包含3個(gè)前兩個(gè)(\\\\)代表一個(gè)“\\”字符,后面一個(gè)為“””。因?yàn)閈\”被看作一個(gè)“””,所以該字符串缺少一個(gè)結(jié)束的“””。因此A選項(xiàng)不正確。D選項(xiàng)的兩個(gè)“”之間沒(méi)有任何字符,代表的是一個(gè)空串,是合法的字符串常量,因此D選項(xiàng)正確。B選項(xiàng)的abc應(yīng)該使用雙引號(hào)標(biāo)注。故本題答案為D選項(xiàng)。

10.C

11.C解析:靜態(tài)局部變量在編譯時(shí)賦初值,即只賦韌值一次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值,而對(duì)自動(dòng)變量賦初值,不是在編譯時(shí)進(jìn)行的,而在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用一次函數(shù)重新給一次初值,相當(dāng)于執(zhí)行一次賦值語(yǔ)句。本題在程序開(kāi)頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第一次調(diào)用函數(shù)fun時(shí),d初值為5,p由主函數(shù)傳遞過(guò)來(lái)的值為1,則d=d+p=5+1=6,由于d是靜態(tài)局部變量,在函數(shù)調(diào)用結(jié)束后,它仍保留d=6。再次調(diào)用fun函數(shù),d的初值為6,而由主函數(shù)傳遞的p的值為9,則此時(shí)d=d+p=6+9=15,最后打印輸出d的值并返回主函數(shù)。

12.BA選項(xiàng)去掉花括號(hào)后,賦值正確;C選項(xiàng)和D選項(xiàng)應(yīng)在定義時(shí)賦初值,因?yàn)閿?shù)組名相當(dāng)于常量,不能重新賦值。故本題答案為B選項(xiàng)。

13.B鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,插入、刪除不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間,它是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。

14.D解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

15.C

16.C

17.D程序定義了一個(gè)整型數(shù)組a,它包含5個(gè)整型元素,分別是1,2,3,4,5。數(shù)組名a代表數(shù)組的首地址,另外還定義整型指針P,將a傳給函數(shù)f。在函數(shù)f中,首先將指針s向右移動(dòng)一個(gè)整型變量的長(zhǎng)度,此時(shí)s指向元素2(a[1])。S[1](a[2]);表示元素3,自增6后s[1](a[2])的值為9。表達(dá)式“+=7”;表示將*(s--)指向的元素自增7,即S[0](a[1])的值為9,s向左移動(dòng)一個(gè)整型變量的長(zhǎng)度,此時(shí)s指向元素1(a[0]),最后將s返回并賦給p。經(jīng)過(guò)函數(shù)f的調(diào)用可知:P指向數(shù)組a的第1個(gè)元素,a[1]和a[2]值為9。綜上,輸出結(jié)果為:9,9,1,9。本題答案為D選項(xiàng)。

18.C本題考查C語(yǔ)言中的數(shù)據(jù)輸出格式。

題目中定義了兩個(gè)整型變量m、n,對(duì)這兩個(gè)變量賦值,輸入的數(shù)值為十六進(jìn)制整數(shù),并且有m=n。進(jìn)行m-n運(yùn)算后,將減法所得到的值賦給m,并將m值輸出。其中printf的格式字符選用的格式字符為x,即以十六進(jìn)制形式輸出整數(shù)。注意,0x是表示該數(shù)為十六進(jìn)制的標(biāo)志,輸出數(shù)據(jù)時(shí),數(shù)據(jù)前面不會(huì)自動(dòng)加上進(jìn)制的標(biāo)志。

19.AA?!窘馕觥緾語(yǔ)言是函數(shù)式的語(yǔ)言。它的基本組成單位是函數(shù),在C語(yǔ)言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。

20.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。

21.類(lèi)類(lèi)解析:在面向?qū)ο蠓椒ㄖ?,?lèi)描述的是具有相似屬性與操作的一組對(duì)象。

22.1098

23.x==0x==0解析:!x的邏輯意思就是x為非,即x==0。

24.1010解析:表達(dá)式0<x<20,首先計(jì)算0<x,其值為1,再計(jì)算1<20,其值為1,輸出1;表達(dá)式0<x&&x<20,0<x為1,x<20為0,再計(jì)算1&&0,其值為0,輸出0。所以輸出結(jié)果為10。

25.br[i]或*(br+i)br[i]或*(br+i)解析:程序中的數(shù)組a是一個(gè)3行4列的二維數(shù)組,一維數(shù)組b用于存放每行的最大數(shù)。在函數(shù)fun中,通過(guò)二重for循環(huán)求每行的最大數(shù),外層for循環(huán)用于控制行數(shù),內(nèi)層for循環(huán)用于控制列數(shù),當(dāng)外層循環(huán)執(zhí)行一次時(shí),內(nèi)層循環(huán)則從一行的4個(gè)數(shù)中找出最大數(shù)x,然后將最大值x賦給數(shù)組br,故空格處應(yīng)填br[i]或*(br+i)。

26.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。

27.1對(duì)多(或1:N)1對(duì)多(或1:N)

28.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

29.-4-4解析:因?yàn)閚=0,所以!n為真,執(zhí)行x-=1;得到x=x=2-1=1;m=1為真,執(zhí)行x-=2;得到x=x-2=1-2=-1;x=-1為真,執(zhí)行x-=3;得到x=x-3=-1-3=-4。

30.-1或-1.0或-1*sn-1或-1.0或-1\r\n*sn

31.1212解析:本題通過(guò)第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過(guò)第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:

i=1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

32.1616解析:在滿(mǎn)二叉樹(shù)中,每一層上的節(jié)點(diǎn)數(shù)都達(dá)到最大值,在第k層上有2[k-1]個(gè)節(jié)點(diǎn),且深度為m的滿(mǎn)二叉樹(shù)有2[m]-1個(gè)節(jié)點(diǎn),深度為5的滿(mǎn)二叉樹(shù)葉子節(jié)點(diǎn)數(shù)為2[5-1]=16。

33.物理物理

34.類(lèi)類(lèi)

35.136136解析:本題考核的知識(shí)點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。

36.1212解析:本題簽考查如何用指針引用數(shù)組元素。分析程序,首先定義了一個(gè)指向數(shù)組a的指針p,p指向數(shù)組的首地址,通過(guò)p++,將p指向a[1],p+2是將指針后移2位指向a[3],*(p+2)即是取a[3)的值12。

37.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開(kāi)發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。

38.r+b[k]或b[k]+r或r+*(b+k)或*(b+k)+r*xr+b[k]或b[k]+r或r+*(b+k)或*(b+k)+r\r\n*x

39.11<CR>23<CR>5(<CR代表?yè)Q行)11<CR>23<CR>5(<CR,代表?yè)Q行)解析:本題通過(guò)語(yǔ)句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項(xiàng)的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語(yǔ)句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個(gè)的形式輸出。

40.黑箱黑箱解析:本題考查了軟件測(cè)試中的黑箱測(cè)試。黑箱測(cè)試是根據(jù)程序規(guī)格說(shuō)明所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。常用的黑箱測(cè)試技術(shù)分為等價(jià)類(lèi)劃分、邊界分析、錯(cuò)誤猜測(cè)以及因果圖等。

41.C解析:+六進(jìn)制是以“0x”或“0X”開(kāi)頭的字符串,字符串中只能含有0~9這10個(gè)數(shù)字和a、b、c、d、s、f這6個(gè)字母。

42.C

43.B解析:如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是由實(shí)參傳給形參,而形參值的改變不能改變實(shí)參的值。

44.D解析:在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0;C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第1個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第2個(gè)方括號(hào)中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個(gè)數(shù)。

在選項(xiàng)D)賦值表達(dá)式中,對(duì)每一維的元素賦初值應(yīng)用{},而不是()。

45.D解析:當(dāng)從鍵盤(pán)輸入字符,并且在格式說(shuō)明中未制定寬度時(shí),輸入字符(包括空格符、回車(chē)符、Tab符)將按順序賦予各輸入項(xiàng)。也就是說(shuō),輸入字符之間沒(méi)有間隔符,所以選項(xiàng)D是正確的。

46.AA)【解析】快速排序是起泡排序的改進(jìn)。在快速排

序中,任取一個(gè)記錄,以它為基準(zhǔn)用交換的方法將所有的記錄分成兩部分,關(guān)鍵碼值比它小的在一部分,關(guān)鍵碼值比它火的在另一部分,再分別對(duì)兩個(gè)部分實(shí)施上述過(guò)程,一直重復(fù)到排序完成。

47.C解析:因?yàn)閒un(intx)是一個(gè)遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過(guò)三次遞歸調(diào)用,其過(guò)程可以描述為'fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2”,所以最后的輸出結(jié)果為2。

48.BB)【解析】軟件側(cè)試的目的:

\n①軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;

\n②一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤;

\n⑧一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤。

\n軟件側(cè)試的準(zhǔn)則:

\n①所有測(cè)試都應(yīng)追溯到需求;

\n②嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性;

\n③充分注意測(cè)試中的群集現(xiàn)象:

\n④程序員應(yīng)避免檢查自己的程序;

\n⑤窮舉測(cè)試不可能;

\n⑥妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。

49.D

50.A解析:函數(shù)的形式參數(shù)之間以逗號(hào)“,”隔開(kāi),且每個(gè)變量均需說(shuō)明其數(shù)據(jù)類(lèi)型,圓括號(hào)后面不能有分號(hào)。只有選項(xiàng)A)符合要求。

51.C解析:此題考查標(biāo)識(shí)符和關(guān)鍵字的概念。需要注意的是C語(yǔ)言是區(qū)分大小寫(xiě)的,switch是關(guān)鍵字,但Switch不是關(guān)鍵字。

52.D解析:棧是一種對(duì)操作的位置加以限制的線(xiàn)性表,它采用了順序存儲(chǔ)方式,屬于線(xiàn)性結(jié)構(gòu)。與隊(duì)列不同,棧只允許在表的一端進(jìn)行插入或刪除操作,具有后進(jìn)先出的特征。

53.C解析:本題主函數(shù)帶有兩個(gè)參數(shù),一個(gè)int型變量argc,另一個(gè)是char型的一維一級(jí)指針數(shù)組argv。當(dāng)主函數(shù)被執(zhí)行時(shí),系統(tǒng)自動(dòng)將根據(jù)命令行的情況,分別給主函數(shù)的兩個(gè)參數(shù)賦值。Argc中存放命令行中命令字和參數(shù)的總和的個(gè)數(shù),argv用來(lái)存放命令行中命令字和所有參數(shù)的字符串的,并規(guī)定avgv[0]存放命令字字符串,argv[1]用來(lái)存放第一個(gè)參數(shù)的字符串,argv[2]用來(lái)存放第2個(gè)參數(shù)的字符串,依此類(lèi)推。題中argc的值是2,執(zhí)行完--argc后為1,輸出argv[1],此數(shù)組存在第一個(gè)參數(shù)的字符串ABCDEFGHIJKL。

54.C解析:本題中,程序先執(zhí)行語(yǔ)句x=1.2;,根據(jù)賦值運(yùn)算的類(lèi)型轉(zhuǎn)換規(guī)則,先將double型的常量1.2轉(zhuǎn)換為int型,即取整為1,然后將1賦值給變量x。接下來(lái)執(zhí)行語(yǔ)句y=(x+3.8)/5.0;根據(jù)運(yùn)算符的優(yōu)先級(jí),先計(jì)算小括號(hào)內(nèi),再計(jì)算除法,最后執(zhí)行賦值運(yùn)算。小括號(hào)內(nèi)的運(yùn)算過(guò)程:先將整型變量x的值1轉(zhuǎn)換為double型1.0,然后與3.8進(jìn)行加法運(yùn)算,得到中間結(jié)果4.8。接著進(jìn)行除法運(yùn)算4.8/5.0,其結(jié)果小于1.0,這里沒(méi)有必要計(jì)算出精確值,因?yàn)榻又M(jìn)行賦值運(yùn)算,賦值號(hào)左邊的變量y的類(lèi)型為整型,于是對(duì)這個(gè)小于1.0的中間結(jié)果進(jìn)行取整,結(jié)果為0,于是變量y的值為0,d*y的值也為0。注意:格式輸出語(yǔ)句printf的使用。

55.B解析:“#definer16”的作用是指定用標(biāo)識(shí)符r來(lái)代替16,因此程序編譯時(shí)只編譯#if部分,故程序運(yùn)行時(shí),打印輸出十六進(jìn)制的32,即20。

56.C解析:本題考核的知識(shí)點(diǎn)是字符型變量的基本概念。用單引號(hào)括起來(lái)的一個(gè)字符稱(chēng)為字符常量,而選項(xiàng)B和選項(xiàng)D中用的是雙引號(hào),而用雙引號(hào)括起來(lái)的字符為字符串常量,故選項(xiàng)B和選項(xiàng)D不正確。因?yàn)樵贑語(yǔ)言中,字符常量在存儲(chǔ)時(shí),并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的相應(yīng)的ASCII代碼放到存儲(chǔ)單元中,所以C語(yǔ)言使字符型數(shù)據(jù)和整形數(shù)據(jù)之間可以通用,選項(xiàng)C正確.而選項(xiàng)A中,給字符型變量賦值時(shí)只能賦一個(gè)字符,而9,7作為字符時(shí)為兩個(gè)字符且必須分別為單引號(hào)括起來(lái),故選項(xiàng)A不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

57.C本題考查的是順序查找。在進(jìn)行順序查找過(guò)程中,如果線(xiàn)性表中的第一個(gè)元素就是被查找元素,則只需做一次比較就查找成功,查找效率最高;但如果被查找的元素是線(xiàn)性表中的最后一個(gè)元素,或者被查找的元素根本就不在線(xiàn)性表中,則為了查找這個(gè)元素需要與線(xiàn)性表中所有的元素進(jìn)行比較,這是順序查找的最壞情況。所以對(duì)長(zhǎng)度為n的線(xiàn)性表進(jìn)行順序查找,在最壞情況下需要比較n次。故本題答案為C。

58.A本題考查的是C語(yǔ)言程序設(shè)計(jì)的初步知識(shí)。選項(xiàng)A),程序中/*......*/表示注釋部分,注釋只是給人看的,對(duì)程序的編譯和運(yùn)行不起作用,司以在程序中的任何位置:選項(xiàng)B),C語(yǔ)言的書(shū)寫(xiě)格式自由,一行可以寫(xiě)多條語(yǔ)句,一條語(yǔ)句也可以寫(xiě)在不同行上:選項(xiàng)C),一個(gè)C程序中必須有且只能有一個(gè)由“main”命名的主函數(shù),其他函數(shù)由用戶(hù)自行命名;選項(xiàng)D),程序的注釋僅僅是提供閱讀之用,并不參與程序的編譯,所以編譯也就不會(huì)發(fā)現(xiàn)注釋行中的錯(cuò)誤。

59.D解析:程序中使用一個(gè)for循環(huán),3次輸出函數(shù)f1(2)的返回值。f1()函數(shù)中存在一個(gè)靜態(tài)局部變量c,第1次調(diào)用f1()函數(shù)返回a+b+c=2+1+4=7,c變?yōu)?,第2次調(diào)用返回2+1+5=8,c變?yōu)?,第3次返回2+1+6=9。所以正確答案是D。

60.C解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀(guān)地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫(xiě)算法程序所使用的程序設(shè)計(jì)語(yǔ)言、執(zhí)行算法程序時(shí)所使用的計(jì)算的工具以及程序員的水平無(wú)關(guān)。選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤,因?yàn)樗惴ㄋ帉?xiě)的程序長(zhǎng)度往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語(yǔ)言或者不同的程序員所編寫(xiě)出的程序其長(zhǎng)度可能會(huì)大不相同。選項(xiàng)D錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來(lái)度量算法的時(shí)間復(fù)雜度。所以,本題正確答案為C。

61.A

62.C

\n本題考查do-while循環(huán)。先執(zhí)行do的內(nèi)容,也就是printf語(yǔ)句,x=x-4=1,輸出1,判斷while循環(huán)的控制條件,--x=0,則!(--x)為非零,循環(huán)條件成立,執(zhí)行下

溫馨提示

  • 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)論