2022-2023年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2022-2023年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2022-2023年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2022-2023年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2022-2023年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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)介

2022-2023年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.若執(zhí)行下述程序時(shí),若從鍵盤輸入6和8,結(jié)果為()。main(){inta,b,s;scanf("%d%dt",&a,&B);s=a:if(s=B)s*=s;printf("%d",s);}

A.36B.64C.48D.以上都不對(duì)

3.順序查找不論在順序線性表中還是在鏈?zhǔn)骄€性表中的時(shí)間復(fù)雜度為()。

A.O(n)B.O(n^2)C.O(n^1/2)D.O(1og2n)

4.

5.程序運(yùn)行后的輸出結(jié)果是()。A.0304.B.2050C.3344D.3040

6.按照標(biāo)識(shí)符的要求,()符號(hào)不能組成標(biāo)識(shí)符。A.連接符B.下劃線C.大小寫字母D.數(shù)字字符

7.考慮一個(gè)特殊的hash函數(shù)h,能將任一字符串hash成一個(gè)整數(shù)k,其概率P(k)=2^(-k),k=1,2,…,∞。對(duì)一個(gè)未知大小的字符串集合S中的每一個(gè)元素取hash值所組成的集合為h(S)。若h(S)中最大的元素Maxh(S)=10,那么S的大小的期望是()

A.1024B.512C.5D.10

8.有定義語(yǔ)句intb;charc[10];,則正確的輸入語(yǔ)句是______。A.scallf("%d%s",&b,&c);

B.scallf("%d%s",&b,c);

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

D.scanf("%d%s",b,&c);

9.有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%if",&x);x=fun(x);printf("%d\n",x);}執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45

10.以下說(shuō)法錯(cuò)誤的是()。

A.C語(yǔ)言中的常量是指在程序運(yùn)行過(guò)程中經(jīng)常被用到的變量

B.C語(yǔ)言中的常量是指在程序運(yùn)行過(guò)程中其值不能被改變的量

C.C語(yǔ)言中的常量可以用一個(gè)符號(hào)名來(lái)代表

D.C語(yǔ)言中的常量可以用宏來(lái)定義

11.

12.在堆棧中存取數(shù)據(jù)的原則是。A.先進(jìn)先出B.后進(jìn)先出C.先進(jìn)后出D.隨意進(jìn)出

13.有以下程序:#include<stdio.h>intfun(int*a,int*b,intn){inti=0,j=0,sum=0;for(;i<n;i++){sum+=a[i];if((i+1)%2==0){b[j++]=sum;sum=0;}}returnj;}main(){inta[8]={1,0,2,3,5,4,2,1},b[8],k,i;k=fun(a,b,8);for(i=0;i<k;i++)printf(“%d”,b[i]);}程序的運(yùn)行結(jié)果是()。

A.0242B.1593C.1351D.286

14.定義int*swap()指的是______。

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

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

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

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

15.體育課的鈴聲響了,同學(xué)們都陸續(xù)地奔向操場(chǎng),按老師的要求從高到矮站成一排。每個(gè)同學(xué)按順序來(lái)到操場(chǎng)時(shí),都從排尾走向排頭,找到第一個(gè)比自己高的同學(xué),并站在他的后面。這種站隊(duì)的方法類似于()算法。

A.快速排序B.插入排序C.冒泡排序D.歸并排序

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

A.函數(shù)的返回值類型不能是結(jié)構(gòu)體類型,只能是簡(jiǎn)單類型

B.函數(shù)可以返回指向結(jié)構(gòu)體變量的指針

C.可以通過(guò)指向結(jié)構(gòu)體變量的指針訪問(wèn)所指結(jié)構(gòu)體變量的任何成員

D.只要類型相同,結(jié)構(gòu)體變量之間可以整體賦值

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

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

18.

19.

20.結(jié)構(gòu)化程序的3種基本控制結(jié)構(gòu)是()。

