2021年內(nèi)蒙古自治區(qū)赤峰市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第1頁(yè)
2021年內(nèi)蒙古自治區(qū)赤峰市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第2頁(yè)
2021年內(nèi)蒙古自治區(qū)赤峰市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第3頁(yè)
2021年內(nèi)蒙古自治區(qū)赤峰市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第4頁(yè)
2021年內(nèi)蒙古自治區(qū)赤峰市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩93頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年內(nèi)蒙古自治區(qū)赤峰市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)"char**s;",以下正確的表達(dá)式是()。

A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';

2.十進(jìn)制數(shù)124轉(zhuǎn)換成二進(jìn)制數(shù)是()

A.111l010B.1111100C.1011111D.1111011

3.程序調(diào)試的任務(wù)是()。

A.設(shè)計(jì)測(cè)試用例B.驗(yàn)證程序的正確性C.發(fā)現(xiàn)程序中的錯(cuò)誤D.診斷和改正程序中的錯(cuò)誤

4.已知8個(gè)數(shù)據(jù)元素為(34,76,45,18,26,54,92,65),按照依次插入結(jié)點(diǎn)的方法生成一棵二叉排序樹后,最后2層上的結(jié)點(diǎn)總數(shù)為______。

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

5.有下列二叉樹.對(duì)此二叉樹前序遍歷的結(jié)果為()。

A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXY7D.ABDYECFXZ

6.下列函數(shù)的功能是()。voidfun(char*a,char*b){while((*b=*a)!=‘\0’){a++;b++;}}

A.將a所指字符串賦給b所指空間

B.使指針b指向a所指字符串

C.將a所指字符串和b所指字符串進(jìn)行比較

D.檢查a和b所指字符串中是否有‘\0’

7.已知字符A的ASCII值是65,字符變量c1的值是‘A’,c2的值是‘D’,則執(zhí)行語(yǔ)句“printf(“%d,%d”,c1,c2-2);”的輸出結(jié)果是()。

A.65,68B.A,68C.A,BD.65,66

8.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。

A.多態(tài)性B.繼承C.封裝性D.模塊化

9.數(shù)據(jù)庫(kù)的故障恢復(fù)一般是由()來(lái)執(zhí)行恢復(fù)

A.電腦用戶B.數(shù)據(jù)庫(kù)恢復(fù)機(jī)制C.數(shù)據(jù)庫(kù)管理員D.系統(tǒng)普通用戶

10.某二叉樹的先序序列和后序序列正好相同,則該二叉樹可能是______的二叉樹。

A.高度大于1的左單支B.高度大于1的右單支C.最多只有一個(gè)結(jié)點(diǎn)D.既有左孩子又有右孩子

11.設(shè)有定義“intx[10],*p=x,i;”,若要為數(shù)組x讀入數(shù)據(jù),以下選項(xiàng)正確的是()。

A.for(i=0;i<10;i++)scanf(“%d”,p+i);

B.for(i=0;i<10;i++)scanf(“%d”,*p+i);

C.for(i=0;i<10;i++)scanf(“%d”,*(p+i));

D.for(i=0;i<10;i++)scanf(“%d”,x[i]);

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

A.C語(yǔ)言編寫的函數(shù)源程序,其文件名后綴可以是C

B.C語(yǔ)言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件

C.C語(yǔ)言編寫的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行

D.一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)

13.

14.是哈希查找的沖突處理方法()。

A.求余法B.平均取中法C.二分法D.開放地址法

15.有以下程序:fun(intx){intP;if(x==0||x==l)return(3);p=x-fun(x-2);returnp;}main{printf("%d\n",fun(7));}程序執(zhí)行后的輸出結(jié)果是()。A.7B.3C.2D.0

16.排序方法中,將整個(gè)無(wú)序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱______。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

17.以下可以正確且安全地用作用戶標(biāo)識(shí)符的一組選項(xiàng)是()。

A._32int,long64B.Switch,unsignedC.Abc,getchD.3break,enter

18.線性表的順序存儲(chǔ)結(jié)構(gòu)是一種()。

A.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)B.順序存取的存儲(chǔ)結(jié)構(gòu)C.索引存取的存儲(chǔ)結(jié)構(gòu)D.Hash存取的存儲(chǔ)結(jié)構(gòu)

19.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員。則實(shí)體部門和職員間的聯(lián)系是()。

A.1:m聯(lián)系B.m:n聯(lián)系C.1:1聯(lián)系D.m:1聯(lián)系

20.有以下程序:voidfunl(char*p)程序執(zhí)行后的輸出結(jié)果是()A.ProhsbnB.PrphsbnC.ProgsbnD.Program

二、2.填空題(20題)21.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于【】。

22.以下程序的運(yùn)行結(jié)果是【】。

#include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;

}

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

}

23.下面程序的運(yùn)行結(jié)果是【】。

main()

{unsigneda=0112,x;

x=a>>3;

printf("x=%o",x);

}

24.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。

25.實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一聯(lián)系、一對(duì)多(或多對(duì)多)的聯(lián)系與多對(duì)多聯(lián)系。如果一個(gè)學(xué)校有許多教師,而一個(gè)教師只歸屬于一個(gè)學(xué)校,則實(shí)體集學(xué)校與實(shí)體集教師之間的聯(lián)系屬于______的聯(lián)系。

26.防止軟盤感染病毒的最有效的方法是【】。

27.有以下程序段,且變量已正確定義和賦值

for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));

printf("s=%f\n\n",s);

請(qǐng)?zhí)羁?使下面程序段的功能與之完全相同

s=1.0;k=1;

while(【】){s=s+1.0/(k*(k+1));【】;}

printf("s=%f\n\n",s);

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

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

intm=17;

intfun(intx,inty)

{intm=3;

return(x*Y-m);

}

main()

{inta=5,b=7;

printf("%d\n",fun(a,B)/m);

}

30.樹中度為零的結(jié)點(diǎn)稱為______。

31.在關(guān)系模型中,二維表的行稱為______。

32.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且函數(shù)fun為void型,請(qǐng)寫出函數(shù)fun的首部【】。要求形參名為b。

main()

}doubles[10][22];

intn;

fun(s);

}

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

mam()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2=0)

*p='*';

p++;i++;

}

puts(A);

}

34.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的【】。

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

main()

{

intp=30;

printf("%d\n",(p/3>0?p/10:p%3));

}

36.自盒測(cè)試方法重視【】的度量。

37.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

38.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒(méi)有______。

39.以下程序的功能是從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen(【】);

ch=fgetc(fp);

while(!feof(fp)){putchar(ch);ch=fgetc(fp);}

putchar('\n');fclose(fp);

}

40.以下程序運(yùn)行后的輸出結(jié)果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}

三、1.選擇題(20題)41.有以下程序

intfun1(doublea){returna*=a;}

intfun2(doublex,doubley)

{doublea=0,b=0;

a=fun1(x);b=fun1(y);return(int)(a+b);

}

main()

{doublew;w=fun2(1.1,2.0);……}

程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0

42.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。()#inelude<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);┇}

