2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.廣義表(a,b,c,d)的表頭是()。

A.aB.(a)C.(b,c,d)D.((b,c,c))

2.

3.設(shè)有定義“inta=3,b,*p=&a”,則下列語(yǔ)句中使b不為3的語(yǔ)句是______。

A.b=*&a;B.b=*p;C.b=a;D.b=*a;

4.

5.有以下程序:

程序運(yùn)行后的輸出結(jié)果是()。A.4284B.2870C.2668D.3981

6.數(shù)組A中,每個(gè)元素的長(zhǎng)度為3個(gè)字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開(kāi)始連續(xù)存放的存儲(chǔ)器內(nèi),該數(shù)組按行存放,元素A[8][5]的起始地址為()。

A.SA+141B.SA+144C.SA+222D.SA+225

7.

8.對(duì)n個(gè)元素的數(shù)組進(jìn)行(),其平均時(shí)間復(fù)雜度和最壞情況下都為O(nlogn)。

A.希爾排序B.快速排序C.堆排序D.選擇排序

9.若有定義:“inta=4,b=5;floatx=3.4,y=2.1;”,則下列表達(dá)式的值為()。(float)(a+b)/2+(int)x%(int)y;

A.5.5B.55C.5.500000D.55.00000

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

#include<stdio.h>

voidprt(int*x,int*y,int*z)

{printf("%d,%d,%d\n",++*x,++*y,*(z++));}

main()

{inta=10,b=40,c=20;

prt(&a,&b,&c);prt(&a,&b,&c);}

A.11,42,3112,22,41

B.11,41,2012,42,20

C.11,21,4011,21,21

D.11,41,2112,42,22

11.判定一個(gè)順序棧st(最多元素為MaxSize)為滿的條件是()。A.st->top!B.st->top!C.top==-1D.top==MaxSize

12.設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達(dá)式(int)a+b/b的值是A.6.5B.6C.5.5D.6

13.數(shù)據(jù)字典(DD)所定義的對(duì)象都包含于()。

A.軟件結(jié)構(gòu)圖B.方框圖C.數(shù)據(jù)流圖(DFD圖)D.程序流程圖

14.鏈表不具有的特點(diǎn)是()。

A.插入、刪除不需要移動(dòng)元素B.可隨機(jī)訪問(wèn)任一元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與線性長(zhǎng)度成正比

15.

16.考慮下圖中的程序段,①號(hào)語(yǔ)句的輸出結(jié)果是()。A.A.'a'B.'t'C.'c'D.'k'

17.

18.在一個(gè)順序隊(duì)列中,隊(duì)首指針指向隊(duì)首元素的____位置。

A.前一個(gè)B.后一個(gè)C.當(dāng)前D.最后一個(gè)

19.以下C語(yǔ)言用戶標(biāo)識(shí)符中,不合法的是()。

A._1B.AaBcC.abD.a--b

20.下列關(guān)于棧敘述正確的是A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.上述三種說(shuō)法都不對(duì)

二、2.填空題(20題)21.下列程序的運(yùn)行結(jié)果是【】。

#include<stdio.h>

main

{intk=4,m=3,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

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

func(a,b)

inta,b;

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);}

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

intmystrlen(char*str)

{intI;

for(I=0;【】!='\n';I++);

return(I);}

23.對(duì)于長(zhǎng)度為n的順序存儲(chǔ)的線性表,當(dāng)隨機(jī)插入和刪除—個(gè)元素時(shí),需平均移動(dòng)元素的個(gè)數(shù)為【】。

24.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。

a=15;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

25.在算法正確的前提下,評(píng)價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是空間復(fù)雜度和()。

26.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類型;請(qǐng)寫(xiě)出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}

27.軟件測(cè)試是保證軟件質(zhì)量的重要手段,而軟件測(cè)試的主要和重要的測(cè)試方法是通過(guò)測(cè)試數(shù)據(jù)和【】的設(shè)計(jì)來(lái)實(shí)現(xiàn)。

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