A.遞歸、堆棧和隊(duì)列B.過(guò)程、子程序和函數(shù)C.順序、選擇和重復(fù)D.調(diào)用、返回和轉(zhuǎn)移

二、2.填空題(20題)21.設(shè)有以下程序,為使之正確運(yùn)行,請(qǐng)?jiān)跈M線中填入應(yīng)包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)

______

main()

{printf("\n");

try_me();

printf("\n");}

22.衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn),其中()是度量一個(gè)模塊功能強(qiáng)度的一個(gè)相對(duì)指標(biāo)。

23.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見(jiàn)的排序方法有插入排序、______和選擇排序。

24.數(shù)據(jù)庫(kù)系統(tǒng)在三級(jí)模式之間提供了兩層映像,這兩層映像是外模式/模式映像和【】。

25.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對(duì)數(shù)據(jù)的操作運(yùn)算。

26.按照邏輯結(jié)構(gòu)分類,數(shù)據(jù)結(jié)構(gòu)可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),隊(duì)列屬于______。

27.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。

28.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

29.設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為【】。

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

main()

{intX=10,y=20,t=0;

if(X==y)t=x;x=y;y=t;

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

}

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

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

33.以下程序中,函數(shù)SumColumMin的功能足:求出M行N列二維數(shù)組每列元素中的最小值,并計(jì)算它們的和值。和值通過(guò)形參傳回主函數(shù)輸出。請(qǐng)?zhí)羁铡?/p>

#defineM2

#defineN4

voidSumColumMm(inta[M][N],int*sum)

{

inti,j,k,s=0;

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

{

k=0;

for(j=1;j<M;j++)

if(a[k][i]>a[j][i])

k=j;

s+=【】;

}

【】=s;

}

main()

{

intx[M][n])={3;,5,1,4,1,8,3},s;

SumC01umMm(【】);

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

}

34.實(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)系。

35.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。

36.想通過(guò)以下輸入語(yǔ)句給x賦值2,給y賦值3,則輸入數(shù)據(jù)的形式應(yīng)該是______。

intx,y;

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

37.已知字母A的ASCⅡ碼為65。以下程序運(yùn)行后的輸出結(jié)果是()。

main()

{chara,b;

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

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

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

}

38.下列程序的運(yùn)行結(jié)果為【】。

main(){inti=lO,*p,*func();

p=&i;

printf("%d",*p);

p=func(p);

printf("%d\n",*p)

}

int*func(px);

int*px;

{inttemp=20;

px=&temp;

return(px);

}

39.下面程序的功能是:計(jì)算1~10之間的奇數(shù)之和與偶數(shù)之和,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta,b,c,i;

a=c=0;

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

{a+=i;

【】;

c+=b;}

printf("偶數(shù)之和=%d\n",a);

printf("奇數(shù)之和=%d\n",c-11);}

40.以下程序段的功能是統(tǒng)計(jì)鏈表中結(jié)點(diǎn)的個(gè)數(shù),其中first為指向第一個(gè)結(jié)點(diǎn)的指針(鏈表帶頭結(jié)點(diǎn))。請(qǐng)?jiān)谙聞澗€內(nèi)填入正確內(nèi)容。

structlink

{chardata;

structlink*next;};

structlink*p,*first;

intc=0;

p=first;

while(【】)

{c++;

p=【】;}

三、1.選擇題(20題)41.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報(bào)告B.軟件需求規(guī)格說(shuō)明書C.概要設(shè)計(jì)說(shuō)明書D.集成測(cè)試計(jì)劃

42.C語(yǔ)言庫(kù)函數(shù)fgets(str,n,fg)的功能是_______。

A.從中指向的文件中讀取長(zhǎng)度n的字符串存入str指向的內(nèi)存

B.從fp指向的文件中讀取長(zhǎng)度不超過(guò)n-1的字符串存入str指向的內(nèi)存

C.從fp指向的文件中讀取n個(gè)字符串存入str指向的內(nèi)存

D.從sb讀取至多n個(gè)字符到文件fp

43.以下不正確的定義語(yǔ)句是