A.a+(i++)B.&a[i+1]C.a+iD.&a[i++]

43.若有如下程序;main(){intm=-i;printf("%d,%u,%o,%X",m,m,m,m);}則程序運(yùn)行后的輸出結(jié)果是()。

A.-1,65535,177777,ffff

B.-1,-1,177777,fffe

C.-1,1,177777,ffff

D.-1,65535,177776,fffe

44.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,可實(shí)現(xiàn)數(shù)據(jù)共享的是()

A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫(kù)系統(tǒng)階段D.系統(tǒng)管理階段

45.設(shè)有二維數(shù)組A[8][9],其每個(gè)元素占2個(gè)字節(jié),從首地址400開始,按行優(yōu)先順序存放,則元素A[8,5]的存儲(chǔ)地址為______。

A.570B.506C.410D.482

46.定義int*swap()的是_______。

A.一個(gè)返回整型值的函數(shù)swap()

B.一個(gè)返回指向整型值指針的函數(shù)swap()

C.一個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說(shuō)法均錯(cuò)

47.在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是______。

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

48.以下各選項(xiàng)企圖說(shuō)明—種新的類型名,其中正確的是______。

A.typedefviint;

B.typedefV2=int;

C.typedefintv3;

D.lypedefv4:int

49.以下程序執(zhí)行后,sum的值是______。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}

A.15B.14C.不確定D.0

50.瀑布模型適合于______。

A.大型軟件系統(tǒng)開發(fā)B.中型軟件系統(tǒng)開發(fā)C.小型軟件系統(tǒng)開發(fā)D.大、中、小型軟件系統(tǒng)開發(fā)

51.以下程序段中與語(yǔ)句k=a>b?(b>c?1:0):0;功能等價(jià)的是()。

A.if((a>B)&&(b:>C))k=l;elsek=0;

B.if(a>B)‖(b>C)k=1;elsek=0;

C.if(a<=B)k=0;elseif(b<=e)k=1;

D.if(a>B)k=1;elseif(b>C)k=1;elsek=0;

52.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合

53.若有說(shuō)明語(yǔ)句:double*p,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。

A.*p=&a;sCanf("%1f",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%1f",*p);

D.p=&a;scanf("%1f",p);

54.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是

A.a^bB.a|bC.a&bD.a<<4

55.有以下程序:#include<stdio.h>voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}執(zhí)行后的輸出結(jié)果()。

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

56.在C語(yǔ)言中,函數(shù)調(diào)用時(shí)()。

A.實(shí)參和形參各占獨(dú)立的存儲(chǔ)單元

B.實(shí)參和形參共用存儲(chǔ)單元

C.由系統(tǒng)自動(dòng)確定實(shí)參和形參是否共用存儲(chǔ)單元

D.由用戶指定實(shí)參和形參是否共用存儲(chǔ)單元

57.設(shè)有以下語(yǔ)句charx=3,y=6,z;z=x^y<<2;則z的二進(jìn)制值是

A.10100B.11011C.11100D.11000

58.有以下程序:main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("%d,%d",x,y);}程序的輸出結(jié)果是()。

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

59.簡(jiǎn)單的交換排序方法是()。

A.快速排序B.選擇排序C.堆排序D.冒泡排序

60.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法

四、選擇題(20題)61.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是()。

A.文件開始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)

62.HTTP協(xié)議的消息有()兩種類型。

A.發(fā)送消息和接收消息B.請(qǐng)求消息和響應(yīng)消息C.消息頭和消息體D.實(shí)體消息和控制消息

63.下列語(yǔ)句中,顯示沒(méi)有下畫線的超鏈接的語(yǔ)句是()。

A.a{text—decoration:none}

B.a{text—decoration:nounderline}

C.a{underline:none}

D.a{decoration:nounderline}

64.有以下程序:

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

A.B,C,D,E,B.A,B,C,D,C.C,D,E,F(xiàn),D.B,D,F(xiàn),H,

65.

66.

67.有以下程序:

main()

{char*p[]={"3697","2584"};

inti,j;longnum=0;

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

{j=0;

while(p[i][j]!=’\0’)

{if((p[i][j]-’0’)%2==0)num=10*num+p[i][j]-’0’;

j+=2;

}

}

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

}

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

A.35B.37

C.39D.28

68.結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精

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

A.程序錯(cuò)無(wú)輸出結(jié)果B.31.5C.7.5D.14.0

70.

71.有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。

A.chara=a;B.chara=\nC.chara=aa;D.chara=\x2d;

72.有以下程序

73.下列4個(gè)關(guān)于C語(yǔ)言的結(jié)論中錯(cuò)誤的是()。

A.可以用do—while語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用while語(yǔ)句實(shí)現(xiàn)

B.可以用for語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用while語(yǔ)句實(shí)現(xiàn)

C.可以用while語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用for語(yǔ)句實(shí)現(xiàn)

D.do-while語(yǔ)句與while語(yǔ)句的區(qū)別僅是關(guān)鍵字“while”出現(xiàn)的位置不同

74.為用戶與數(shù)據(jù)庫(kù)系統(tǒng)提供接口的語(yǔ)言是

A.高級(jí)語(yǔ)言B.數(shù)據(jù)描述語(yǔ)言(DDL)C.數(shù)據(jù)操縱語(yǔ)言(DML)D.匯編語(yǔ)言

75.

76.

77.

78.

79.以下選項(xiàng)錯(cuò)誤的是

80.若有定義:能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()

A.3:5B.3,5C.35D.35

五、程序改錯(cuò)題(1題)81.以下程序可把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出。請(qǐng)?jiān)跈M線上填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫一個(gè)函數(shù),用來(lái)刪除字符串中的所有空格。例如,輸入asdafaaz67,則輸出為asdafaaz67。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:

參考答案

1.B

2.B

3.D程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。

4.B

5.D

\n所謂二叉樹的前序遍歷是指先訪問(wèn)根結(jié)點(diǎn),訪問(wèn)左子樹,最后訪問(wèn)右子樹,本題中序?yàn)镈YBEAFCZX,后序?yàn)閅DEBFZXCA。

\n

6.A題目的fun函數(shù)內(nèi),while循環(huán)條件為“(*b=*a)!=‘\\0’”,執(zhí)行時(shí)先把指針a所指向的字符賦給指針b所在的內(nèi)存單元。如果該字符不是結(jié)束標(biāo)識(shí)‘\\0’,執(zhí)行循環(huán)體“a++;b++;”,指針a、b分別指向下一個(gè)字符單元。再判斷循環(huán)條件,如果成立,繼續(xù)把指針a所指向的字符賦給指針b所在的內(nèi)存單元,直到遇到結(jié)束標(biāo)識(shí)為止。故本題答案為A選項(xiàng)。

7.D輸出時(shí)以%d整型格式輸出,所以輸出字符變量c1的值為65,c2-2的值為68-2,即66。故本題答案為D選項(xiàng)。

8.DD。【解析】面向?qū)ο笤O(shè)計(jì)方法與面向過(guò)程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。其特點(diǎn)包括:分類性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。