29.問(wèn)題處理方案的正確而完整的描述稱為_(kāi)_____。

30.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。

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

#include<stdio.h>

main()

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

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

fwtite(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++)printf("%d",a[i]);

}

32.關(guān)系模型的數(shù)據(jù)操縱即是建立在關(guān)系上的數(shù)據(jù)操縱,一般有______、增加、刪除和修改四種操作。

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

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

main()

{inti=6,j=8;

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

}

34.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。

35.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為_(kāi)_____。

36.設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值,以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?/p>

main()

{intfindbig(int,int,int);

int(*f)(),x,y,z,big;

f=【】。

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

big=(*f)(x,y,z);

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

}

37.在關(guān)系運(yùn)算中,查找滿足一定條件的元組的運(yùn)算稱之為【】。

38.下面程序的功能是【】。

doublesub(doublex,inty)

{intn;doublez;

for(n=1,z=x;n<y;n++)z=z*x;

returnz;}

main()

{doublea=2.0,b=4.0,c;

c=sub(a,b);printf("%f",c);}

39.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta[10],b[10],i;

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

scanf("%d",&a[i]);

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

______;

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

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

printf("%3d",b[i]);

}

}

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

#include<stdio.h>

voidswap(int*a,int*b)

{int*t;

t=a;a=b;b=t;

}

main()

{inti=3,j=5,*p=&i,*q=&j;

swap(p,q);printf("%d%d\N,*p,*q))

}

三、1.選擇題(20題)41.6.C語(yǔ)言中下列敘述正確的是()

A.不能使用do-while語(yǔ)句構(gòu)成的循環(huán)

B.do-while語(yǔ)句構(gòu)成的循環(huán),必須用break語(yǔ)句才能退出

C.do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán)

D.do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)

42.有以下程序段main(){inta=5,*b,**c;c=&b;&a;}程序在執(zhí)行了“C=&b;b=&a;”語(yǔ)句后,表達(dá)式“**c”的值是

A.變量a的地址B.變量b中的值C.變量a中的值D.變量b的地址

43.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是

A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序易讀性

44.有以下程序

main()

{inti,s=1;

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

if(!(i%5)&&!(i%3))s+=i;

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

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

A.409B.277C.1D.91

45.關(guān)系代數(shù)運(yùn)算是以______為基礎(chǔ)的運(yùn)算。

A.關(guān)系運(yùn)算B.謂詞運(yùn)算C.集合運(yùn)算D.代數(shù)運(yùn)算

46.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}

A.1B.10C.6D.死循環(huán),不能確定次數(shù)

47.

A.if(x>0)y=1;elseif(x==0)y=0;elsey=-1;

B.y=0;if(x>0)y=1;elseif(x<0)y=-1;

C.y=0;if(x>=0)if(x>0)y=1;e1sey=-1;

D.if(x>=0)if(x>0)y=1;elsey=0:elsey=-1;

48.下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫(xiě)文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫(xiě)二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

49.請(qǐng)讀程序:#include<stdio.h>voidfun(int*s){staticintj=0;dos[j]+=s[j+1]while(++j<2);}main(){intk,a[10]={l,2,3,4,5};for(k=l;k<3;k++)fun(a);for(k=0;k<5;k++)prinf("%d",a[k]);}上面程序的輸出結(jié)果是()

A.34756B.23445C.35745D.12345

50.下列程序的執(zhí)行結(jié)果是()。#include<stdio.h>main(){inta,b,c;a=b=2;c=(a++)-1;printf("%d,%d",a,c);c+=-a+++(++b);printf("%d,%d",a,c);}

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

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

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

52.在具有n(n>1)個(gè)結(jié)點(diǎn)的完全二叉樹(shù)中,結(jié)點(diǎn)i(2i>n)的左孩子結(jié)點(diǎn)是______。