A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

B.inty[5]={0,1,3,5,7,9};

C.charc1[]={′1′,′2′,′3′,′4′,′5′};

D.charc2[]={′\x10′,′xa′,′\x8′};

44.有以下程序

#include<stdio.h>

voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/

{intt,i,j;

for(i=0;i<n-1;j++)

for(j=i+1;j<n;j++)

if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}

}

main()

{intc[10]={1,2,3,4,5,6,7,8,9,0},i;

fun(c+4,6);

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

printf("\n");

}

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

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

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

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

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

45.下列術(shù)語(yǔ)中,與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有關(guān)的是______。

A.隊(duì)列B.棧C.二叉樹D.堆

46.下列敘述中,正確的是______。

A.軟件就是程序清單B.軟件就是存放在計(jì)算機(jī)中的文件C.軟件應(yīng)包括程序清單及運(yùn)行結(jié)果D.軟件包括程序和文檔

47.下列表達(dá)式中,可以正確表示x≤0或x≥1的關(guān)系是()。

A.(x>=1)‖(x<=0)B.x>1‖x=0C.x>=10Rx<=0D.x>=1&&x<=0

48.下列敘述中,正確的一條是______。

A.語(yǔ)句int*pt中的*pt是指針變量名

B.運(yùn)算符*和&都是取變量地址的運(yùn)算符

C.已知指針變量p指向變量a,則&a和*p值相同,都是變量a的值

D.語(yǔ)句“int*p=a;”等價(jià)于“int*p;p=&a[0];”

49.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。A.A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲(chǔ)

50.若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x—y|<10的是()。

A.abs(x-y)<10

B.x-y>-10&&x-y<10

C.!(x-y)<-10‖!(y-x)>10

D.(x-y)*(x-y)<100

51.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)

52.在一棵二叉樹上,第5層的結(jié)點(diǎn)數(shù)最多是()A.8B.9C.15D.16

53.有以下程序:main(){unsignedchara,b;a=4|3;b=4&3;printf("%d%d\n",a,b);}執(zhí)行后輸出結(jié)果是()。

A.70B.07C.11D.430

54.若有定義“char,*p2,*p3,*p4,ch;”,則不能正確賦值的程序語(yǔ)句為()

A.p1=&ch;scanf("%c",p1);

B.p2=(char*)malloc(1);scanf("%c",p2);

C.p3=getchar();

D.p4=&ch;*p4=getchar();

55.若有以下程序段(n所賦的是八進(jìn)制數(shù)):intm=32767,n=032767;printf("%d,%\n",m,n);執(zhí)行后輸出結(jié)果是()。

A.32767,32767B.32767,032767C.32767,77777D.32767,077777

56.利用fseek函數(shù)可以實(shí)現(xiàn)的操作是

A.改變文件的位置指針B.文件的順序讀寫C.文件的隨機(jī)讀寫D.以上答案均正確

57.以下敘述正確的是

A.函數(shù)可以嵌套定義但不能嵌套調(diào)用

B.函數(shù)既可以嵌套調(diào)用也可以嵌套定義

C.函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用

D.函數(shù)可以嵌套調(diào)用但不可以嵌套定義

58.下列敘述中正確的是______。

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

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

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

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

59.下列能正確進(jìn)行字符串賦值的是()。

A.chars[5]={"ABCDE"};

B.chars[5]+{'A','B','C','D','E'),

C.char*s;s="ABCDE";

D.char*s;printf("%S''S);

60.已知函數(shù)的調(diào)用形式為fread(buf,size,count,fp),參數(shù)buf的含義是

A.一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)

B.一個(gè)文件指針,指向要讀的文件

C.一個(gè)指針;指向要讀入數(shù)據(jù)的存放地址

D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)

四、選擇題(20題)61.x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語(yǔ)句是()。

A.INPUTx,y、z;

B.scanf(”%d%d%d”,&x,&y,&z.);

C.sCanf(”%d%d%d”,x,y,z.);