9.CC)【解析】數(shù)據(jù)庫(kù)一旦發(fā)生故障,需要及時(shí)進(jìn)行故障恢復(fù),并由數(shù)據(jù)庫(kù)管理員負(fù)責(zé)執(zhí)行故障恢復(fù)。

10.C

11.AC語(yǔ)言中scanf函數(shù)的聲明為“scanf(“<格式化字符串>”,<地址表>);”,可知scanf的第2個(gè)參數(shù)是地址。因此,從4個(gè)答案中可以判斷,只有選項(xiàng)A是p[i]的地址,其他的均是變量本身。故本題答案為A選項(xiàng)。

12.C函數(shù)是指預(yù)先定義功能塊,其目的是提高程序的重用性。在C語(yǔ)言中函數(shù)的源程序,后綴名可以為C。C語(yǔ)言所編寫的函數(shù)都可以是一個(gè)獨(dú)立的源文件。一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)。C語(yǔ)言中編寫的函數(shù)不是每個(gè)都可以獨(dú)立地編譯和執(zhí)行的,因?yàn)镃語(yǔ)言中程序的開始為主函數(shù),如果程序中沒(méi)有主函數(shù)則無(wú)法進(jìn)行編譯和執(zhí)行。

13.D

14.D

15.C在函數(shù)funlintx)中,有個(gè)if語(yǔ)句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢(shì)中調(diào)用fun(7)時(shí),其過(guò)程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結(jié)果為2。

16.A解析:希爾排序法的基本思想是:將整個(gè)無(wú)序列分割成若干小的子序列分別進(jìn)行插入排序。

17.AC語(yǔ)言中,合法的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,并且第1個(gè)字符必須是字母或下劃線。選項(xiàng)D中的“3break”錯(cuò)誤;用戶標(biāo)識(shí)符不能是C語(yǔ)言中的關(guān)鍵字或函數(shù),選項(xiàng)B中的“unsigned”是關(guān)鍵字,不是合法的用戶標(biāo)識(shí)符,“Switch”是合法的用戶標(biāo)識(shí)符;選項(xiàng)C中的“getch”是庫(kù)函數(shù)名,不是合法的用戶標(biāo)識(shí)符,而C語(yǔ)言區(qū)分字母大小寫,“Abc”是合法的用戶標(biāo)識(shí)符;選項(xiàng)A中的兩個(gè)標(biāo)識(shí)符都是合法的用戶標(biāo)識(shí)符。故本題答案為A選項(xiàng)。

18.A

19.A部門到職員是一對(duì)多的,職員到部門是多對(duì)一的,因此,實(shí)體部門和職員間的聯(lián)系是l:m聯(lián)系。

20.A本題中使用了函數(shù)的調(diào)用,由funl函數(shù)中的while循環(huán)可知,循環(huán)的作用是為了把q所指向的內(nèi)容增加1,而從主函數(shù)傳到函數(shù)時(shí)是從下標(biāo)為3開始傳,因此當(dāng)調(diào)用函數(shù)執(zhí)行完后,傳過(guò)去的字符串為hsbn,前面不變。

21.一對(duì)多一對(duì)多解析:由于一個(gè)項(xiàng)目主管可以管理多個(gè)項(xiàng)目,而一個(gè)項(xiàng)目只能有一個(gè)項(xiàng)目主管,“項(xiàng)目主管”這個(gè)實(shí)體與“項(xiàng)目”這個(gè)實(shí)體的管理關(guān)系屬于一對(duì)多。

22.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語(yǔ)言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒(méi)有break語(yǔ)句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。

23.x=11x=11解析:在對(duì)無(wú)符號(hào)數(shù)的右移是高位補(bǔ)0。

24.2525解析:#NAME?

25.一對(duì)多或1:N。一對(duì)多或1:N。

26.進(jìn)行寫保護(hù)進(jìn)行寫保護(hù)

27.k<=nk++k<=n,k++解析:本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒(méi)有,故需在循環(huán)體中增加改變k數(shù)值的語(yǔ)句'k++;'\ue009。

28.空間空間解析:程序在計(jì)算機(jī)上運(yùn)行時(shí)所耗費(fèi)的時(shí)間由程序運(yùn)行時(shí)所需輸入的數(shù)據(jù)總量、對(duì)源程序進(jìn)行編譯所需時(shí)間、計(jì)算機(jī)執(zhí)行每條指令所需時(shí)間、程序中的指令重復(fù)執(zhí)行的次數(shù)等決定。習(xí)慣上常常把語(yǔ)句重復(fù)執(zhí)行的次數(shù)作為算法運(yùn)行時(shí)間的相對(duì)量度,稱作算法的時(shí)間復(fù)雜度。算法在運(yùn)行過(guò)程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度。

29.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級(jí)和塊級(jí)的變量,全局變量是指作用域在程序級(jí)和文件級(jí)的變量。本程序首先定義了一個(gè)全局變量m=17,m=17的作用域在整個(gè)程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個(gè)局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過(guò)fun函數(shù)返回兩個(gè)形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。

30.葉子結(jié)點(diǎn)葉子結(jié)點(diǎn)解析:樹中度為零的結(jié)點(diǎn),也就是沒(méi)有后件的結(jié)點(diǎn),稱為葉子結(jié)點(diǎn)。

31.元組元組解析:在關(guān)系型數(shù)據(jù)庫(kù)中,用二維表來(lái)表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。

32.voidfun(double*b)或voidfun(doubleb[10][12])voidfun(double*b)或voidfun(doubleb[10][12])解析:本題考查數(shù)組名作函數(shù)參數(shù)。程序中被調(diào)用函數(shù)fun(s)的實(shí)參s是數(shù)組名,而s為double型數(shù)組名,所以函數(shù)fun的形參類型為double*。

33.*2*4*6*8**2*4*6*8*解析:程序中定義了一個(gè)字符數(shù)組a,并初始化為123456789,接著定義了一個(gè)指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個(gè)while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時(shí),將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時(shí)數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*

34.空間復(fù)雜度和時(shí)間復(fù)雜度算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。

35.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。

36.測(cè)試覆蓋率測(cè)試覆蓋率解析:白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試。白盒測(cè)試作為對(duì)結(jié)構(gòu)的測(cè)試,要求對(duì)被測(cè)程序的各種結(jié)構(gòu)特性進(jìn)行測(cè)試,這種情況被稱為覆蓋,故白盒測(cè)試又稱為“基于覆蓋的測(cè)試”。白盒測(cè)試方法重視測(cè)試覆蓋率的度量,力求提高覆蓋率,從而找出被測(cè)程序的錯(cuò)誤。

37.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

38.前件前件

39.“filea.dat”“r”“filea.dat”,“r”解析:考查對(duì)文件的操作。fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。

40.1020010200解析:本題考查的是混合運(yùn)算?!?a/b<1)&&(a%b<1)”的運(yùn)算順序?yàn)椋豪ㄌ?hào)>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符。其中a%b=10,a,b=0,所以a%b<1的值為0,a/b<1的值為1,故整個(gè)表達(dá)式的結(jié)果為0,所以輸出的a,b,c的值為10200。