A.2iB.2i+1C.不存在D.2i-1

53.己知x=3,y=2,則表達(dá)式x*=y+8的值為_(kāi)_____。

A.3B.2C.30D.10

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

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

55.有以下程序段intm=0,n=0;charc='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若從鍵盤(pán)上輸入:10A10<回車>,則輸出結(jié)果是

A.10,A,10B.10,a,10C.10,a,0D.10,A,0

56.下述關(guān)于C語(yǔ)言文件的操作的結(jié)論中,正確的是______。

A.對(duì)文件操作必須先關(guān)閉文件

B.對(duì)文件操作必須先打開(kāi)文件

C.對(duì)文件操作順序無(wú)要求

D.對(duì)文件操作前必須先測(cè)文件是否存在,然后再打開(kāi)文件

57.軟件開(kāi)發(fā)離不開(kāi)系統(tǒng)環(huán)境資源的支持,其中必要的測(cè)試數(shù)據(jù)屬于A.硬件資源B.通信資源C.支持軟件D.輔助資源

58.以下不屬于面向?qū)ο蟮幕咎攸c(diǎn)的是()。

A.分類性B.多態(tài)性C.繼承性D.封裝性

59.若有如下定義:ints[3]則下面表達(dá)式中不能代表數(shù)組元素s[1]的地址的是()

A.&s[1]B.&s[0]+1C.s+1D.s++

60.軟件開(kāi)發(fā)的原型化方法是一種動(dòng)態(tài)定義軟件需求的方法,下述條件中,______是實(shí)施原型化方法所必需的。

①成熟的原型化人員

②快速的成型工具

③需求了解的準(zhǔn)確性

A.①和③B.①和②C.②和③D.全部

四、選擇題(20題)61.以下敘述中錯(cuò)誤的是()。

A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值

B.函數(shù)可以返回地址值

C.可以給指針變量賦一個(gè)整數(shù)作為地址值

D.當(dāng)在程序的開(kāi)頭包含文件stdi0.h時(shí),可以給指針變量賦NULL

62.

63.在軟件設(shè)計(jì)中不使用的工具是()。A.系統(tǒng)結(jié)構(gòu)圖B.PAD圖C.數(shù)據(jù)流圖D.程序流程圖

64.有以下程序:

voidf(int*x,int*y)

{int*t;

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

}

main()

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

p=a;q=&a[7];

while(p>q)

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

for(i=0;i<8;i++)printf("d,",a[i]);

}

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

A.8,2,3,4,5,6,7,1,

B.5,6,7,8,1,2,3,4,

C.1,2,3,4,5,6,7,8,

D.8,7,6,5,4,3,2,1,

65.下列敘述中錯(cuò)誤的是()。

A.列表框和組合框都有List屬性

B.列表框有Selected屬性,而組合框沒(méi)有

C.列表框和組合框都有Style屬性

D.組合框有Text屬性,而列表框沒(méi)有

66.(48)軟件調(diào)試的目的是()

A.發(fā)現(xiàn)錯(cuò)誤

B.改正錯(cuò)誤

C.改善軟件的性能

D.挖掘軟件的潛能

67.以下數(shù)組定義中錯(cuò)誤的是()。

A.

B.

C.

D.

68.有以下程序:

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

A.y=一1B.Y=0C.y=1D.while構(gòu)成無(wú)限循環(huán)

69.

70.

(19)關(guān)系表中的每一橫行稱為一個(gè)()

A.元組

B.字段

C.屬性

D.碼

71.

72.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是()。A._0_B.8—8C.voidD.unsigned

73.若x=5,y=3則y*=x+5;y的值為_(kāi)__________.

A.10B.20C.15D.30

74.下列關(guān)于隊(duì)列的敘述中正確的是()。A.在隊(duì)列中只能插人數(shù)據(jù)B.在隊(duì)列中只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表

