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è),還剩29頁(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.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}

A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3

2.一個(gè)棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棱的順序是()。A.A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA

3.設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素e1,e2,e3,e4,e5和e6依次通過(guò)棧S,一個(gè)元素出棧后即進(jìn)隊(duì)列Q,若6個(gè)元素出隊(duì)的序列是e2,e4,e3,e6,e5,e1,則棧S的容量至少應(yīng)該是()。

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

4.從堆中刪除一個(gè)元素的時(shí)間復(fù)雜以為_(kāi)___。

A.O(1)B.O(log2n)C.O(n)D.O(nlog2n)

5.有以下程序:#include<stdio.h>main(){inta[3][3]={{1,3,5,},{7,9,11,},{13,15,17}};int(*p)[3]=a,i,j,n=0;for(i=0;i<3;i++)for(j=0;j<2;j++)n+=*(*(p+i)+j);printf(“%d\n”,n);}程序運(yùn)行后的輸出結(jié)果是()。

A.54B.60C.36D.48

6.數(shù)據(jù)流圖(DFD)的作用是()。

A.描述軟件系統(tǒng)的控制流B.支持軟件系統(tǒng)的功能建模C.支持軟件系統(tǒng)的面向?qū)ο蠓治鯠.描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)

7.以下有關(guān)宏替換的敘述不正確的是()。A.A.使用宏定義可以嵌套

B.宏定義語(yǔ)句不進(jìn)行語(yǔ)法檢查

C.雙引號(hào)中出現(xiàn)的宏名不替換

D.宏名必須用大寫(xiě)字母表示

8.

9.在下面的字符數(shù)組定義中,哪一個(gè)有語(yǔ)法錯(cuò)誤()。A.chara[20]=”abcdefg”;

B.chara[]=”x+y=55.”;

C.chara[15];

D.chara[10]=’5’;

10.對(duì)包含N個(gè)元素的散列表進(jìn)行檢索,平均檢索長(zhǎng)度________

A.為o(log2N)B.為o(N)C.不直接依賴(lài)于ND.上述三者都不是

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

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

12.某完全二叉樹(shù)有256個(gè)節(jié)點(diǎn),則該二叉樹(shù)的深度為()。

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

13.設(shè)線性鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為(data,next)。已知指針q所指結(jié)點(diǎn)是指針結(jié)點(diǎn)p的直接前驅(qū),若在*q與*p之間插入結(jié)點(diǎn)*s,則應(yīng)執(zhí)行下列()操作。

A.s->next=p->next;p->next=s;

B.q->next=s;s->next=p;

C.p->next=s->next;s->next=p;

D.p->next=s;s->next=q;

14.

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

A.函數(shù)名是屬于用戶標(biāo)識(shí)符,需符合C語(yǔ)言對(duì)標(biāo)識(shí)符的規(guī)定

B.形參只能是變量

C.為保證程序的正常運(yùn)行,函數(shù)中定義的變量不能與其他函數(shù)中的變量同名

D.函數(shù)中定義的變量可以與其他函數(shù)中的變量同名

16.有以下程序: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

17.下列敘述中正確的是()。

A.算法就是程序B.設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)C.設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性D.以上3種說(shuō)法都不對(duì)

18.帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。

A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL

19.有以下程序:

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

A.10B.40C.32D.8

20.數(shù)據(jù)處理的最小單位是()。

A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)

二、2.填空題(20題)21.設(shè)有以下定義和語(yǔ)句,則*(*(p+2)+1)的值為【】。

inta[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

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

voidfun(ints[])

{inti;

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

printf("\n\n");

}

main()

{inta[3][4]={{99,2},{3,4,5},{6,7,8}};

fun(a[0]);

}

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

main()

{

chara[]="Language",b[]="Programe";

char,p1,*p2;

intk;

p1=a,p2=b;

for(k=0;k<=7;k++)

if*(p1+k)==*(p2+k))printf("%c",*(p1+k));

}

24.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?/p>

voiddele(char*s)

{

intn=0,i;

for(i=0,s[i];i++)

if(【】)

s[n++]=s[i];

s[n]=【】;

}

25.軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。