41.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。

42.D

43.A解析:-1為帶符號(hào)的整型數(shù),在內(nèi)存中的存放形式為1111111111111111。按帶爺號(hào)的整型格式輸出仍為-1;按無(wú)帶符號(hào)的整數(shù)輸出為65535(將1111111111111111轉(zhuǎn)換為十進(jìn)制數(shù));按八進(jìn)制數(shù)輸出為177777(將1111111111111111轉(zhuǎn)換為八進(jìn)制數(shù),方法為由低位到高位,每三位一組,用一個(gè)八進(jìn)制數(shù)代替);按八進(jìn)制數(shù)輸出為ffff(將1111111111111111轉(zhuǎn)換為十六進(jìn)制數(shù),方法為由低位到高位,每四位一組,用一個(gè)十六進(jìn)制數(shù)代替)。

44.C解析:本題考查了考生對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)的記憶。數(shù)據(jù)庫(kù)技術(shù)的主要目的是有效地管理和存取數(shù)據(jù)資源,包括提供數(shù)據(jù)的共享性,使多個(gè)用戶能夠同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù);減少數(shù)據(jù)的冗余度,以提交數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應(yīng)用程序的獨(dú)立性,從而減少應(yīng)用程序的開發(fā)和維護(hù)代價(jià)。數(shù)據(jù)庫(kù)的人工管理階段和文件系統(tǒng)階段,數(shù)據(jù)都不能實(shí)現(xiàn)共享,出現(xiàn)數(shù)據(jù)冗余現(xiàn)象。選項(xiàng)D)的說(shuō)法是錯(cuò)誤的。

45.A

46.B解析:一個(gè)函數(shù)可以帶回一個(gè)整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號(hào)和*號(hào),由于()優(yōu)先級(jí)高于*。故它是一個(gè)返回整型指針的函數(shù)。

47.B[答案]B

[考點(diǎn)]數(shù)據(jù)結(jié)構(gòu)與算法

[評(píng)析]依次從上到下,可得出:

第1層結(jié)點(diǎn)數(shù)為1;

第2層結(jié)點(diǎn)數(shù)為2*1=2;

第3層結(jié)點(diǎn)數(shù)為2*2=4;

第n層結(jié)點(diǎn)數(shù)為2的n-1次冪

48.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類型,相當(dāng)于數(shù)據(jù)類型取個(gè)別名。

49.C解析:變量sum在使用時(shí)未賦初值,所以無(wú)法確定sum最終的值。

50.C解析:根據(jù)瀑布模型的特點(diǎn)(連續(xù)無(wú)反饋)是對(duì)于每一個(gè)階段來(lái)說(shuō),前一個(gè)階段工作的正確無(wú)誤是至關(guān)重要的。因此,瀑布模型不能很好地適應(yīng)那些需求不易確定和多變的軟件項(xiàng)目的開發(fā)。由于大項(xiàng)目在軟件開發(fā)的前期階段,人們很難詳細(xì)地了解系統(tǒng)的許多細(xì)節(jié),從而在項(xiàng)目進(jìn)行過(guò)程中常會(huì)出現(xiàn)需求變化。因此,瀑布模型適用于小系統(tǒng)開發(fā)項(xiàng)目,而不適用于大、中型軟件系統(tǒng)開發(fā)。

51.A解析:分析題目中給出的表達(dá)式可知,如果a>b和b>c同時(shí)成立,k=1,否則k=0。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

52.D軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計(jì)語(yǔ)言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語(yǔ)句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料。因此本題的正確答案是D。

53.D解析:double*p,a;語(yǔ)句表示定義了一個(gè)指向雙精度型的指針變量p和雙精度型變量a,而語(yǔ)句p=&a表示將變量a的地址賦給指針變量p;scanf'('%1f',p)表示用鍵盤輸入的數(shù)賦給指針變量p所指向的地址單元中。scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f(或%1e)。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D)為正確答案。

54.A解析:本題考查的是位運(yùn)算的知識(shí),對(duì)于任何二進(jìn)制數(shù),和1進(jìn)行異或運(yùn)算會(huì)讓其取反,而和0進(jìn)行異或運(yùn)算不會(huì)產(chǎn)生任何變化。

55.C解析:程序中if語(yǔ)句的條件只有y>z為真,所以執(zhí)行f(y,z)。函數(shù)f的功能是交換兩形參的值,但由于實(shí)參和形參都是一般變量,因此形參變量值的交換不能影響實(shí)參的值,main函數(shù)中的y和z并來(lái)互換,因此輸出結(jié)果為:1,3,2。

56.A解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時(shí)由用戶定義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。

在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間不影響。

57.B解析:本題考查兩個(gè)位運(yùn)算符。按位異或運(yùn)算符“”’是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異或時(shí),結(jié)果為1。左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0,并且“<<”運(yùn)算符的優(yōu)先級(jí)于“^”。

58.A解析:本題考查了continue和break語(yǔ)句用在循環(huán)語(yǔ)句中的作用。break語(yǔ)句的作用是結(jié)束本層循環(huán),而continue語(yǔ)句的作用是結(jié)束本次循環(huán)直接進(jìn)入到下次循環(huán)。

59.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡(jiǎn)單的交換排序方法,它通過(guò)相鄰元素的交換,逐步將線性表變成有序。

60.B在計(jì)算機(jī)中,算法被定義為對(duì)一個(gè)問(wèn)題求解步驟的一種描述,是求解問(wèn)題的方法,它是指令的有限序列,其中每條指令表示一個(gè)或者多個(gè)操作。算法具有有窮性、確定性、可行性、輸入和輸出五大特點(diǎn)。

在本題中,選項(xiàng)A、C、D的說(shuō)法明顯偏離了算法的定義,因此正確答案選B。

61.B解析:SEEK_END代表的是文件末尾,SEEK_SET代表的是文件的開始,SEEK_CUR代表的是文件當(dāng)前位置。

62.B

63.A

64.A函數(shù)ehmlge()的作用將從數(shù)組尾部將數(shù)組內(nèi)的元素值加1。數(shù)組的初始值為ABCD,因此經(jīng)change()后,得到的值為BCDE。故答案為A選項(xiàng)。

65.C

66.C

67.Di=0,i<2,j=0,p[i][j]=3,不滿足if判斷條件,j+2=2,p[i][j]=9,不滿足條件,j+2=4,不滿足while循環(huán)條件,i+1=1,j=0,p[1][0]=2,滿足if判斷條件,num=10*num+p[i][j]-‘0’=2,j+2=2,p[1][2]=8,滿足條件,num=10*2+p[i][j]-‘0’=28

68.A結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語(yǔ)句,其中不包括多態(tài)性。