75.運(yùn)行下列程序時(shí),若輸入的數(shù)據(jù)為“1,2,3”,則輸出結(jié)果是()。main{floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a<b){t=a;a=b.b=t;)if(a<c){t=a;a=c;c=t;)it(b<c){t=b;b=C;c—=;)printf("%f\n%f\n%f\n",a,b,c);}A.1.002.003.00B.1.003.002.00C.132D.3.000002.000001.00000

76.C語(yǔ)言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄

B.數(shù)據(jù)行

C.數(shù)據(jù)塊

D.字符(字節(jié))序列

77.有以下程序:

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

A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,

78.以下選項(xiàng)中,合法的是()。

A.charstr3[]={d,e,b,u,g,\0};

B.charstr4;str4="helloworld";

C.charname[10];name="china";

D.charstrl[5]="pass",str2[6];str2=strl;

79.閱讀下面程序,則執(zhí)行后的結(jié)果為

#include"stdio.h"

fun1()

{intk=20;

returnk;

}

fun2()

{inta=15;

returna;}

fun3(inta,intb)

{intk;

k=(a-b)*(a+b);

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

main()

{un3(fun1(),fun2());}

A.0B.184

C.175D.編譯不通過(guò)

80.HTML是一種標(biāo)記語(yǔ)言,它是由()解釋執(zhí)行的。

A.不需要解釋B.WindowsC.瀏覽器D.標(biāo)記語(yǔ)言處理軟件

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符

串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。

請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)其功能是使字符串的前導(dǎo)*號(hào)不得多于n個(gè),若多于n個(gè),則刪除多余的*號(hào);若少于或等于n個(gè),則不做處理。字符串中間和尾部的*號(hào)不刪除。例如,字符串中的內(nèi)容為“*******A*BC*DEF*G****”,若n的值為4,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“****A*BC*DEF*G****”;若n的值為8,則字符串中的內(nèi)容仍為“*******A*BC*DEF*G****”。n的值在主函數(shù)中輸入。在編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>voidfun(char*a,intn){}voidmain(){ chars[81];intn; printf(“Enterastring:\n”); gets(s); printf(“Entern:”); scanf(“%d”,&n); fun(s,n); printf(“Thestringafterdeleted:\n”); puts(s);}

參考答案

1.A

2.D

3.D

4.D

5.Bfor循環(huán)中,i取值為1~100。循環(huán)體中,3個(gè)if語(yǔ)句必須同時(shí)滿足才會(huì)輸出x,輸出的x取值為i+3,所以x的取值只能是4到103。x必須滿足以下條件:①x%7==0(x必須是7的倍數(shù));②(x-1)%3==0(x必須是3的倍數(shù)+1);③(x-2)%2==0(x必須是2的倍數(shù))。滿足條件③的x取值為7,14,21,28,35,42,49,56,63,70,77,84,91,98;又滿足條件②的x的取值為7,28,49,70,91;又滿足條件①的x的取值為28,70。本題答案為B選項(xiàng)。

6.C

7.D

8.C

9.C在計(jì)算(float)(a4-b)/2時(shí),由于通過(guò)強(qiáng)制類型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計(jì)算,得4.500000。在計(jì)算(int)x%(int)y時(shí),先將x和y通過(guò)強(qiáng)制類型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,結(jié)果為1。又因?yàn)?.500000是float型,所以將1和它相加時(shí),先將1換成float型,再計(jì)算,得到5.500000。類型轉(zhuǎn)換的一般規(guī)則是:低級(jí)類型從高級(jí)類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類型的級(jí)別由低到高的排序表示為:char→int→unsigned→log→float→double。