26.以下程序的輸出結(jié)果是()。main(){char*p[]={"ABC","DEF","GHI","JKL"};inti;for(i=3;i>=0;i--,i--)printf("%c",*p[i]);}

27.數(shù)據(jù)元素之間______的整體稱(chēng)為邏輯結(jié)構(gòu)。

28.設(shè)i,j,k均是int型變量,則執(zhí)行以下for循環(huán)后,k的值為【】。

for(i=0,j=10;i<=j;i++,j--)

k=i+j;

29.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。

30.函數(shù)mycmp(char*s,char*t)的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,當(dāng)s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>

mycmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}

return(【】);

}

31.若有定義:intk;,以下程序段的輸出結(jié)果是______。for(k=2;k<6;k++,k++)printf("##%d",k);

32.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。

33.假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為【】。

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

main()

{chars[]="9876",*p;

for(p=s;p<s+2;p++)printf("%s\n",p);

}

35.閱讀程序,填空補(bǔ)充程序。

#define【】30

main()

{【】;

num=10;

total=num*PRICE;

printf("total=%d,num=%d\n",【】);

}

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

#include<stdio.h>

main()

{charc;intn=100;

floatf=10:doublex:

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

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

}

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

38.fseek函數(shù)的正確調(diào)用形式是【】。

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

#definePOWER(x)((x)*(x))

main()

{inti=1;

printf("%d,%d",POWER(i++),i);

}

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;}

i+=11;

a+=i;

}

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

}

三、1.選擇題(20題)41.下列程序段的輸出結(jié)果為()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}

A.languageB.lnugC.有語(yǔ)法錯(cuò)誤D.lang

42.下列敘述中,正確的是

A.用E-R圖能夠表示實(shí)體集間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系和多對(duì)多的聯(lián)系

B.用E-R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系

C.用E-R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系

D.用E-R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型

43.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=4printf("%d\n",(a+=a-=a*A));}

A.-8B.14C.0D.-24

44.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為_(kāi)_____。

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

45.12.以下說(shuō)法中正確的是()

A.#define和printf都是C語(yǔ)句

B.#define是C語(yǔ)句,而printf不是

C.printf是C語(yǔ)句,但#define不是

D.#define和printf都不是C語(yǔ)句

46.樹(shù)是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。

A.有且只有1B.1或多于1C.0或1D.至少2

47.設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是()。

A.6.500000B.6C.5.500000D.6.000000

48.閱讀下列程序,則執(zhí)行后的結(jié)果為#include"stdio.h"main(){intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}

A.3e,6B.62,5C.56,5D.3E,6

49.下列關(guān)于棧的描述中錯(cuò)誤的是()

A.棧是先進(jìn)后出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針

50.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為_(kāi)_____。

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

51.計(jì)算機(jī)病毒不能破壞()中的軟件。

A.ROMB.RAMC.軟盤(pán)D.硬盤(pán)

52.以下敘述中,正確的是______。

A.do…while語(yǔ)句構(gòu)成的循環(huán)不能用其他語(yǔ)句構(gòu)成的循環(huán)來(lái)代替

B.do…while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出

C.用do…while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)

D.用do…while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)

53.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

54.表示關(guān)系x<=y<=z的C語(yǔ)言表達(dá)式為_(kāi)_____。

A.(x<=y)&&(y<=z)

B.(x<=y)and(y<=z)

C.(x<=y<=z)

D.(x<=y)&(y<=z)

55.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是

A.樹(shù)結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表

56.設(shè)intx=7,則~x的值是()。

A.-8B.-7C.-1D.1

57.下面程序的輸出結(jié)果是______。main(){unsigneda=32768;printf("a=%d\n",a);}

A.a=32768B.a=32767C.a=-32767D.a=-1

58.下列數(shù)據(jù)中,不能存放在動(dòng)態(tài)存儲(chǔ)區(qū)中的是______。

A.函數(shù)形參變量B.局部自動(dòng)變量C.函數(shù)調(diào)用時(shí)的現(xiàn)場(chǎng)保護(hù)和返回地址D.局部靜態(tài)變量

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

A.在C語(yǔ)言中的保留字必須小寫(xiě)

B.變量的存儲(chǔ)類(lèi)型決定了變量的存儲(chǔ)位置及其生存期