D.read(”%d%d%d”,&x,&y,&z.);

62.以下定義語(yǔ)句中正確的是()。

63.有以下程序:

#include<stdio.h>

#include<string.h>

main()

{charstr[][20][{"One*World","One*Dream!"},*p=str[1];

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

}

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

A.9,0ne*World

B.9,0ne*Dream!

C.10,One*Dream!

D.10,Ome*World

64.兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱為()。

A.耦合性B.內(nèi)聚性C.復(fù)雜性D.數(shù)據(jù)傳輸特性

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

A.在不同的函數(shù)中可以使用相同名字的變量

B.函數(shù)中的形式參數(shù)是局部變量

C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效

D.在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效

66.

67.以下不能正確定義二維數(shù)組的選項(xiàng)是()。

A.

B.

C.

D.

68.

69.軟件設(shè)計(jì)中衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)是()。

A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機(jī)制和控制方法

70.面向?qū)ο蠓椒ㄖ校^承是指()。

A.一組對(duì)象所具有的相似性質(zhì)B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C.各對(duì)象之間的共同性質(zhì)D.類之間共享屬性和操作的機(jī)制

71.(53)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是()

A.cedba

B.acbed

C.decab

D.deabc

72.下列與char*pa[3][5]={"a","bb","ccc"}等價(jià)的是()。

A.char(*pa)[][5]={"a","bb","ccc"}

B.char*pa[3][]={"a","bb","ccc"}

C.charpa[3][]={"a","bb","ccc"}

D.都不等價(jià)

73.

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

A.f=0:for(i=1;i<=n;i++)f*=i:

B.F=1:for(i=l;i<2n;i++)f*=i:

C.f=l:for(i=n;i>1;i++)f*=i:

D.f=1;for(i=n;i>=2;i--)f*=i:

74.

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

A.f=0;for(i=1;i<=n;i++)f*=i;

B.f=1;for(i=1;i<n;i++)f*=i;

C.f=1;for(i=n;i>1;i++)f*=i;

D.f=1;for(i=n;i>=2;i--)f*=i;

76.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

77.若有以下函數(shù)首部:

intfun(doublex[10],int*n)

則下面針對(duì)此函數(shù)的函數(shù)聲明語(yǔ)句中正確的是()。

A.intfun(double,int);

B.intfun(double木,int*);

C.intmn(double*x,intn);

D.intfun(doublex,intint*n)

78.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)的劃分原則是()

A.數(shù)據(jù)之間的聯(lián)系方式B.記錄長(zhǎng)度C.聯(lián)系的復(fù)雜程度D.文件的大小

79.下列程序的運(yùn)行結(jié)果是()。main(){intx=1,y=3,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}

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

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

main()