10.B解析:考查指針作為參數(shù)的函數(shù)調(diào)用。盡管C語(yǔ)言以傳值方式進(jìn)行函數(shù)調(diào)用,但也可以通過(guò)傳遞指針的值(變量的地址)來(lái)達(dá)到修改實(shí)參變量值的目的,這是此題主要說(shuō)明的問(wèn)題。另外,應(yīng)注意表達(dá)式\ue008*(z++)\ue009的值是*z,其后的z++在程序中無(wú)實(shí)際作用。函數(shù)調(diào)用時(shí),由于x,y和z分指向a,b和c,因此,*x,*y和*z就是a,b和c。第一次調(diào)用函數(shù)時(shí),*x=a=10,*y=b=40,*z=c=20輸出結(jié)果為11,41,20,至此,已經(jīng)可以肯定選項(xiàng)B)是正確的。在第一次輸出后,a=11,b=41,c=20,第二次輸出為:12,42,20。

11.D

12.D解析:本題考查的知識(shí)點(diǎn)是運(yùn)算符的優(yōu)先級(jí)。在這個(gè)表達(dá)式中,優(yōu)先級(jí)最高的是(int)a,也就是對(duì)5.5取整,結(jié)果是5,其次是b/b,即2.5/2.5,結(jié)果是1.000000,最后相加結(jié)果為6.000000(表達(dá)式的最終結(jié)果為實(shí)型),所以4個(gè)選項(xiàng)中D正確。

13.C數(shù)據(jù)字典(DD)是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明。

14.BB選項(xiàng)的特點(diǎn)是順序存儲(chǔ)結(jié)構(gòu)的特點(diǎn),即數(shù)組的特點(diǎn)。

15.D

16.D

17.D

18.A

19.D\n標(biāo)識(shí)符主要由英文字母、數(shù)字和下劃線構(gòu)成,但開(kāi)頭字符一定是字母或下劃線。

\n

20.A解析:在棧中,允許插人與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。故本題選A。

21.10211021解析:此題主要考查了變量和函數(shù)的存儲(chǔ)類別。函數(shù)的存儲(chǔ)范圍是從定義它的位置到文件結(jié)束為止,如果想在函數(shù)定義之前使用函數(shù),需要先對(duì)函數(shù)進(jìn)行聲明。靜態(tài)局部變量的生存期為整個(gè)程序的運(yùn)行期間,作用域卻為定義它的函數(shù)或局部范圍內(nèi)。

22.*(str+I)或str[I]*(str+I)或str[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)于str[I]。

23.n/2n/2解析:刪除—個(gè)元素,平均移動(dòng)的元素個(gè)數(shù)為(n-1+n-2+…+0)/n=(n-1)/2;插入一個(gè)元素,平均移動(dòng)元素個(gè)數(shù)為(n+n-1+n-2+…+1)/n=(n+1)/2:所以總體平均移動(dòng)元素個(gè)數(shù)為n/2。

24.33解析:本題考查do…while語(yǔ)句形式:

do循環(huán)體

while表達(dá)式

首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。

25.時(shí)間復(fù)雜度時(shí)間復(fù)雜度解析:在算法正確的前提下,評(píng)價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是空間復(fù)雜度和時(shí)間復(fù)雜度。算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

26.

27.測(cè)試實(shí)例測(cè)試實(shí)例解析:進(jìn)行軟件測(cè)試時(shí),應(yīng)精心設(shè)計(jì)測(cè)試實(shí)例和選擇測(cè)試數(shù)據(jù),以對(duì)系統(tǒng)進(jìn)行全面測(cè)試。

28.相鄰相鄰

29.算法或程序或流程圖算法或程序或流程圖解析:算法是問(wèn)題處理方案正確而完整的描述。

30.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。

31.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫(xiě)函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為'1,2,3,0,0,1,2,3,0,0,'。

32.查詢查詢

33.8181解析:將S(i+j)展開(kāi)來(lái)有:S(i+j)=S(6+8)=4×6+8×6+8+1=81。

34.類類解析:在面向?qū)ο蟮姆椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。

35.繼承繼承