69.A宏定義不是c語(yǔ)句,末尾不需要有分號(hào)。因此語(yǔ)句“printf(”%4.1f\n”。S(a+b));”展開后為“prinff(”%4.1tXn",3.5;+a+b}a+b;);”,所以程序會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。

70.A

71.Cchar類型用于存儲(chǔ)單個(gè)字符的簡(jiǎn)單變量類型,它可以被指定為一個(gè)字符常量或一個(gè)整數(shù)。

72.A本題考查的是遞歸算法的分析。一個(gè)直接或間接地調(diào)用自身的算法稱為遞歸算法。在一個(gè)遞歸算法中,至少要包含一個(gè)初始值和一個(gè)遞歸關(guān)系。本題的fun()函數(shù)在x等于0或1時(shí)返回3,而在其余情況下返回x—fhn(x一2),所以本題的遞歸算法可以這樣表示:fun(x)=3(x--0或x=1)(初始值)fun(x)=x-fun(x一2)(x≠0且x≠1)(遞歸關(guān)系)在主函數(shù)中輸出的結(jié)果是run(7),而fun(7)=7-fun(5)=7-(5-fun(3))=7-(5一(3一fun(1)))。

73.D本題考查對(duì)各個(gè)循環(huán)語(yǔ)句的理解。①do-while語(yǔ)句、for語(yǔ)句、while語(yǔ)句所實(shí)現(xiàn)的循環(huán)可以相互替代;②do-while語(yǔ)句至少執(zhí)行一次,而while是符合條件執(zhí)行,不符合不執(zhí)行。

74.C數(shù)據(jù)定義語(yǔ)言(DDL),例如:CREATE、DROP、ALTER等語(yǔ)句。

\u3000\u3000數(shù)據(jù)操作語(yǔ)言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語(yǔ)句。

\u3000\u3000數(shù)據(jù)查詢語(yǔ)言(DQL),例如:SELECT語(yǔ)句。

\u3000\u3000數(shù)據(jù)控制語(yǔ)言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等語(yǔ)句。

75.A

76.C

77.A

78.D

79.D在選項(xiàng)A中的語(yǔ)句沒(méi)有一條是錯(cuò)誤的。選項(xiàng)B和C中有一個(gè)逗號(hào)表達(dá)式,選項(xiàng)B中是x=0,y=x+1;,在選項(xiàng)C中是y=x+1,z=x+y;。所以,B和C中也沒(méi)有錯(cuò)誤。選項(xiàng)D中的最后一條語(yǔ)句是以逗號(hào)結(jié)束的,而C語(yǔ)言中不能用逗號(hào)作為一個(gè)語(yǔ)句的結(jié)束標(biāo)志,每一條語(yǔ)句最后應(yīng)該是分號(hào),所以,D選項(xiàng)中的程序是錯(cuò)誤的。

80.AsCanf中格式控制符里必須原樣輸入,所以分號(hào)也必須輸入,A)正確。

81.(1)錯(cuò)誤:缺少語(yǔ)句

正確:應(yīng)填人num%base

(2)錯(cuò)誤:缺少語(yǔ)句

正確:應(yīng)填人[d]

【解析】按題目中的要求把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出,首先要對(duì)十進(jìn)制數(shù)對(duì)16求余,得出十六進(jìn)制每一位上的數(shù)字。因此,c[i]__________處填num%base。數(shù)組b為十進(jìn)制數(shù)0~15所對(duì)應(yīng)的十六進(jìn)制數(shù),數(shù)組c中存放的是十六進(jìn)制數(shù)每一位上的數(shù)字。因此,b__________處填Ed2。

82.1voidfun(char*str)2{3inti=0;4char*p=str;5while(*p)6{7if(*p!='')/*刪除空格*/8{9str[i++]=*p;10}11p++;12}13str[i]='\\0';/*加上結(jié)束符*/14}本題要求刪除所有空格,即保留除了空格以外的其他所有字符。由于C語(yǔ)言中沒(méi)有直接刪除字符的操作,因此對(duì)不需要?jiǎng)h除的字符采用“保留”的操作。用指針P指向字符串中的每一個(gè)字符,每指向一個(gè)字符都判斷其是否為空格,若不是空格則將其保存到數(shù)組Str。2021年內(nèi)蒙古自治區(qū)赤峰市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)"char**s;",以下正確的表達(dá)式是()。

A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';

2.十進(jìn)制數(shù)124轉(zhuǎn)換成二進(jìn)制數(shù)是()

A.111l010B.1111100C.1011111D.1111011

3.程序調(diào)試的任務(wù)是()。

A.設(shè)計(jì)測(cè)試用例B.驗(yàn)證程序的正確性C.發(fā)現(xiàn)程序中的錯(cuò)誤D.診斷和改正程序中的錯(cuò)誤

4.已知8個(gè)數(shù)據(jù)元素為(34,76,45,18,26,54,92,65),按照依次插入結(jié)點(diǎn)的方法生成一棵二叉排序樹后,最后2層上的結(jié)點(diǎn)總數(shù)為______。

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

5.有下列二叉樹.對(duì)此二叉樹前序遍歷的結(jié)果為()。

A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXY7D.ABDYECFXZ

6.下列函數(shù)的功能是()。voidfun(char*a,char*b){while((*b=*a)!=‘\0’){a++;b++;}}

A.將a所指字符串賦給b所指空間

B.使指針b指向a所指字符串

C.將a所指字符串和b所指字符串進(jìn)行比較

D.檢查a和b所指字符串中是否有‘\0’

7.已知字符A的ASCII值是65,字符變量c1的值是‘A’,c2的值是‘D’,則執(zhí)行語(yǔ)句“printf(“%d,%d”,c1,c2-2);”的輸出結(jié)果是()。

A.65,68B.A,68C.A,BD.65,66

8.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。

A.多態(tài)性B.繼承C.封裝性D.模塊化

9.數(shù)據(jù)庫(kù)的故障恢復(fù)一般是由()來(lái)執(zhí)行恢復(fù)

A.電腦用戶B.數(shù)據(jù)庫(kù)恢復(fù)機(jī)制C.數(shù)據(jù)庫(kù)管理員D.系統(tǒng)普通用戶

10.某二叉樹的先序序列和后序序列正好相同,則該二叉樹可能是______的二叉樹。

A.高度大于1的左單支B.高度大于1的右單支C.最多只有一個(gè)結(jié)點(diǎn)D.既有左孩子又有右孩子

11.設(shè)有定義“intx[10],*p=x,i;”,若要為數(shù)組x讀入數(shù)據(jù),以下選項(xiàng)正確的是()。

A.for(i=0;i<10;i++)scanf(“%d”,p+i);

B.for(i=0;i<10;i++)scanf(“%d”,*p+i);

C.for(i=0;i<10;i++)scanf(“%d”,*(p+i));

D.for(i=0;i<10;i++)scanf(“%d”,x[i]);

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

A.C語(yǔ)言編寫的函數(shù)源程序,其文件名后綴可以是C

B.C語(yǔ)言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件

C.C語(yǔ)言編寫的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行

D.一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)

13.

14.是哈希查找的沖突處理方法()。

A.求余法B.平均取中法C.二分法D.開放地址法

15.有以下程序:fun(intx){intP;if(x==0||x==l)return(3);p=x-fun(x-2);returnp;}main{printf("%d\n",fun(7));}程序執(zhí)行后的輸出結(jié)果是()。A.7B.3C.2D.0