{inta[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;

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

for(j=0;j<=i;j++)s+=a[i][j];

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

}

A.18

B.19

C.20

D.21

五、程序改錯(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.下列程序定義了M×M的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun(intarr[][M]),該函數(shù)的功能是使數(shù)組左下半三角元素中的值全部置成0。例如,arr數(shù)組中的值為:

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。

試題程序:

參考答案

1.D

2.B

3.A

4.D

5.D[解析]第一次循環(huán)溈0.i%2為0.執(zhí)行switch(a[0]%62)中的case0語(yǔ)句后內(nèi)容即a[0]++,a[0]的值變成3;第二次循環(huán)的值為1.i%62為1.執(zhí)行case1:a[]=0;所以a[1]的值變成0;第三次循環(huán)的值為2.i%62為0.執(zhí)行switch([2]%62)中的case1語(yǔ)句后的內(nèi)容a[2]--,a[2]的值變成4;第四次循環(huán)的值為3.i%2為1.執(zhí)行case1:ai]=0;所以a[3]的值變成0.

6.A

7.A

8.B解析:scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是地址,而不是變量名。對(duì)于變量,通過(guò)地址運(yùn)算符“&”求出內(nèi)存中的地址;對(duì)于數(shù)組c[10],數(shù)組名c即為數(shù)組在內(nèi)存中的地址。

9.A函數(shù)fun()通過(guò)遞歸調(diào)用實(shí)現(xiàn)的功能為n+(n-1)+…+1,故程序的輸出結(jié)果為55。

10.AC語(yǔ)言中的常量是指在程序運(yùn)行過(guò)程中其值不能被改變的量,它可以用宏來(lái)定義,用一個(gè)符號(hào)名來(lái)代表。選項(xiàng)A錯(cuò)誤,選項(xiàng)B、C、D正確。本題答案為A選項(xiàng)。

11.D

12.C

13.B程序中,fun函數(shù)的功能是接收兩個(gè)數(shù)組a、b,以及數(shù)組a的元素個(gè)數(shù)n,然后通過(guò)for循環(huán)將數(shù)組a中下標(biāo)為偶數(shù)的元素與后面相鄰的下標(biāo)為奇數(shù)的元素兩兩相加,賦給數(shù)組b中下標(biāo)為j的元素,最后返回?cái)?shù)組b的個(gè)數(shù)。所以main函數(shù)中,通過(guò)調(diào)用fun函數(shù),將數(shù)組a的元素兩兩相加,得到數(shù)組b的各個(gè)元素,再通過(guò)for循環(huán)輸出,結(jié)果為:1593。故本題答案為B選項(xiàng)。

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

15.B

16.A函數(shù)返回值類型可以是簡(jiǎn)單類型和結(jié)構(gòu)體類型。

17.C解析:二叉樹的一個(gè)性質(zhì)是,在二叉樹的第k層上,最多有2(k-1)(k>=1)個(gè)結(jié)點(diǎn)。對(duì)于滿二叉樹,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第k層上有2k-1個(gè)結(jié)點(diǎn)。所以,在深度為5的滿二叉樹中,所有葉子結(jié)點(diǎn)在第5層上,即其結(jié)點(diǎn)數(shù)為2(k-1)=2(5-1)=16。

18.D

19.A

20.C1966年Boehm和Jacopini證明了程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)3種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。本題答案為C選項(xiàng)。

21.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲(chǔ)分類的概念。如果沒(méi)有特別說(shuō)明,函數(shù)的存儲(chǔ)范圍是從定義函數(shù)的位置到文件的結(jié)尾,如果其他文件想使用這個(gè)函數(shù),需要用ginclude文件包含命令將定義函數(shù)的文件包含進(jìn)來(lái)。

22.內(nèi)聚性內(nèi)聚性解析:模塊的獨(dú)立程度是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn)。內(nèi)聚性是度量一個(gè)模塊功能強(qiáng)度的一個(gè)相對(duì)指標(biāo),耦合性則用來(lái)度量模塊之間的相互聯(lián)系程度。

23.交換排序交換排序解析:所謂排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡(jiǎn)單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。

24.模式/內(nèi)模式映像模式/內(nèi)模式映像解析:映像即一種對(duì)應(yīng)規(guī)則,指出映像雙方如何進(jìn)行轉(zhuǎn)換。數(shù)據(jù)庫(kù)系統(tǒng)在三級(jí)模式之間提供了兩層映像,這兩層映像是外模式/模式映像與模式/內(nèi)模式映像。

25.存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及對(duì)數(shù)據(jù)的操作運(yùn)算。

26.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:隊(duì)列有且只有一個(gè)根結(jié)點(diǎn),而且每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,滿足線性結(jié)構(gòu)的條件,所以屬于線性結(jié)構(gòu)。

27.軟件開發(fā)軟件開發(fā)解析:軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段:軟件定義期(問(wèn)題定義、可行性研究和需求分析)、軟件開發(fā)期(系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試)、軟件維護(hù)期(即運(yùn)行維護(hù)階段)。

28.模塊模塊