36.findbigfindbig解析:f是指向函數(shù)的指針變量,根據(jù)題意要求,空格處應(yīng)填入findbig。

本題目考查:C語(yǔ)言中指向函數(shù)的指針變量定義的一般形式為;

數(shù)據(jù)類型標(biāo)識(shí)符(*指針變量名)();

“數(shù)據(jù)類型標(biāo)識(shí)符”表示函數(shù)返回值的類型。

函數(shù)的調(diào)用可以通過(guò)函數(shù)名調(diào)用,也可以通過(guò)函數(shù)指針調(diào)用。在給函數(shù)指針變量賦值時(shí),只需給出函數(shù)名而不必給出參數(shù)。(*p)()表示定義一個(gè)指向函數(shù)的指針變量,專門(mén)用來(lái)存放函數(shù)的入口地址,可以先后指向不同的指針變量。用函數(shù)指針調(diào)用函數(shù)時(shí),只需要將(*p)代替函數(shù)名即可,在(*p)之后的括號(hào)中,根據(jù)需要寫(xiě)上參數(shù)。

37.選擇選擇解析:在關(guān)系數(shù)據(jù)庫(kù)中,選擇運(yùn)算也是一個(gè)元運(yùn)算,關(guān)系R通過(guò)選擇運(yùn)算(并由該運(yùn)算給出所選擇的邏輯條件)后仍為一個(gè)關(guān)系。這個(gè)關(guān)系是由R中的那些滿足邏輯條件的元組所組成。

38.本程序的功能是求a的b次方本程序的功能是求a的b次方

39.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數(shù)組a中元素a[i]與a[j+1]值相加后的值賦予數(shù)組b中元素b[i],即可實(shí)現(xiàn)將一個(gè)數(shù)組的前項(xiàng)和后項(xiàng)之和存入另一數(shù)組。

40.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒(méi)有發(fā)生變化,所以輸出結(jié)果為35。

41.D解析:本題考查do-while語(yǔ)句。C語(yǔ)言支持do-while語(yǔ)句,選項(xiàng)A)錯(cuò)誤;do-while構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán),故選項(xiàng)B)、C)都是錯(cuò)誤的。

42.C解析:指向指針的指針,主函數(shù)中定義了一個(gè)整型變量a,一個(gè)整型指針變量b和一個(gè)二級(jí)指針變量c,并讓c指向指針變量b,讓指針b指向整型變量a,所以**c為變量a的值。

43.D結(jié)構(gòu)化程序設(shè)計(jì)由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設(shè)計(jì)為中心,將待開(kāi)發(fā)的軟件系統(tǒng)劃分為若干個(gè)相互獨(dú)立的模塊,這樣使完成每一個(gè)模塊的工作變得單純而明確,為設(shè)計(jì)一些較大的軟件打下了良好的基礎(chǔ)。

由于模塊相互獨(dú)立,因此,在設(shè)計(jì)其中一個(gè)模塊時(shí),不會(huì)受到其他模塊的牽連,因而可將原來(lái)較為復(fù)雜的問(wèn)題化簡(jiǎn)為一系列簡(jiǎn)單模塊的設(shè)計(jì)。模塊的獨(dú)立性還為擴(kuò)充已有的系統(tǒng)、建立新系統(tǒng)帶來(lái)了不少的方便,因?yàn)榭梢猿浞掷矛F(xiàn)有的模塊作為積木式的擴(kuò)展。

結(jié)構(gòu)化程序設(shè)計(jì)的基本思想是采用“自頂向下,逐步求精”的程序設(shè)計(jì)方法和“單入口單出口”的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計(jì)方法從問(wèn)題本身開(kāi)始,經(jīng)過(guò)逐步細(xì)化,將解決問(wèn)題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖;“單入口單出口”的思想認(rèn)為一個(gè)復(fù)雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過(guò)組合、嵌套構(gòu)成,那么這個(gè)新構(gòu)造的程序一定是一個(gè)單入口單出口的程序。據(jù)此就很容易編寫(xiě)出結(jié)構(gòu)良好、易于調(diào)試的程序。