16.排序方法中,將整個(gè)無(wú)序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱______。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

17.以下可以正確且安全地用作用戶標(biāo)識(shí)符的一組選項(xiàng)是()。

A._32int,long64B.Switch,unsignedC.Abc,getchD.3break,enter

18.線性表的順序存儲(chǔ)結(jié)構(gòu)是一種()。

A.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)B.順序存取的存儲(chǔ)結(jié)構(gòu)C.索引存取的存儲(chǔ)結(jié)構(gòu)D.Hash存取的存儲(chǔ)結(jié)構(gòu)

19.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員。則實(shí)體部門和職員間的聯(lián)系是()。

A.1:m聯(lián)系B.m:n聯(lián)系C.1:1聯(lián)系D.m:1聯(lián)系

20.有以下程序:voidfunl(char*p)程序執(zhí)行后的輸出結(jié)果是()A.ProhsbnB.PrphsbnC.ProgsbnD.Program

二、2.填空題(20題)21.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于【】。

22.以下程序的運(yùn)行結(jié)果是【】。

#include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;

}

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

}

23.下面程序的運(yùn)行結(jié)果是【】。

main()

{unsigneda=0112,x;

x=a>>3;

printf("x=%o",x);

}

24.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。

25.實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一聯(lián)系、一對(duì)多(或多對(duì)多)的聯(lián)系與多對(duì)多聯(lián)系。如果一個(gè)學(xué)校有許多教師,而一個(gè)教師只歸屬于一個(gè)學(xué)校,則實(shí)體集學(xué)校與實(shí)體集教師之間的聯(lián)系屬于______的聯(lián)系。

26.防止軟盤感染病毒的最有效的方法是【】。

27.有以下程序段,且變量已正確定義和賦值

for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));

printf("s=%f\n\n",s);

請(qǐng)?zhí)羁?使下面程序段的功能與之完全相同

s=1.0;k=1;

while(【】){s=s+1.0/(k*(k+1));【】;}

printf("s=%f\n\n",s);

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

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

intm=17;

intfun(intx,inty)

{intm=3;

return(x*Y-m);

}

main()

{inta=5,b=7;

printf("%d\n",fun(a,B)/m);

}

30.樹中度為零的結(jié)點(diǎn)稱為______。

31.在關(guān)系模型中,二維表的行稱為______。

32.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且函數(shù)fun為void型,請(qǐng)寫出函數(shù)fun的首部【】。要求形參名為b。

main()

}doubles[10][22];

intn;

fun(s);

}

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

mam()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2=0)

*p='*';

p++;i++;

}

puts(A);

}

34.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的【】。

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

main()

{

intp=30;

printf("%d\n",(p/3>0?p/10:p%3));

}

36.自盒測(cè)試方法重視【】的度量。

37.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

38.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒(méi)有______。

39.以下程序的功能是從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen(【】);

ch=fgetc(fp);

while(!feof(fp)){putchar(ch);ch=fgetc(fp);}

putchar('\n');fclose(fp);

}

40.以下程序運(yùn)行后的輸出結(jié)果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}

三、1.選擇題(20題)41.有以下程序

intfun1(doublea){returna*=a;}

intfun2(doublex,doubley)

{doublea=0,b=0;

a=fun1(x);b=fun1(y);return(int)(a+b);

}

main()

{doublew;w=fun2(1.1,2.0);……}

程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0

42.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。()#inelude<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);┇}

A.a+(i++)B.&a[i+1]C.a+iD.&a[i++]

43.若有如下程序;main(){intm=-i;printf("%d,%u,%o,%X",m,m,m,m);}則程序運(yùn)行后的輸出結(jié)果是()。

A.-1,65535,177777,ffff

B.-1,-1,177777,fffe

C.-1,1,177777,ffff

D.-1,65535,177776,fffe

44.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,可實(shí)現(xiàn)數(shù)據(jù)共享的是()

A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫(kù)系統(tǒng)階段D.系統(tǒng)管理階段

45.設(shè)有二維數(shù)組A[8][9],其每個(gè)元素占2個(gè)字節(jié),從首地址400開始,按行優(yōu)先順序存放,則元素A[8,5]的存儲(chǔ)地址為______。

A.570B.506C.410D.482

46.定義int*swap()的是_______。

A.一個(gè)返回整型值的函數(shù)swap()

B.一個(gè)返回指向整型值指針的函數(shù)swap()

C.一個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說(shuō)法均錯(cuò)

47.在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是______。

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

48.以下各選項(xiàng)企圖說(shuō)明—種新的類型名,其中正確的是______。

A.typedefviint;

B.typedefV2=int;

C.typedefintv3;

D.lypedefv4:int

49.以下程序執(zhí)行后,sum的值是______。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}

A.15B.14C.不確定D.0

50.瀑布模型適合于______。

A.大型軟件系統(tǒng)開發(fā)B.中型軟件系統(tǒng)開發(fā)C.小型軟件系統(tǒng)開發(fā)D.大、中、小型軟件系統(tǒng)開發(fā)

51.以下程序段中與語(yǔ)句k=a>b?(b>c?1:0):0;功能等價(jià)的是()。

A.if((a>B)&&(b:>C))k=l;elsek=0;

B.if(a>B)‖(b>C)k=1;elsek=0;

C.if(a<=B)k=0;elseif(b<=e)k=1;

D.if(a>B)k=1;elseif(b>C)k=1;elsek=0;

52.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合

53.若有說(shuō)明語(yǔ)句:double*p,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。

A.*p=&a;sCanf("%1f",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%1f",*p);

D.p=&a;scanf("%1f",p);

54.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是

A.a^bB.a|bC.a&bD.a<<4

55.有以下程序:#include<stdio.h>voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}執(zhí)行后的輸出結(jié)果()。

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

56.在C語(yǔ)言中,函數(shù)調(diào)用時(shí)()。

A.實(shí)參和形參各占獨(dú)立的存儲(chǔ)單元

B.實(shí)參和形參共用存儲(chǔ)單元

C.由系統(tǒng)自動(dòng)確定實(shí)參和形參是否共用存儲(chǔ)單元

D.由用戶指定實(shí)參和形參是否共用存儲(chǔ)單元

57.設(shè)有以下語(yǔ)句charx=3,y=6,z;z=x^y<<2;則z的二進(jìn)制值是

A.10100B.11011C.11100D.11000

58.有以下程序:main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("%d,%d",x,y);}程序的輸出結(jié)果是()。

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

59.簡(jiǎn)單的交換排序方法是()。

A.快速排序B.選擇排序C.堆排序D.冒泡排序

60.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法

四、選擇題(20題)61.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是()。

A.文件開始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)

62.HTTP協(xié)議的消息有()兩種類型。

A.發(fā)送消息和接收消息B.請(qǐng)求消息和響應(yīng)消息C.消息頭和消息體D.實(shí)體消息和控制消息

63.下列語(yǔ)句中,顯示沒(méi)有下畫線的超鏈接的語(yǔ)句是()。