C.宏定義以#define開(kāi)頭,行未必須加分號(hào)

D.在C語(yǔ)言中的注釋行可以出現(xiàn)在程序的任何位置

60.為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來(lái)代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱(chēng)為_(kāi)_____。

A.PAD圖B.N-S圖C.結(jié)構(gòu)圖D.數(shù)據(jù)流圖

四、選擇題(20題)61.以下程序的輸出結(jié)果是()。

A.1B.7C.9D.13

62.在數(shù)據(jù)庫(kù)設(shè)計(jì)的各階段中,負(fù)責(zé)將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的階段是

A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

63.

64.若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入9,則輸出結(jié)果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8

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

main()

{inta=1;

charc=’a’;

floatf=2.0;

Printf("%d\n",(!(a==0),f1=0&&c==’A’));

}

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

66.下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是()0、

A.雙向鏈表

B.帶鏈的棧

C.二叉鏈表

D.循環(huán)鏈表

67.

68.

69.一名教師可講授多門(mén)課程,一門(mén)課程可由多名教師講授。則實(shí)體教師和課程間的聯(lián)系是()。

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

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

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

A.

B.

C.

D.

71.若有下列定義(設(shè)int類(lèi)型變量占2個(gè)字節(jié)):inti=8,j=9;則下列語(yǔ)句:printf("i=%%d,j=%%d\n",i,j);輸出的結(jié)果是()。A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,9

72.

73.一個(gè)教師可講授多門(mén)課程,一門(mén)課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是()。

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

74.

75.設(shè)整型變量a為5,使b不為2的表達(dá)式是()。

A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?2:1

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

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

77.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。

A.&B.^C.D.E.F.~

78.

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用冒泡法對(duì)6個(gè)字符串按由小到大的順序進(jìn)行排序。請(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。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。例如,若二維數(shù)組中的數(shù)據(jù)為333333334444444455555555則一維數(shù)組中的內(nèi)容應(yīng)該為333333334444444455555555。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.D

2.B棧是先進(jìn)后出的原則組織數(shù)據(jù),所以人棧最早的最后出棧,所以選擇B。

3.C

4.B

5.D題目中,for循環(huán)的作用是求數(shù)組各行前兩列的數(shù)字之和。已知“*(*(P+i)+j)=p[i][j]”,則變量n=1+3+7+9+13+15=48。故本題答案為D選項(xiàng)。

6.B數(shù)據(jù)流圖是系統(tǒng)邏輯模型的圖形表示,從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變化過(guò)程,它直接支持系統(tǒng)的功能建模。本題答案為B選項(xiàng)。

7.D解析:本題考查宏替換的規(guī)則。宏替換有兩類(lèi):簡(jiǎn)單的字符替換和帶參數(shù)的宏替換。使用宏應(yīng)注意:①宏定義僅僅是符號(hào)替換,不是賦值語(yǔ)句,因此不做語(yǔ)法檢查:②為了區(qū)別程序中其他的標(biāo)示符,宏名的定義通常用大寫(xiě)字母,但不是必須用大寫(xiě);③雙引號(hào)中出現(xiàn)的宏名不替換;④使用宏定義可以嵌套,即后定義的宏中可以使用先定義的宏。

8.B

9.D

10.C

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

12.C

13.B

14.A

15.C解析:本題考查函數(shù)調(diào)用時(shí)參數(shù)的作用域。在函數(shù)調(diào)用時(shí),函數(shù)體內(nèi)定義的變量的作用域連函數(shù)體內(nèi),因而在不同函數(shù)體內(nèi)定義的變量可以相同,不影響各個(gè)變量的使用。

16.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。

17.D程序(program)是為實(shí)現(xiàn)特定目標(biāo)或解決特定問(wèn)題而用計(jì)算機(jī)語(yǔ)言編寫(xiě)的命令序列的集合。設(shè)計(jì)算法時(shí)要考慮到數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),但是不僅僅是要考慮到數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),還要考慮到其他的程序結(jié)構(gòu)的問(wèn)題。設(shè)計(jì)算法時(shí)不能只考慮結(jié)果的正確性和可靠性,還需要考慮到程序的時(shí)間冗余度等方面。所以答案選擇D。

18.B