44.D解析:本題是計(jì)算50之內(nèi)的自然數(shù)相加之和,題中if語(yǔ)句括號(hào)中的條件表達(dá)式!(i%5)&&!(i%3)表明只有能同時(shí)被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個(gè)條件的只有,15、30和45,因?yàn)閟的初始值為1,所以s=1+15+30+45=91。

45.C解析:關(guān)系代數(shù)是以集合代數(shù)為基礎(chǔ)女發(fā)展起來(lái)的,它是以關(guān)系代數(shù)作為運(yùn)算對(duì)象的一組高級(jí)運(yùn)算的集合。它的基本操作是并、交、差、笛卡爾積,另外還包括針對(duì)數(shù)據(jù)庫(kù)環(huán)境專門(mén)設(shè)計(jì)的操作,包括對(duì)關(guān)系進(jìn)行垂直分割(投影)、水平分割(選擇)、關(guān)系的結(jié)合(連接)等。

46.D解析:break語(yǔ)句只能在循環(huán)體和switch語(yǔ)句體內(nèi)使用,當(dāng)break出現(xiàn)在switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語(yǔ)句體內(nèi)時(shí),則在執(zhí)行break后,跳出本層循環(huán)體.而continue語(yǔ)句的作用是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判定。本程序中,變量i的初始值為0,判斷while后面括號(hào)內(nèi)表達(dá)式的值為真,執(zhí)行循環(huán)體內(nèi)的if語(yǔ)句,判斷if后面括號(hào)內(nèi)表達(dá)式的值為真,執(zhí)行“continue;”語(yǔ)句.因continue的作用是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判斷,所以i的值未發(fā)生變化,循環(huán)條件仍然為真,if語(yǔ)句也仍然成立,因此循環(huán)將無(wú)止境地進(jìn)行下去。所以,4個(gè)選項(xiàng)中D為所選。

47.C解析:選項(xiàng)A的意思是:在x>O情況下,y為1,否則,在x=O時(shí),y為0,剩下x<O時(shí),y為-1,滿足本題中函數(shù)的要求。選項(xiàng)B描述的意思是:初始化y的值為0,在x>O時(shí),給y重新賦值為1,否則,在x<O時(shí),給y重新賦值為-1,滿足本題中函數(shù)的要求。選項(xiàng)C描述的意思是:在x>=0情況下,如果x>O,則y為1,否則,即x==0時(shí),y為-1;剩下的x<O時(shí),y為0??梢?jiàn)答案C實(shí)現(xiàn)的結(jié)果不是給定的表達(dá)式。選項(xiàng)D中描述的意思是:在x>=0的情況下,如果x>O,就給y賦值為1,否則即x==0時(shí)給y賦值為0,在不是x>=0的其他情況下,就給y賦值為-1,滿足本題中函數(shù)的要求。所以4個(gè)選項(xiàng)中C為所選。

48.D解析:C語(yǔ)言把文件看成是一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)字符(字節(jié))的數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組織形式,可分為ASCII文件和二進(jìn)制文件。ASCII文件又稱文本文件,它的每一個(gè)字節(jié)放一個(gè)ASCII代碼,代表一個(gè)字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤(pán)上存放。

49.C

50.A解析:本題主要考查自加運(yùn)算符(++、--)的使用。①前綴變量“++i、--i”,在使用i之前,先使i的值加1或者減1,再使用此時(shí)的表達(dá)式的值參與運(yùn)算;②后綴變量“i++、i--”,先使用此時(shí)的表達(dá)式的值參與運(yùn)算,在使用i之后,再使i的值加1或者減1。本題中計(jì)算表達(dá)式c=(a++)-1時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此語(yǔ)句后a的值是3;表達(dá)式c+=-a+++(++b)等價(jià)于c=c+(-a++)+(++b),c=1+(-3)+3=1,此時(shí)a=4,b=3。