A.a{text—decoration:none}

B.a{text—decoration:nounderline}

C.a{underline:none}

D.a{decoration:nounderline}

64.有以下程序:

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

A.B,C,D,E,B.A,B,C,D,C.C,D,E,F(xiàn),D.B,D,F(xiàn),H,

65.

66.

67.有以下程序:

main()

{char*p[]={"3697","2584"};

inti,j;longnum=0;

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

{j=0;

while(p[i][j]!=’\0’)

{if((p[i][j]-’0’)%2==0)num=10*num+p[i][j]-’0’;

j+=2;

}

}

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

}

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

A.35B.37

C.39D.28

68.結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精

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

A.程序錯(cuò)無(wú)輸出結(jié)果B.31.5C.7.5D.14.0

70.

71.有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。

A.chara=a;B.chara=\nC.chara=aa;D.chara=\x2d;

72.有以下程序

73.下列4個(gè)關(guān)于C語(yǔ)言的結(jié)論中錯(cuò)誤的是()。

A.可以用do—while語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用while語(yǔ)句實(shí)現(xiàn)

B.可以用for語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用while語(yǔ)句實(shí)現(xiàn)

C.可以用while語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用for語(yǔ)句實(shí)現(xiàn)

D.do-while語(yǔ)句與while語(yǔ)句的區(qū)別僅是關(guān)鍵字“while”出現(xiàn)的位置不同

74.為用戶與數(shù)據(jù)庫(kù)系統(tǒng)提供接口的語(yǔ)言是

A.高級(jí)語(yǔ)言B.數(shù)據(jù)描述語(yǔ)言(DDL)C.數(shù)據(jù)操縱語(yǔ)言(DML)D.匯編語(yǔ)言

75.

76.

77.

78.

79.以下選項(xiàng)錯(cuò)誤的是

80.若有定義:能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()

A.3:5B.3,5C.35D.35

五、程序改錯(cuò)題(1題)81.以下程序可把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出。請(qǐng)?jiān)跈M線上填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫一個(gè)函數(shù),用來(lái)刪除字符串中的所有空格。例如,輸入asdafaaz67,則輸出為asdafaaz67。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:

參考答案

1.B

2.B

3.D程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。

4.B

5.D

\n所謂二叉樹的前序遍歷是指先訪問(wèn)根結(jié)點(diǎn),訪問(wèn)左子樹,最后訪問(wèn)右子樹,本題中序?yàn)镈YBEAFCZX,后序?yàn)閅DEBFZXCA。

\n

6.A題目的fun函數(shù)內(nèi),while循環(huán)條件為“(*b=*a)!=‘\\0’”,執(zhí)行時(shí)先把指針a所指向的字符賦給指針b所在的內(nèi)存單元。如果該字符不是結(jié)束標(biāo)識(shí)‘\\0’,執(zhí)行循環(huán)體“a++;b++;”,指針a、b分別指向下一個(gè)字符單元。再判斷循環(huán)條件,如果成立,繼續(xù)把指針a所指向的字符賦給指針b所在的內(nèi)存單元,直到遇到結(jié)束標(biāo)識(shí)為止。故本題答案為A選項(xiàng)。

7.D輸出時(shí)以%d整型格式輸出,所以輸出字符變量c1的值為65,c2-2的值為68-2,即66。故本題答案為D選項(xiàng)。

8.DD?!窘馕觥棵嫦?qū)ο笤O(shè)計(jì)方法與面向過(guò)程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。其特點(diǎn)包括:分類性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。

9.CC)【解析】數(shù)據(jù)庫(kù)一旦發(fā)生故障,需要及時(shí)進(jìn)行故障恢復(fù),并由數(shù)據(jù)庫(kù)管理員負(fù)責(zé)執(zhí)行故障恢復(fù)。

10.C

11.AC語(yǔ)言中scanf函數(shù)的聲明為“scanf(“<格式化字符串>”,<地址表>);”,可知scanf的第2個(gè)參數(shù)是地址。因此,從4個(gè)答案中可以判斷,只有選項(xiàng)A是p[i]的地址,其他的均是變量本身。故本題答案為A選項(xiàng)。

12.C函數(shù)是指預(yù)先定義功能塊,其目的是提高程序的重用性。在C語(yǔ)言中函數(shù)的源程序,后綴名可以為C。C語(yǔ)言所編寫的函數(shù)都可以是一個(gè)獨(dú)立的源文件。一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)。C語(yǔ)言中編寫的函數(shù)不是每個(gè)都可以獨(dú)立地編譯和執(zhí)行的,因?yàn)镃語(yǔ)言中程序的開始為主函數(shù),如果程序中沒(méi)有主函數(shù)則無(wú)法進(jìn)行編譯和執(zhí)行。

13.D

14.D

15.C在函數(shù)funlintx)中,有個(gè)if語(yǔ)句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢(shì)中調(diào)用fun(7)時(shí),其過(guò)程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結(jié)果為2。

16.A解析:希爾排序法的基本思想是:將整個(gè)無(wú)序列分割成若干小的子序列分別進(jìn)行插入排序。

17.AC語(yǔ)言中,合法的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,并且第1個(gè)字符必須是字母或下劃線。選項(xiàng)D中的“3break”錯(cuò)誤;用戶標(biāo)識(shí)符不能是C語(yǔ)言中的關(guān)鍵字或函數(shù),選項(xiàng)B中的“unsigned”是關(guān)鍵字,不是合法的用戶標(biāo)識(shí)符,“Switch”是合法的用戶標(biāo)識(shí)符;選項(xiàng)C中的“getch”是庫(kù)函數(shù)名,不是合法的用戶標(biāo)識(shí)符,而C語(yǔ)言區(qū)分字母大小寫,“Abc”是合法的用戶標(biāo)識(shí)符;選項(xiàng)A中的兩個(gè)標(biāo)識(shí)符都是合法的用戶標(biāo)識(shí)符。故本題答案為A選項(xiàng)。

18.A

19.A部門到職員是一對(duì)多的,職員到部門是多對(duì)一的,因此,實(shí)體部門和職員間的聯(lián)系是l:m聯(lián)系。

20.A本題中使用了函數(shù)的調(diào)用,由funl函數(shù)中的while循環(huán)可知,循環(huán)的作用是為了把q所指向的內(nèi)容增加1,而從主函數(shù)傳到函數(shù)時(shí)是從下標(biāo)為3開始傳,因此當(dāng)調(diào)用函數(shù)執(zhí)行完后,傳過(guò)去的字符串為hsbn,前面不變。

21.一對(duì)多一對(duì)多解析:由于一個(gè)項(xiàng)目主管可以管理多個(gè)項(xiàng)目,而一個(gè)項(xiàng)目只能有一個(gè)項(xiàng)目主管,“項(xiàng)目主管”這個(gè)實(shí)體與“項(xiàng)目”這個(gè)實(shí)體的管理關(guān)系屬于一對(duì)多。

22.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語(yǔ)言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒(méi)有break語(yǔ)句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。