19.D整型變量ch使用八進(jìn)制數(shù)020初始化,二進(jìn)制數(shù)為10000,右移一位結(jié)果為1000,使用%d輸出十進(jìn)制數(shù)為8。本題答案為D選項(xiàng)。

20.C解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;而數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。故正確答案為選項(xiàng)C)。

21.6060解析:程序中定義a是一個(gè)3行2列的二維數(shù)組,p是指向兩個(gè)元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。

22.9920O345067

23.gaegae解析:本題定義了兩個(gè)字符串?dāng)?shù)組a[],b[],字符型指針變量p1和p2,且分別指向字符串?dāng)?shù)組a和b,抽打for循環(huán),當(dāng)if(*(p1+k)==*(p2+k))條件為真,執(zhí)行輸出*(p1+k)對(duì)應(yīng)的字符。即當(dāng)k=0時(shí),*(p1+k)對(duì)應(yīng)的字符串?dāng)?shù)組a中的字符L,*(p2+k)對(duì)應(yīng)的字符串?dāng)?shù)組b中字符P,因此if(*(p1+k)==*(p2+k))條件為假,不執(zhí)行printf語(yǔ)句,依此類(lèi)推,將字符串?dāng)?shù)組a和b中對(duì)應(yīng)位置上的字符——比較,如果對(duì)應(yīng)位置上的字符相同,則輸出該字符。