51.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照數(shù)據(jù)庫(kù)管理員所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。

52.C解析:完全二叉樹(shù)中葉子結(jié)點(diǎn)一定在最后一層或兩層。n個(gè)結(jié)點(diǎn)的完全二叉樹(shù)中,其層數(shù)最多為log2n+1。結(jié)點(diǎn)i與雙親的關(guān)系是i≠1時(shí),i的雙親是trunc(i/2)。結(jié)點(diǎn)i與子女的關(guān)系是:若2i≤n,則i的左孩子是標(biāo)號(hào)2i的結(jié)點(diǎn),若2i>n,則不存在左孩子;若2i+1≤n,則i的右孩子是標(biāo)號(hào)2i+1的結(jié)點(diǎn),若2i+1>n,則該結(jié)點(diǎn)不存在右孩子。

53.C解析:表達(dá)式x*=y+8即x=x*(y+8),所以其值為3*(2+8)=30。

54.B

55.A解析:scanf()函數(shù)輸入格式字符“%d”用于輸入整數(shù),“%c”用來(lái)輸入字符。在輸入時(shí),系統(tǒng)把第一個(gè)10作為整數(shù)10賦給m,把隨后的A作為字符賦值給c,后面的10作為整數(shù)賦給n,最后輸出的結(jié)果為10,A,10。

56.B解析:在C中對(duì)文件操作必須先打開(kāi)文件,待文件操作完畢后要關(guān)閉文件。對(duì)文件以讀的方式進(jìn)行打開(kāi)操作時(shí),同時(shí)會(huì)執(zhí)行文件的檢查文件是否存在,不存在將會(huì)返回空的文件指針,如果對(duì)文件以寫(xiě)的方式打開(kāi)時(shí),文件不存在,將會(huì)自動(dòng)創(chuàng)建文件,因此在C中打開(kāi)文件前不必對(duì)其檢查文件是否存在,故答案為B。

57.D軟件開(kāi)發(fā)離不開(kāi)系統(tǒng)環(huán)境資源的支持,其中主要的資源有硬件資源、通信資源、輔助資源等。(1)硬件資源是指組成計(jì)算機(jī)及相關(guān)應(yīng)用所需要的硬件,它是軟件開(kāi)發(fā)必不可少的資源,因?yàn)闊o(wú)論什么樣的軟件工具都需要在硬件上完成任務(wù),它是其他資源的基礎(chǔ)資源。(2)通信資源是指為軟件開(kāi)發(fā)提供通信支撐的資源,它與測(cè)試數(shù)據(jù)無(wú)關(guān)。(3)支持軟件是指為軟件開(kāi)發(fā)提供操作平臺(tái)的軟件,如常用的面向?qū)ο箝_(kāi)發(fā)的Rose軟件,它主要是軟件開(kāi)發(fā)的工具。通過(guò)對(duì)上述分析的總結(jié),可以知道本題的正確答案選D。

58.A解析:封裝性、繼承性、多態(tài)性是面向?qū)ο蟮娜筇攸c(diǎn)。

59.D

60.B

61.C指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),故選項(xiàng)C錯(cuò)誤。

62.A

63.C系統(tǒng)結(jié)構(gòu)圖是對(duì)軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)的圖形顯示。在需求分析階段。已經(jīng)從系統(tǒng)開(kāi)發(fā)的角度出發(fā),把系統(tǒng)按功能逐次分割成層次結(jié)構(gòu),是在概要設(shè)計(jì)階段用到的。PAD圖是在詳細(xì)設(shè)計(jì)階段用到的。程序流程圖是對(duì)程序流程的圖形表示,在詳細(xì)設(shè)計(jì)過(guò)程中用到。數(shù)據(jù)流圖(DFD

溫馨提示

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