23.x=11x=11解析:在對(duì)無(wú)符號(hào)數(shù)的右移是高位補(bǔ)0。

24.2525解析:#NAME?

25.一對(duì)多或1:N。一對(duì)多或1:N。

26.進(jìn)行寫保護(hù)進(jìn)行寫保護(hù)

27.k<=nk++k<=n,k++解析:本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒(méi)有,故需在循環(huán)體中增加改變k數(shù)值的語(yǔ)句'k++;'\ue009。

28.空間空間解析:程序在計(jì)算機(jī)上運(yùn)行時(shí)所耗費(fèi)的時(shí)間由程序運(yùn)行時(shí)所需輸入的數(shù)據(jù)總量、對(duì)源程序進(jìn)行編譯所需時(shí)間、計(jì)算機(jī)執(zhí)行每條指令所需時(shí)間、程序中的指令重復(fù)執(zhí)行的次數(shù)等決定。習(xí)慣上常常把語(yǔ)句重復(fù)執(zhí)行的次數(shù)作為算法運(yùn)行時(shí)間的相對(duì)量度,稱作算法的時(shí)間復(fù)雜度。算法在運(yùn)行過(guò)程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度。

29.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級(jí)和塊級(jí)的變量,全局變量是指作用域在程序級(jí)和文件級(jí)的變量。本程序首先定義了一個(gè)全局變量m=17,m=17的作用域在整個(gè)程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個(gè)局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過(guò)fun函數(shù)返回兩個(gè)形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。

30.葉子結(jié)點(diǎn)葉子結(jié)點(diǎn)解析:樹中度為零的結(jié)點(diǎn),也就是沒(méi)有后件的結(jié)點(diǎn),稱為葉子結(jié)點(diǎn)。

31.元組元組解析:在關(guān)系型數(shù)據(jù)庫(kù)中,用二維表來(lái)表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。

32.voidfun(double*b)或voidfun(doubleb[10][12])voidfun(double*b)或voidfun(doubleb[10][12])解析:本題考查數(shù)組名作函數(shù)參數(shù)。程序中被調(diào)用函數(shù)fun(s)的實(shí)參s是數(shù)組名,而s為double型數(shù)組名,所以函數(shù)fun的形參類型為double*。

33.*2*4*6*8**2*4*6*8*解析:程序中定義了一個(gè)字符數(shù)組a,并初始化為123456789,接著定義了一個(gè)指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個(gè)while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時(shí),將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時(shí)數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*

34.空間復(fù)雜度和時(shí)間復(fù)雜度算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。

35.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。

36.測(cè)試覆蓋率測(cè)試覆蓋率解析:白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試。白盒測(cè)試作為對(duì)結(jié)構(gòu)的測(cè)試,要求對(duì)被測(cè)程序的各種結(jié)構(gòu)特性進(jìn)行測(cè)試,這種情況被稱為覆蓋,故白盒測(cè)試又稱為“基于覆蓋的測(cè)試”。白盒測(cè)試方法重視測(cè)試覆蓋率的度量,力求提高覆蓋率,從而找出被測(cè)程序的錯(cuò)誤。

37.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

38.前件前件

39.“filea.dat”“r”“filea.dat”,“r”解析:考查對(duì)文件的操作。fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。

40.1020010200解析:本題考查的是混合運(yùn)算。“(a/b<1)&&(a%b<1)”的運(yùn)算順序?yàn)椋豪ㄌ?hào)>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符。其中a%b=10,a,b=0,所以a%b<1的值為0,a/b<1的值為1,故整個(gè)表達(dá)式的結(jié)果為0,所以輸出的a,b,c的值為10200。

41.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。

42.D

43.A解析:-1為帶符號(hào)的整型數(shù),在內(nèi)存中的存放形式為1111111111111111。按帶爺號(hào)的整型格式輸出仍為-1;按無(wú)帶符號(hào)的整數(shù)輸出為65535(將1111111111111111轉(zhuǎn)換為十進(jìn)制數(shù));按八進(jìn)制數(shù)輸出為177777(將1111111111111111轉(zhuǎn)換為八進(jìn)制數(shù),方法為由低位到高位,每三位一組,用一個(gè)八進(jìn)制數(shù)代替);按八進(jìn)制數(shù)輸出為ffff(將1111111111111111轉(zhuǎn)換為十六進(jìn)制數(shù),方法為由低位到高位,每四位一組,用一個(gè)十六進(jìn)制數(shù)代替)。

44.C解析:本題考查了考生對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)的記憶。數(shù)據(jù)庫(kù)技術(shù)的主要目的是有效地管理和存取數(shù)據(jù)資源,包括提供數(shù)據(jù)的共享性,使多個(gè)用戶能夠同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù);減少數(shù)據(jù)的冗余度,以提交數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應(yīng)用程序的獨(dú)立性,從而減少應(yīng)用程序的開發(fā)和維護(hù)代價(jià)。數(shù)據(jù)庫(kù)的人工管理階段和文件系統(tǒng)階段,數(shù)據(jù)都不能實(shí)現(xiàn)共享,出現(xiàn)數(shù)據(jù)冗余現(xiàn)象。選項(xiàng)D)的說(shuō)法是錯(cuò)誤的。

45.A

46.B解析:一個(gè)函數(shù)可以帶回一個(gè)整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號(hào)和*號(hào),由于()優(yōu)先級(jí)高于*。故它是一個(gè)返回整型指針的函數(shù)。

47.B[答案]B

[考點(diǎn)]數(shù)據(jù)結(jié)構(gòu)與算法

[評(píng)析]依次從上到下,可得出:

第1層結(jié)點(diǎn)數(shù)為1;

第2層結(jié)點(diǎn)數(shù)為2*1=2;

第3層結(jié)點(diǎn)數(shù)為2*2=4;

第n層結(jié)點(diǎn)數(shù)為2的n-1次冪

48.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類型,相當(dāng)于數(shù)據(jù)類型取個(gè)別名。

49.C解析:變量sum在使用時(shí)未賦初值,所以無(wú)法確定sum最終的值。

50.C解析:根據(jù)瀑布模型的特點(diǎn)(連續(xù)無(wú)反饋)是對(duì)于每一個(gè)階段來(lái)說(shuō),前一個(gè)階段工作的正確無(wú)誤是至關(guān)重要的。因此,瀑布模型不能很好地適應(yīng)那些需求不易確定和多變的軟件項(xiàng)目的開發(fā)。由于大項(xiàng)目在軟件開發(fā)的前期階段,人們很難詳細(xì)地了解系統(tǒng)的許多細(xì)節(jié),從而在項(xiàng)目進(jìn)行過(guò)程中常會(huì)出現(xiàn)需求變化。因此,瀑布模型適用于小系統(tǒng)開發(fā)項(xiàng)目,而不適用于大、中型軟件系統(tǒng)開發(fā)。

51.A解析:分析題目中給出的表達(dá)式可知,如果a>b和b>c同時(shí)成立,k=1,否則k=0。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

52.D軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計(jì)語(yǔ)言描述的、適合計(jì)算機(jī)執(zhí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論