24.s[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigis[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigi解析:從一個(gè)字符串中刪除某字符的力‘法是從字符串的第一個(gè)字符開(kāi)始一一判斷該字符是否是要被刪除,若不是則把它放到結(jié)果字符串中,若是則不放入結(jié)果字符串中。本題的第一個(gè)空應(yīng)判斷s[i]是否為數(shù)字字符,只有在不是數(shù)字字符的情況下才存入結(jié)果字符串,所以應(yīng)填入s[i]<'0'||s[i]>'9'。最后應(yīng)在結(jié)果字符串的末尾填上字符串結(jié)束標(biāo)志\\0。

25.完善性軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。

26.JD

27.邏輯關(guān)系邏輯關(guān)系

28.10

29.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的管理機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等。

30.*s-*t*s-*t解析:本題考查比較字符串的大小。函數(shù)的兩個(gè)形參是兩個(gè)字符指針變量,指針變量的值是字符串的首地址,*s和*t表示s和t指向的第一個(gè)字符,在while循環(huán)中,通過(guò)s和t指針的移動(dòng),不斷改變所指字符,通過(guò)返回s和t的第一個(gè)不同字符的ASCII碼的差值*s-*t得到結(jié)果。

31.本題主要考查for循環(huán)語(yǔ)句。for循環(huán)的增量表達(dá)式為逗號(hào)表達(dá)式,相當(dāng)于k+=2;,即每次循環(huán)后k增加2。第一次循環(huán)時(shí),k=2,因此輸出##2;第二次循環(huán)時(shí)k=4,輸出##4。此后k=6,不滿足循環(huán)條件。\r\n\r\n

32.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。

33.n(n-1)/2

34.98768769876\r\n876解析:指針是一種數(shù)據(jù)類(lèi)型,這種數(shù)據(jù)類(lèi)型的變量用來(lái)存放內(nèi)存中分配的存儲(chǔ)單元的首地址。指針的定義:

類(lèi)型說(shuō)明符*指針變量名;

35.PRICEintnumtotaltotalnumPRICE\r\nintnum,total\r\ntotal,num解析:程序中出現(xiàn)了變量num,total以及宏P(guān)RICE,因此應(yīng)在相應(yīng)位置說(shuō)明它們。

36.220220解析:根據(jù)賦值運(yùn)算符“自右至左”的結(jié)合順序,程序中賦值表達(dá)式x=f*=n/=(c=50)的求解步驟為:首先計(jì)算n/=(c=50),即n=n/c=100/50=2;然后計(jì)算f*=n,即f=f*n=10*2=20.000000,由此得到x的值為20.000000。

37.存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱(chēng)數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用??芍?,循環(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。

38.fseek(文件指針位移量起始點(diǎn))fseek(文件指針,位移量,起始點(diǎn))解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:

fseek(文件指針,位移量,起始點(diǎn))

“起始點(diǎn)”用0,1或2代替,其中,0代表“文件開(kāi)始”;1為“當(dāng)前位置”;2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長(zhǎng)度大于64k時(shí)不致出現(xiàn)問(wèn)題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個(gè)字母L,就表示long型。

39.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。

40.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,直到表達(dá)式的值為假時(shí),結(jié)束while語(yǔ)句的執(zhí)行,繼續(xù)執(zhí)行while語(yǔ)句后面的語(yǔ)句:i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語(yǔ)句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。

41.B解析:本程序首先定義了靜態(tài)字符數(shù)組a,然后將指針p指向數(shù)組a的首地址。

第1次for循環(huán),p=a,p指向數(shù)組的第1個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出1;第2次for循環(huán),p=p+2,則p指向數(shù)組的第3個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出n;第3次for循環(huán),p=p+2,則p指向數(shù)組的第5個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出u;第4次for循環(huán),p=p+2,則p指向數(shù)組的第7個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出g,結(jié)束循環(huán)。

42.A解析:兩個(gè)實(shí)體之間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有下面幾種,即一對(duì)一的聯(lián)系、一對(duì)多(或多對(duì)一)的聯(lián)系和多對(duì)多的聯(lián)系;概念模型便于向各種模型轉(zhuǎn)換。由于概念模型不依賴(lài)于具體的數(shù)據(jù)庫(kù)管理系統(tǒng),因此,容易向關(guān)系模型、網(wǎng)狀模型和層次模型等各種模型轉(zhuǎn)換。

43.D解析:表達(dá)式a+=a-=a*a看起來(lái)復(fù)雜,其實(shí)將它分成兩個(gè)表達(dá)式來(lái)計(jì)算就簡(jiǎn)單了:①第一個(gè)表達(dá)式(a-=a*a)=(a=a-a*a=-12);②第二個(gè)表達(dá)式(a+=a-=a*a)=(a=a+a=-24)。

44.A解析:C語(yǔ)言中比較表達(dá)式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成立。

45.CC[解析]#define是宏命令,而不是C語(yǔ)句

46.A樹(shù)形結(jié)構(gòu)是一類(lèi)重要的非線性數(shù)據(jù)結(jié)構(gòu)。樹(shù)是n(n≥0)個(gè)結(jié)點(diǎn)的集合,對(duì)應(yīng)任意一棵非空樹(shù),它具有以下幾點(diǎn)重要的性質(zhì)。

①有且僅有一個(gè)特定的稱(chēng)為根的結(jié)點(diǎn)。

②當(dāng)n>1時(shí),其余結(jié)點(diǎn)可分為m(m>0)個(gè)互不相交的有限集T1,T2,…,TM,其中每一個(gè)集合本身又是一棵樹(shù),稱(chēng)為子樹(shù)。

因此,本題的正確答案有且只有一個(gè)。

47.D

48.A解析:數(shù)組a[5][5],0<=i<5,0<=j<5,則可以用5種表達(dá)式來(lái)引用,a[i][j],*a(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+5*i+j)。數(shù)組的下限為0,%后面為小寫(xiě)的x,所以輸出的結(jié)果為小寫(xiě)字母表示的十六進(jìn)制。

49.B解析:在棧中,允許插入與刪除的一端稱(chēng)為棧頂,不允許插入與刪除的另一端稱(chēng)為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照先進(jìn)后出(FILO,F(xiàn)irstInLastOut)或后進(jìn)先出(LIFO,LastInFirstOut)的原則組織數(shù)據(jù)的,因此,棧也被稱(chēng)為先進(jìn)后出表或后進(jìn)先出表。由此可以看出,棧具有記憶作用。答案B錯(cuò)在帶鏈的棧的結(jié)點(diǎn)存儲(chǔ)順序與其邏輯順序是可以不一致的。

50.C解析:二分法查找是一種線性查找方法,其基本方法是:首先要用要查找的關(guān)鍵碼與線性表中間位置結(jié)點(diǎn)的關(guān)鍵碼值進(jìn)行比較,這個(gè)中間結(jié)點(diǎn)把線性表分為兩個(gè)子表,比較相等則查找完畢,不等則根據(jù)查找結(jié)果確定下一步的查找應(yīng)該在哪一個(gè)子表中進(jìn)行,如此下去,直到找到滿足條件的結(jié)點(diǎn):或者確定表中沒(méi)有這樣的結(jié)點(diǎn)。用二分法查找關(guān)鍵碼值11的順序如下所示,其中[]內(nèi)為本次栓索的子表,()內(nèi)為該子表的中間結(jié)果。從圖中可以看出,經(jīng)四次查找后,確定表中沒(méi)有這樣的結(jié)點(diǎn)。因此本題正確答案為選項(xiàng)C(4)。

第一次:[3,6,8,10,12,(15),16,18,21,25,30]

第二次:[3,6,(8),10,12],15,16,18,21,25,30

第三次:[3,6,8,[(10),(12)],15,16,18,21,25,30]

第四次:[3,6,8,10,[(12)],(15),16,18,21,25,30]查找失敗。

51.A

52.D

53.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開(kāi)發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。

54.A解析:C語(yǔ)言中沒(méi)有關(guān)鍵詞and,邏輯與運(yùn)算符是&&,不是and,因此,選項(xiàng)B是錯(cuò)誤的;而&是c語(yǔ)言的按位與運(yùn)算,因此選項(xiàng)D是錯(cuò)誤的:選項(xiàng)C是數(shù)學(xué)表達(dá)式,也是不對(duì)的。

55.D解析:在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱(chēng)為一個(gè)關(guān)系。即關(guān)系模型是用表格數(shù)據(jù)來(lái)表示實(shí)體本身及其相互之間的聯(lián)系。本題的正確答案是D。

56.A解析:本題主要考查按位求反運(yùn)算和C語(yǔ)言中正負(fù)數(shù)的表示,“0”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),~x為11000,第一個(gè)1代表負(fù)數(shù),值為8。

57.C

58.D

59.C解析:本題涉及C語(yǔ)言最基本的4個(gè)知識(shí)點(diǎn):①C語(yǔ)言的保留字必須小寫(xiě);②變量的存儲(chǔ)類(lèi)型不同,其存儲(chǔ)位置和生存期也不一樣;③C語(yǔ)言允許其注釋部分出現(xiàn)在程序中的任何位置;④宏定義以#define開(kāi)頭,行末不需要加分號(hào)。

60.B解析:常見(jiàn)的過(guò)程設(shè)計(jì)工具有:程序流程圖、N-S圖、PAD圖和HIPO圖。其

中,為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來(lái)代替?zhèn)鹘y(tǒng)的程序流

程圖,通常也把這種圖稱(chēng)為N-S圖。

注意:其他常用算法描述工具的概念。

61.C1題中用動(dòng)態(tài)存儲(chǔ)分配函數(shù)mMloc分配了一個(gè)int型數(shù)據(jù)長(zhǎng)度大1小的內(nèi)存,然后指針p指向了這段內(nèi)存,函數(shù)f中對(duì)P所指1向的數(shù)據(jù)進(jìn)行了賦值,P[1][1]為二維數(shù)組第二行第二列的元素,對(duì)應(yīng)于實(shí)參a的元素9,所以輸出結(jié)果為9。

62.B數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下六個(gè)階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)。

(1)需求分析階段。進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步。作為地基的需求分析是否做得充分與準(zhǔn)確,決定了在其上構(gòu)建數(shù)據(jù)庫(kù)大廈的速度與質(zhì)量。需求分析做得不好,甚至?xí)?dǎo)致整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)返工重做。

(2)概念結(jié)構(gòu)設(shè)計(jì)階段。概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,它通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))的概念模型。E-R圖是有效的概念模型表示方法。

(3)邏輯結(jié)構(gòu)設(shè)計(jì)階段。邏輯結(jié)構(gòu)設(shè)計(jì)是將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化,比如,將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫(kù)產(chǎn)品支持的關(guān)系模型。

(4)數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段。數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。

(5)數(shù)據(jù)庫(kù)實(shí)施階段。在數(shù)據(jù)庫(kù)實(shí)施階段,設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語(yǔ)言及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。

(6)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。

63.B

64.B當(dāng)n為9時(shí),此時(shí)if語(yǔ)句成立,執(zhí)行n++后

溫馨提示

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