29.33解析:本題考查的是C語(yǔ)言逗號(hào)表達(dá)式的相關(guān)知識(shí)。程序在計(jì)算逗號(hào)表達(dá)式時(shí),從左到右計(jì)算由逗號(hào)分隔各表達(dá)式的值,整個(gè)逗號(hào)表達(dá)式的值等于其中最后一個(gè)表達(dá)式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計(jì)算為3。

30.20020,0解析:在主函數(shù)中首先定義了3個(gè)整型變量x、y、t,并分別給它們賦初值為10、20、0,接著執(zhí)行汀語(yǔ)句,在if后面括號(hào)內(nèi)的條件表達(dá)式中,條件x==y即10==20不成立,則不執(zhí)行其后的語(yǔ)句t=x,然后退出if語(yǔ)句,順序執(zhí)行語(yǔ)句x=y;y=t;。執(zhí)行完這兩條語(yǔ)句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x、y的值為20和0。

31.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。

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

33.a[k][i]*sumx&sa[k][i]\r\n*sum\r\nx,&s解析:本題定義了一個(gè)函數(shù)SumColumMin(),該函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)為數(shù)組名,第二個(gè)參數(shù)為一個(gè)指針,用來(lái)訪問(wèn)存放數(shù)組中每列元素中的最小值的存儲(chǔ)空間的變量。所以在主函數(shù)中調(diào)用SumColunMin()函數(shù),應(yīng)該將數(shù)組x和sam作為實(shí)參傳給SumColumMin()中的形參,故第20個(gè)空格處應(yīng)該填x,&s。在SumColumMin()函數(shù)中用了兩重循環(huán),用N記錄數(shù)組的列,M記錄數(shù)組的行。內(nèi)循環(huán)共循環(huán)了M次,每循環(huán)一次將a[k][i]比較a[j][i](當(dāng)k=0時(shí),a[k][i]第一行第一列的值,然后將該值依次和第一列中的每個(gè)值比較,讓a[k][i]表示較小的值,那么比較到最后一個(gè)元素后a[k][i]就是改列中最小元素的值),讓k記錄較小值元素的行下標(biāo),這樣通過(guò)M次循環(huán)得到每列中的最小元素,然后退出內(nèi)循環(huán),繼續(xù)執(zhí)行該次外循環(huán)里的其他語(yǔ)句,即將剛求得第i列的最小值a[k][i]累加到s中,故第一個(gè)空格處應(yīng)該填a[k][i],最后外循環(huán)共循環(huán)N次,將每列得最小值累加到s中,退出循環(huán),然后讓指針sum所指向得存儲(chǔ)空間得值為s故第二個(gè)空格處應(yīng)該填*sum。

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

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

36.x=2y=3。x=2,y=3。解析:使用scanf函數(shù)輸入數(shù)據(jù),普通字符必須原樣輸入,本題的普通字符為'x'、'='、','、'y'正確的輸入格式是x=2,y=3。

37.67G67G解析:根據(jù)題意,a=‘A’+‘5’-‘3’=65+2=67,b=67+4=71,71即為字母G的ASCⅡ碼值。程序要求按十進(jìn)制形式輸出a,按字符形式輸出b,所以結(jié)果為67G。

38.1020

39.b=i+1b=i+1解析:本題考查了for循環(huán)語(yǔ)句的執(zhí)行過(guò)程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2之后和累加至a,所以a的值就是1~10之間的偶數(shù)之后;b的值是1~11之間的奇數(shù)和,但在輸出b值時(shí)c去掉多加的11,即為1~10之間的奇數(shù)之和。

40.p!=NULLp->nextp!=NULL\r\np->next解析:結(jié)構(gòu)體變量構(gòu)成鏈表需要每個(gè)節(jié)點(diǎn)中都有一個(gè)指向下一個(gè)結(jié)點(diǎn)的指針,就像本題中的next指針一樣。注意:掌握可以對(duì)鏈表進(jìn)行的操作。

41.BA項(xiàng)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C項(xiàng)錯(cuò)誤,概要設(shè)計(jì)說(shuō)明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D項(xiàng)錯(cuò)誤,集成測(cè)試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B項(xiàng)正確,需求規(guī)格說(shuō)明書是后續(xù)工作如設(shè)計(jì)、編碼等需要的重要參考文檔。

42.B解析:fgets函數(shù)的作用是從指定的文件讀入一個(gè)字符串。fgets(str,n,fp);中的n為要求得到的字符的個(gè)數(shù),但只從fp指向的文件輸入n-1個(gè)字符,然后在最后加一個(gè)‘\\0’字符,因此得到的字符串共有n個(gè)字符。

43.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大于等于0,選項(xiàng)B)中定義有5個(gè)元素,但賦值時(shí)有6個(gè)元素,所以是錯(cuò)誤的。

44.D解析:在本題中,主函數(shù)在調(diào)用fun()函數(shù)進(jìn)行排序時(shí),傳遞的參數(shù)是c+4和6,fun()函數(shù)實(shí)現(xiàn)的功能是將數(shù)組c的第5個(gè)元素開始的6個(gè)元素依次進(jìn)行從大到小的順序排列。排序之后,數(shù)組c的內(nèi)容變?yōu)閧1,2,3,4,9,8,7,6,5,0}。

45.C

46.D解析:軟件(software)是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。

47.A解析:題中要求x的取值是小于等于0或者大于等于1,這說(shuō)明表達(dá)式是或的關(guān)系,所以在寫成C語(yǔ)言表達(dá)式應(yīng)是邏輯或的關(guān)系,邏輯或運(yùn)算符是“‖”。

48.D

49.A解析:數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究和討論以下三個(gè)方面的問(wèn)題:①數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);②在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);③對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。

50.C解析:選項(xiàng)A)中,abs本身就是求絕對(duì)值的函數(shù),所以是正確的;選項(xiàng)B)是把|x-y|<10表示成了數(shù)學(xué)表達(dá)式中的-10<(x-y)><10,然后再用C語(yǔ)言規(guī)則表示出來(lái)的;選項(xiàng)D)相當(dāng)于把|x-y|<10兩邊同時(shí)平方,此處表達(dá)也是正確的;而選項(xiàng)C)中!(x-y)<-10相當(dāng)于(x-y)>=-10,!(y-x)>10相當(dāng)于(x-y)>=-10,故選項(xiàng)C)相當(dāng)于(x-y)>=-10,所以錯(cuò)誤。

51.D

52.DD)根據(jù)二叉樹的性質(zhì):二叉樹第i(i≥1)層上至多多有2i-1個(gè)結(jié)點(diǎn)。得到第5層的結(jié)點(diǎn)數(shù)最多是16個(gè)。

53.A解析:在位與運(yùn)算符&中參加運(yùn)算的兩位都為1時(shí),其結(jié)果為1,否則結(jié)果為0。所以本題中的4|3:01002|00112=01112=7。位與運(yùn)算符|中參加運(yùn)算的兩位只要有一個(gè)為1,則結(jié)果為1,只有當(dāng)相應(yīng)的兩位都為0結(jié)果才為0。所以本題中的4&3=01002&00112=00002=0。最后輸出a和b的值為7和0。故4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

54.C

55.A解析:程序在定義時(shí),以十進(jìn)制形式為m賦初值,以八進(jìn)制的形式為n賦初值。輸出的時(shí)候m以十進(jìn)制形式輸出,n以八進(jìn)制形式輸出,因此輸出的結(jié)果為32767和32767。所以,A選項(xiàng)為所選。

56.D解析:用fseek函數(shù)可以實(shí)現(xiàn)改變文件的位置指針,從而實(shí)現(xiàn)對(duì)文件的順序和隨機(jī)讀寫。

57.D解析:在C語(yǔ)言中,所有的函數(shù)都是平行的,即在定義函數(shù)時(shí)是互相獨(dú)立的,一個(gè)函數(shù)并不從屬于另一個(gè)函數(shù),即函數(shù)不能嵌套定義,但可以互相調(diào)用,但不能調(diào)用main函數(shù)。注意:函數(shù)不能嵌套定義,但可以嵌套調(diào)用,故選項(xiàng)A)、B)和C)中的描述都錯(cuò)誤。

58.C解析:軟件測(cè)試包括需求分析、結(jié)構(gòu)功能模塊設(shè)計(jì)、編制程序等階段。程序的測(cè)試可以由專門的測(cè)試人員來(lái)完成。程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試。

59.C解析:字符串存儲(chǔ)要有結(jié)束符“\\0”且要占用一個(gè)空間,選項(xiàng)A)、B)的空間不夠;printf用來(lái)輸出字符,不能輸入字符串。

60.C解析:這是一道考查fread函數(shù)的題。buf是一個(gè)指針,fread是讀入數(shù)據(jù)的存放地址;fwrite是輸出數(shù)據(jù)的地址(以上指的是起始地址)。

61.B考查格式輸入函數(shù)scanf的使用。scanf函數(shù)的一般格式是:scanf(格式控制,地址表列)該格式中,地址表列中應(yīng)是變量地址,而不是變量名。

62.A定義變量時(shí)不能連等,所以B)錯(cuò)誤,c)選項(xiàng)中,b是指針,c定義為指向指針的指針才可以接受&b,所以c)錯(cuò)誤,D)選項(xiàng),b=1.1前沒(méi)有類型名,所以錯(cuò)誤。

63.C\n本題輸出兩個(gè)結(jié)果,第一個(gè)是求字符串的長(zhǎng)度。第二個(gè)是輸出的字符串,數(shù)組的下標(biāo)是從0開始的,所以當(dāng)str取1的時(shí)候,應(yīng)為“One*Dream!”。

\n

64.A解析:耦合性是模塊間互相連接的緊密程度的度量,取決于各個(gè)模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過(guò)接口。

[知識(shí)拓展]模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的一個(gè)重要標(biāo)準(zhǔn),衡量軟件的模塊獨(dú)立性有兩個(gè)定性的度量標(biāo)準(zhǔn)。其中內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度最,內(nèi)聚性是從功能角度來(lái)度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量,耦合性從整體的角度來(lái)度量模塊間的聯(lián)系。

65.D在一個(gè)函數(shù)中的復(fù)合語(yǔ)中定義的變量,只能在這個(gè)復(fù)合語(yǔ)句范圍內(nèi)有效。

66.D

67.D本題的考查點(diǎn)是二維數(shù)組的定義和初始化。

選項(xiàng)A)定義的數(shù)組中各元素實(shí)際上是這樣的:

1,0

2.O

選項(xiàng)B)定義的數(shù)組中各元素實(shí)際上是這樣的:

1,2

3.4

選項(xiàng)c)定義的數(shù)組中各元素實(shí)際上是這樣的:

1,0

2.3

選項(xiàng)D)錯(cuò)在省略了第2維的長(zhǎng)度。C中在對(duì)數(shù)組進(jìn)行初始化時(shí),如果對(duì)全部元素都賦初值(即提供全部初始數(shù)據(jù)),則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省。

68.C

69.C耦合性與內(nèi)聚性是模塊獨(dú)立與否的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)蒙、低耦合,即減弱模塊之間的耦合性而提高模塊內(nèi)的內(nèi)聚性,這樣有利于提高模塊的獨(dú)立性。

70.D繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征,是使用已有的類的定義作為基礎(chǔ)建立新類的定義技術(shù)。廣義的說(shuō),繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們,所以說(shuō)繼承是指類之間共享屬性和操作的機(jī)制。

71.A注:前提要掌握三種遍歷的方法

72.D數(shù)組的二維下標(biāo)不能省,一維的倒是可以省略,題目定義的是數(shù)組指針,A項(xiàng)錯(cuò)誤,B,C項(xiàng)省略了數(shù)組下標(biāo)所以錯(cuò)誤。

73.D由i"11的數(shù)字定義可知n!=n*(n-1)*(n-2)*…*1。在

溫馨提示

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