2021-2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第1頁(yè)
2021-2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第2頁(yè)
2021-2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第3頁(yè)
2021-2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第4頁(yè)
2021-2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩101頁(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ì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列敘述中正確的是()。

A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)

C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)

D.循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)

2.數(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ì)

3.如有inta=11;則表達(dá)式(a/1)的值是()。

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

4.有以下程序:

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

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

5.設(shè)有定義:intn=0,*p=&n,**q=&p;則下列選項(xiàng)中正確的賦值語(yǔ)句是()。

A.p=1;B.*q=2;C.q=p;D.*p=5;

6.

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

A.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序不能解決過(guò)于復(fù)雜的問(wèn)題

B.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決一些簡(jiǎn)單的問(wèn)題

C.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決遞歸問(wèn)題

D.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決數(shù)學(xué)上有解析解的問(wèn)題

8.

9.

10.下列說(shuō)法不正確的是()。

A.調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式

B.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元

C.調(diào)用函數(shù)時(shí),將實(shí)參的值復(fù)制給形參,使實(shí)參變量和形參變量在數(shù)值上相等

D.調(diào)用函數(shù)時(shí),實(shí)參與形參的類(lèi)型必須一致

11.有以下程序:#include<stdio.h>main(){inta=-2,b=0;while(a++++b);printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1,3B.0,2C.0,3D.1,2

12.

13.深度為5的二叉樹(shù)至多有C個(gè)結(jié)點(diǎn)。

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

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

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

15.有下列程序:

intfun(intn)

{if(n==1))returnl;

else

return(n+fun(n-1)):

}

main()

{intx;

seanf("%d",&x);x=fun(x);printf("%d\n",x);

}

執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是()。

A.55

B.54

C.65

D.45

16.

17.用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)()。

A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都要修改D.隊(duì)頭,隊(duì)尾指針都可能要修改

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

A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值

B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類(lèi)型上只需賦值兼容

C.在C語(yǔ)言中,外部變量的隱含類(lèi)型是自動(dòng)存儲(chǔ)類(lèi)別

D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類(lèi)型是自動(dòng)(auto)類(lèi)型的變量

19.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。

A.10,One*Dream!

B.9,One*Dream!

C.9,One*World

D.10,One*World

20.設(shè)已有定義“floatx;”,則下列對(duì)指針變量P進(jìn)行定義且賦初值的語(yǔ)句中正確的是()。

A.int*p=(float)x;

B.float*p=&x;

C.floatp=&x;

D.float*p=1024;

二、2.填空題(20題)21.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

①第0列元素和主對(duì)角線元素均為1。

②其余元素為其左上方和正上方元素之和。

③數(shù)據(jù)的個(gè)數(shù)每行遞增1。

請(qǐng)將程序補(bǔ)充完整。

#defineN6

voidyanghui(intx[N][N])

{inti,j;

x[O][0]=1;

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

{x[i][0]=【】=1;

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

x[i][j]=【】;

}

)

22.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

23.有以下程序:

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)+1;}

main()

{inti,j=0;

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

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

}

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

24.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳遞的是【】。

25.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語(yǔ)言寫(xiě)成程序。

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

intf(inta[],intn)

{

if(n>=l)

returnf(a,n-1)+a[n-1];

else

return0;

}

main{)

{

intaa[5]={1,2,3,4,5},s;

s=f(aa,5);

printf{'%d\n",s);

}

27.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語(yǔ)言表達(dá)式是______。

28.下面的程序?yàn)?個(gè)整型變量A、B、C、D、E、F輸入整數(shù),并按從大到小的順序輸出整數(shù)及其所對(duì)應(yīng)的變量名。例如,輸入的數(shù)為3、2、5、7、4、6,則輸出的形式為:D(7)F(6)C(5)E(4)A(3)B(2)。

#include<stdio.h>

intA,B,C,D,E,F(xiàn);

struct

{

charn;

【】;

}tb1[]={{'A',&A},{'B',&B},{'C',&c},{'D',&D),{'E',&E},{'F',&F}},t;

main()

{

inti,j;

for(i=0;i<6;i++)scanf("%d",【】);

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

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

if(【】)

{

t=tb1[j];

tb1[j]=tb1[j+1];

tb1[j+1]=t;

}

for(i=0;i<6;i++)printf("%c(%d)",tb1[i].n,*tb1[i].p);

printf("\n");

}

29.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。

30.冒泡排序算法在最好的情況下的元素交換次數(shù)為【】。

31.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構(gòu)成規(guī)律是,第0列元素和主對(duì)角線元素均為1,其余元素為其左上方和正上方元素之和,數(shù)據(jù)的個(gè)數(shù)每行遞增1。請(qǐng)將程序補(bǔ)充完整。

#defintN6

voidYangHui(int*[N][N])

{

inti,j;

x[0][0]=1

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

{

x[i][0]=【】=1

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

x[i][j]=【】;

}

}

32.用十六進(jìn)制給存儲(chǔ)器中的字節(jié)地址進(jìn)行編號(hào),其地址編號(hào)從0000到FFFF,則該存儲(chǔ)器容量是【】。

33.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱為_(kāi)_____。

34.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱作______。

35.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>

voidbubble(inta[],intn)

{intj,k,jmax,temp;

jmax=【】;

do{

k=0;

for(j=0;j<jmax;j++)

if(a[j]>a[j+1])

{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;

jmax=k;

}while(jmax>0);}

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

voidreverse(inta[],intn)

{inti,t;

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

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

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

}

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

38.數(shù)據(jù)庫(kù)保護(hù)分為安全性、控制性、______、并發(fā)性控制和數(shù)據(jù)恢復(fù)。

39.設(shè)順序輸入數(shù)列為:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每個(gè)結(jié)點(diǎn)的查找概率相同,若用順序存儲(chǔ)方式組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】;若按二叉排序樹(shù)結(jié)構(gòu)組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】。

40.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和方法的機(jī)制稱為_(kāi)_____。

三、1.選擇題(20題)41.若在fopen函數(shù)中使用文件的方式是"wb+",該方式的含義是()

A.為讀/寫(xiě)打開(kāi)一個(gè)文本文件

B.為輸出打開(kāi)一個(gè)文本文件

C.為讀/寫(xiě)建立一個(gè)新的文本文件

D.為讀/寫(xiě)建立一個(gè)新的二進(jìn)制文件

42.下列程序的輸出結(jié)果是______。main(){intk=17;printf("%d,%0,%x\n",k,k,k);}

A.17,021,0x11B.17,17,17C.17,Ox11,021D.17,21,11

43.假定當(dāng)前盤(pán)符下有兩個(gè)如下文本文件:

文件名a1.txta2.txt

內(nèi)容123#321#

則下面程序段執(zhí)行后的結(jié)果為

#include"stdio.h"

voidfc(FILE*p)

{charc;

while((c=fgetc(p))!=′#′)putchar(c);}

main()

{FILE*fp;

fp=fopen("a1.txt","r");

fc(fp);

fclose(fp);

fp=fopen("a2.txt","r");

fc(fp);

fclose(fp);

putchar('\n');}

A.123321B.123C.321D.以上答案都不正確

44.若變量已正確說(shuō)明為int類(lèi)型,要通過(guò)語(yǔ)句scanf("%d%d%d",&a,&b,&c);給a賦值3,b賦值5,c賦值8,下面不正確的輸入形式是()。

A.3<回車(chē)>5<回車(chē)>8<回車(chē)>B.3,5,8<回車(chē)>C.3<回車(chē)>58<回車(chē)>D.35<回車(chē)>8<回車(chē)>

45.下列不屬于軟件工程三要素的是

A.工具B.過(guò)程C.方法D.環(huán)境

46.以下程序的運(yùn)行結(jié)果是

intk=0;

voidfun(intm)

{m+=k;k+=m;printf("m=%dk=%d",m,k++);}

main()

{inti=4;

fun(i++);

printf("i=%dk=%d\n",i,k);

}

A.m=4k=5i=5k=5

B.m=4k=4i=5k=5

C.m=4k=4i=4k=5

D.m=4k=5i=4k=5

47.有以下程序

intfun(intx[],intn)

{staticintsum=0,i;

for(i=0;i<n;i++)sum+=x[i];

returnsum;

}

main()

{inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);printf("%d\n",s);

}

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

A.45B.50C.60D.55

48.命令“DIRA:*.*/W”的功能是()

A.寬行顯示A盤(pán)當(dāng)前目錄的所有文件

B.寬行顯示A盤(pán)所有目錄的所有文件

C.寬行顯示A盤(pán)的所有目錄

D.顯示A盤(pán)中的文件名,每滿一屏后停頓一下

49.有以下程序

#include<stdio.h>

voidfun(int*s,intn1,intn2)

{inti,j,t;

i=n1;j=n2;

while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}

}

main()

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

fun(a,0,3);fun(a,4,9);fun(a,0,9);

for(k=0;k<l0;k++)printf("%d",a[k]);printf("\n");

}

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

A.0987654321B.4321098765C.5678901234D.0987651234

50.若各選項(xiàng)中所用變量已正確定義,fun()函數(shù)中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,下列選項(xiàng)中錯(cuò)誤的程序是()。

A.main(){……x=fun(2,10);……}floatfun(inta,intb){……}

B.floatfun(inta,intb){……}main(){……x=fun(i,j);……}

C.floatfun(int,int);main(){……x=fun(2,10);……}floatfun(inta,intb){……}

D.main(){floatfun(inti,intj);……x=fun(i,j);……}floatfun(inta,intb){……}

51.若有說(shuō)明語(yǔ)句:charc=′\72′;則變量c

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說(shuō)明不合法,c的值不確定

52.以下不能定義為用戶標(biāo)識(shí)符的是()。

A.scanfB.VoidC.3comD.int

53.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

54.在“文件包含”預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用<>(尖括號(hào))括起時(shí),尋找被包含文件的方式是()。

A.僅僅搜索當(dāng)前目錄

B.僅僅搜索源程序所在目錄

C.在標(biāo)準(zhǔn)目錄下查找指定的文件

D.先在源程序所在目錄搜索,如查找不到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄查找

55.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));

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

56.下列不屬于軟件工程的3個(gè)要素的是______。

A.工具B.過(guò)程C.方法D.環(huán)境

57.設(shè)有下列的程序段:charstr[]="HelloWorld";char*ptr;ptr=str;執(zhí)行上面的程序段后,*(ptr+10)的值為()。

A.'\0'B.'0'C.不確定的值D.'0'的地址

58.若有如下程序:main(){intk,x=0,y=0;for(k=0;k<=2;k++)switch(k){case0:X++;case1:y++;case2:X++;y++;}printf("%d,"d\n",x,y);}則程序運(yùn)行后的輸出結(jié)果是()。

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

59.若有下面的說(shuō)明和定義,則sizeof(structaa)的值是______。structaa{intr1;doubler2;floatr3;unionuu{charul[5];longu2[2]}ua;}mya;

A.30B.29C.24D.22

60.若要用函數(shù)fopen打開(kāi)一個(gè)新的二進(jìn)制文件,該文件要既能讀也能寫(xiě),則應(yīng)以哪種方式打開(kāi)文件()。

A.wbB.wb+C.rb+D.rb

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

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

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

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

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

62.

63.以下關(guān)于typedef的敘述錯(cuò)誤的是()。

A.用typedef可以增加新類(lèi)型

B.typedef只是將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表

C.用typedef可以為各種類(lèi)型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名

D.用typedef為類(lèi)型說(shuō)明一個(gè)新名,通??梢栽黾映绦虻目勺x性

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

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

65.在面向?qū)ο蠓椒ㄖ?,具有相似屬性與操作的一組對(duì)象稱為()。

A.類(lèi)B.實(shí)例C.消息D.數(shù)據(jù)

66.

67.

68.以下只有在使用時(shí)才為該類(lèi)型變量分配內(nèi)存的存儲(chǔ)類(lèi)型說(shuō)明是()。

A.auto和static

B.auto和register

C.register和static

D.extern和register

69.

70.以下符號(hào)C語(yǔ)言語(yǔ)法的實(shí)型常量是()。

A)1.2E0.5B)3.14159E

C)5E-3D)E15

71.有以下程序則輸出結(jié)果是()。A.1245B.1256C.1278D.1267

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

main()

{inta=1;

charc=’a’;

floatf=2.0;

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

}

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

73.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡(jiǎn)單選擇排序C.直接插入排序D.堆排序

74.在執(zhí)行下述程序時(shí),若從鍵盤(pán)輸入6和8,則結(jié)果為()。

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

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

f(inta)

{intb=0;staticintc=3;

b++;c++;

return(a+b+c);

}

main()

{inta=2,i;

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

printf("%4d",f(a));

A.789B.678C.567D.876

76.

77.

數(shù)字字符0的ASCII值為48,運(yùn)行以下程序的輸出結(jié)果是()。

main

(chara=1,b=2;

printf("%C,",b++);printf("%d\n",b—a);}

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

78.下面屬于黑盒測(cè)試方法的是()。

A.邊界值分析B.路徑覆蓋C.語(yǔ)句覆蓋D.邏輯覆蓋

79.閱讀以下程序:

該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,原因是()。

A.定義語(yǔ)句出錯(cuò),Case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符

B.定義語(yǔ)句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符

C.定義語(yǔ)句無(wú)錯(cuò),sCanf不能作為輸入函數(shù)使用

D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出Case的值

80.以下程序的輸出結(jié)果是()。#defineM(x,y,z)x*y+zmain(){inta=l,b=2,c=3;printf("%d\n",m(a+b.b+c,c+a));}A.19B.17C.15D.12

五、程序改錯(cuò)題(1題)81.在主函數(shù)中從鍵盤(pán)輸入若干個(gè)數(shù)放人數(shù)組中,用0結(jié)束輸入并放在最后一個(gè)元素中。下列給定程序中,函數(shù)proc()的功能是計(jì)算數(shù)組元素中值為負(fù)數(shù)的平均值(不包括0)。例如,數(shù)組中元素的值為78、-65、-15、35、-45、0,則程序的運(yùn)行結(jié)果為-41.666667。請(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)。編寫(xiě)函數(shù)fun(),其功能是刪除字符串中所有的*號(hào)。編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為“****A*BC*DEF*G*******”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>voidfun(char*a){}voidmain(){ chars[81]; printf(“Enterastring:\n”); gets(s); fun(s); printf(“Thestringafterdeleted:\n”); puts(s);}

參考答案

1.B本題主要考查循環(huán)隊(duì)列的概念,循環(huán)隊(duì)列作為隊(duì)列的一種也應(yīng)該是線性結(jié)構(gòu)。隊(duì)列是一種邏輯結(jié)構(gòu),而循環(huán)隊(duì)列是一種順序存儲(chǔ)結(jié)構(gòu)的隊(duì)列。

2.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)特性)。

3.D

4.D在程序中指針變量P初始指向a[3],執(zhí)行P減1后,P指向a[2],語(yǔ)句y=*P的作用是把a(bǔ)[2]的值賦給變量y,所以輸出為y=3。

5.D解析:選項(xiàng)A),B),C)的指針賦值表達(dá)方式都不正確,*p=5表達(dá)整數(shù)5放到指針p所指向的存儲(chǔ)單元中。注意:通過(guò)指針引用一個(gè)存儲(chǔ)單。

6.D

7.A順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是3種基本結(jié)構(gòu),由3種基本結(jié)構(gòu)構(gòu)成的程序稱為結(jié)構(gòu)化程序,由3種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問(wèn)題,選項(xiàng)A錯(cuò)誤。本題答案為A選項(xiàng)。

8.D

9.B

10.B

\n本題考查函數(shù)調(diào)用的基本概念。調(diào)用函數(shù)時(shí),實(shí)參的形式可以是具體的數(shù)值,也可以是表達(dá)式。實(shí)參將數(shù)值或表達(dá)式的值傳遞給形參,因而兩者的類(lèi)型必須保持一致;形參在運(yùn)算過(guò)程中會(huì)發(fā)生改變,但不一定會(huì)影響到實(shí)參值,所以可知兩者不共用內(nèi)存單元。

\n

11.D輸出的結(jié)果是:-1,1\r\n0,2\r\n1,2

12.C

13.C

14.D層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖,關(guān)系模型采用二維表來(lái)表示,所以三種數(shù)據(jù)庫(kù)的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。

15.A\n本題在函數(shù)intfun(intn)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量X時(shí),遞歸調(diào)用的過(guò)程為

\nfun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)

\n=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)

\n=10+9++8+7+6+5+fun(4)

\n=10+9++8+7+6+5+4+fun(3)

\n=10+9++8+7+6+5+4+3+fun(2)

\n=10+9++8+7+6+5+4+3+2+fun(1)

\n=10+9++8+7+6+5+4+3+2=55

\n

16.D\r\n

17.D

18.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類(lèi)型不是自動(dòng)存儲(chǔ)類(lèi)別。

19.A函數(shù)“strlen(char*s)”;計(jì)算字符串s的長(zhǎng)度,不包括‘\\0’在內(nèi)。p指向數(shù)組的第2個(gè)元素,因此“Strien(P)=10”,并輸出“one*Dream!”。故本題答案為A選項(xiàng)。

20.B指針是用來(lái)存放地址的變量,定義指針變量的形式為:類(lèi)型名*指針變量名。賦值時(shí)應(yīng)將某個(gè)變量地址,如選項(xiàng)B中變量x的地址&x賦給指針變量。故本題答案為B選項(xiàng)。

21.x[i][i]x[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]解析:在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對(duì)角線上的元素賦值為1顯然在第一個(gè)空中應(yīng)該填入對(duì)角線上的元素即x[i][i],在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對(duì)角線的元素外其他元素為其對(duì)應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。

22.調(diào)試調(diào)試

23.33解析:i=1時(shí),f(1)=1,j=j+f(1)=0+1=1;i=2時(shí),f(2)=f(1)+1=1+1=2:j=j+f(2)=1+3=3;此時(shí)循環(huán)結(jié)束,程序運(yùn)行后的輸出結(jié)果是3。

24.數(shù)組的首地址數(shù)組的首地址解析:在函數(shù)中,可以通過(guò)指針變量來(lái)引用調(diào)用函數(shù)中對(duì)應(yīng)的數(shù)組元素,此操作是通過(guò)傳遞數(shù)組的首地址來(lái)實(shí)現(xiàn)的。

25.自頂向下自頂向下解析:在程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問(wèn)題具體化,對(duì)復(fù)雜的問(wèn)題,應(yīng)該設(shè)計(jì)一些子目標(biāo)作為過(guò)渡,上述方法概括為:自頂向下,逐步細(xì)化。

26.1515解析:在函數(shù)f()中只有一條if語(yǔ)句,如果n不小于1,則返回f(a,n-1)+a[n-1);,否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3]……直到f(aa,0)返回0.故f(aa,5)實(shí)際返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本題最終輸出15。

27.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語(yǔ)言表達(dá)式為:(x>-5)&&(x<5)。

28.int*ptb1[i].p*tb1[j].p<*tb1[j+1].p

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

30.0

31.x[i][i]x[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]解析:在程序中有兩重循環(huán)。在第一層for循環(huán)中將每行的第0列賦值為1,對(duì)角線上的元素賦值為1,顯然在第一個(gè)空白處應(yīng)該填入對(duì)角線上的元素即x[i][i],在第二重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對(duì)角線的元素外其他元素為其對(duì)應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空白處應(yīng)該填入x[i-1][j-1]+x[i-1][j]。

32.64KB

33.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)稱為扇入,一個(gè)模塊直接調(diào)用的其他模塊個(gè)數(shù)稱為扇出。

34.隊(duì)尾隊(duì)尾解析:在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。

35.n-1jn-1\r\nj解析:此題采用了do…while循環(huán)內(nèi)嵌for循環(huán)的雙層循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)了數(shù)組元素的排序。數(shù)組元素通過(guò)首地址和數(shù)組下標(biāo)的方式來(lái)引用的。

36.2222解析:在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個(gè)成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]...b[9]的值相加,結(jié)果為22。

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

38.

39.857/15

40.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類(lèi)從父類(lèi)中繼承而來(lái),這樣提高了軟件的可重用性。

41.D

42.D

43.A解析:本題的功能是順序的讀兩個(gè)文本文件,依次輸出。當(dāng)打開(kāi)文件時(shí)出現(xiàn)錯(cuò)誤,fopen函數(shù)將返回NULL。

44.B解析:本題中,“%d%d%d”表示按整數(shù)輸入數(shù)據(jù),輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間以一個(gè)或多個(gè)空格間隔,也可以用回車(chē)鍵或Tab鍵。選項(xiàng)B)中不應(yīng)該使用逗號(hào)。

45.D解析:軟件工程三要素是方法、工具和過(guò)程。

46.B解析:由于在main()函數(shù)中,變量i=4,所以就調(diào)用fun(4),則輸出“m=4k=4”。然后變量k增1等于5,變量i增1等于5,所以main()函數(shù)的“printf('i=%dk=%d\\n',i,k);”語(yǔ)句輸出“i=5k=5”。

47.C解析:內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會(huì)保存數(shù)據(jù),再次調(diào)用該函數(shù)時(shí),以前調(diào)用時(shí)的數(shù)值仍然保留著。Fun(a,5)的值是15,再次調(diào)用后sum=15,所以Fun(b,4)=45,s=45+15=60。

48.A

49.C解析:函數(shù)fun(int*s,intn1,intn2)的功能是對(duì)數(shù)組s中的元素進(jìn)行首尾互相調(diào)換。所以在主函數(shù)中,當(dāng)fun(a,0,3)執(zhí)行完后,數(shù)組a[12]={4,3,2,1,5,6,7,8,9,0};再執(zhí)行fun(a,4,9),數(shù)組a[12]={4,3,2,1,0,9,8,7,6,5};再執(zhí)行fun(a,0,9)后,數(shù)組a[12]={5,6,7,8,9,0,1,2,3,4}。

50.A解析:C語(yǔ)言規(guī)定,函數(shù)必須先定義,后調(diào)用(函數(shù)的返回值類(lèi)型為int或char時(shí)除外)。在選項(xiàng)A)中,調(diào)用的子函數(shù)在調(diào)用后面定義,所以不正確。在選項(xiàng)B)、C)中,被調(diào)用函數(shù)在主調(diào)函數(shù)之前定義,再在主函數(shù)中調(diào)用,所以是正確的;在選項(xiàng)D)中,在主調(diào)函數(shù)中先對(duì)子函數(shù)floatfun(inti,intj)進(jìn)行了定義,然后進(jìn)行調(diào)用。

51.A解析:C語(yǔ)言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)'\\'開(kāi)頭的字符。其中,'\\ddd'表示用ASCII碼(八進(jìn)制數(shù))表示一個(gè)字符,本題中的charc=\'\\72\'即表示占一個(gè)字符的變量c的ASCII碼值。

52.D解析:標(biāo)識(shí)符是C語(yǔ)言中用來(lái)表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類(lèi)型名、語(yǔ)句標(biāo)號(hào)等用途的字符序列。標(biāo)識(shí)符由1~32個(gè)字符組成,第一個(gè)字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識(shí)符不能與C關(guān)鍵字相同,并區(qū)分大小寫(xiě)。選項(xiàng)D)錯(cuò)誤,因?yàn)閕nt是C語(yǔ)言中的關(guān)鍵字。

53.B數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的邏輯設(shè)計(jì)包括數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)事務(wù)概要設(shè)計(jì)和應(yīng)用程序概要設(shè)計(jì)三方面。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對(duì)初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對(duì)數(shù)據(jù)庫(kù)事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計(jì)基于關(guān)系模式的用戶視圖。

54.C解析:本題考查文件包含的知識(shí)點(diǎn):格式1:#include(文件名),預(yù)處理程序在標(biāo)準(zhǔn)目錄下查找指定的文件;格式2:#include“文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄中尋找指定的文件,如查找不到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄查找。

55.B解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(形參表)若函數(shù)無(wú)形參,調(diào)用形式為:函數(shù)名(),當(dāng)所調(diào)用的函數(shù)用于求出某個(gè)值時(shí),函數(shù)的調(diào)用可作為表達(dá)式出現(xiàn)在允許表達(dá)式出現(xiàn)的任何地方,本題中調(diào)用語(yǔ)句的參數(shù)個(gè)數(shù)為2個(gè)。

56.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開(kāi)發(fā)、管理和文檔生成;過(guò)程支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制和管理。

57.A解析:本題涉及字符數(shù)組和指針兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上'\\0',所以題中數(shù)組str有11個(gè)元素;②ptr指向數(shù)組str的首地址,ptr+10是指向str[10],*(ptr+10)是引用str[10]的值。

58.C解析:本題使用了一個(gè)for循環(huán),循環(huán)變量k從0遞增到2共循環(huán)3次,循環(huán)體是一個(gè)switch語(yǔ)句,第一次循環(huán)k為0,所以從case0:處開(kāi)始執(zhí)行,變量x和y都自增兩次。然后分別從case1:和case2:處執(zhí)行,變量x共自增兩次,y共自增3次,所以最后輸出的結(jié)果是4,5。故應(yīng)該選擇C。

59.D解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和,每個(gè)成員分別占有自己的內(nèi)存單元;共用伸變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。結(jié)構(gòu)件變量aa中,成員r1占2個(gè)字節(jié),r2占8個(gè)字節(jié),r3占4個(gè)字節(jié),共用體ua占8個(gè)字節(jié),所以共占用2+8+4+8=22個(gè)字節(jié)。

60.B解析:本題考查文件使用方式標(biāo)識(shí)符。方式“wb”為輸出打開(kāi)一個(gè)二進(jìn)制文件;方式“wb+”為讀寫(xiě)建立一個(gè)新的二進(jìn)制文件;方式“rb+”為讀寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件:方式“rb”為輸入打開(kāi)一個(gè)二進(jìn)制文件。

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

62.D

63.A解析:本題考查的重點(diǎn)是typedef的理解運(yùn)用。C語(yǔ)言允許通過(guò)typedef為數(shù)據(jù)類(lèi)型定義新名字,但是,它并非是生成新的數(shù)據(jù)類(lèi)型,因此選項(xiàng)A是錯(cuò)誤的。

64.D解析:程序不僅是編寫(xiě)完就結(jié)束了,為了測(cè)試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,即程序的易讀性,“清晰第一,效率第二”。

65.A面向?qū)ο蠓椒ㄖ袑傩?、操作相似的?duì)象歸為類(lèi),也就是說(shuō),類(lèi)是具有共同屬性、共同方法的對(duì)象集合。

66.A

67.C

68.B在用靜態(tài)static與外部extern定義變量時(shí),系統(tǒng)立刻給其分配內(nèi)存,而定義自動(dòng)類(lèi)auto與強(qiáng)制放入寄存器register類(lèi)型變量時(shí),只有當(dāng)使用時(shí)才分配內(nèi)存。

69.B

70.C指數(shù)不能為小數(shù),也不能沒(méi)有指數(shù),即可以為0,用指數(shù)的形式表示時(shí),不能沒(méi)有前面的小數(shù)。

71.A本題考查的是輸入輸出函數(shù)。sCanf()是格式化輸入函數(shù);getChar()函數(shù)從鍵盤(pán)緩沖區(qū)讀一個(gè)字符;putChar()輸出一個(gè)字符;printf()函數(shù)是格式化輸出函數(shù)。在題目中,程序執(zhí)行到sCanf()函數(shù)時(shí),會(huì)暫停等待用戶輸A4個(gè)字符,按題意輸)k123<回車(chē)>后,字符l-3被分別賦值到Cl-C3中,而C4會(huì)得到一個(gè)換行符’\\\\n’。然后執(zhí)行第1個(gè)getChar()函數(shù),由于前面的sCanf()函數(shù)讀完了緩沖區(qū)中的所有字符,所以此時(shí)程序又會(huì)暫停等待用戶輸入,按題意輸入45678<回車(chē)>后,緩沖區(qū)第一個(gè)字符4賦值到。5,第二個(gè)字符5賦值給C6,所以本題應(yīng)該選擇A)。

72.A輸入函數(shù)的輸出項(xiàng)從整體看是一個(gè)逗號(hào)表達(dá)式,對(duì)于逗號(hào)表達(dá)式,我們只需求出最后一個(gè)表達(dá)式的值即可,首先f(wàn)賦值為0,c==’A’,不成立,因?yàn)閏=’a’,所以結(jié)果為假,即0,因此結(jié)果輸出的就是0.

73.D冒泡排序、簡(jiǎn)單插入排序與簡(jiǎn)單選擇排序法在最壞情況下均需要比較n(n-1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。故答案為D選項(xiàng)。

74.B本題中a的值為6,b的值為8,最后s的值為8,s*=s等價(jià)于s=s*s。

75.Ai=0,f(a)=2+1+4=7,i=1,f(a)=2+1+5=8,i=3,f(a)=2+1+5=9;(c為靜態(tài)變量);

76.C

77.C

\nb++是先用表達(dá)式的值然后自增l,因此表達(dá)式值為2,b為3;b-a=3-1=2,因此最后輸出的結(jié)果為2,2,前一個(gè)為字符2,后一個(gè)為數(shù)字2。

\n

78.A黑盒測(cè)試方法主要有等價(jià)類(lèi)劃分、邊界值分析、因果圖、錯(cuò)誤推測(cè)等。白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、路徑測(cè)試等,主要用于軟件驗(yàn)證。

79.A標(biāo)識(shí)符不能與c編譯系統(tǒng)已經(jīng)預(yù)定義的、具有特殊用途的保留標(biāo)識(shí)符(即關(guān)鍵字)同名,否則程序在編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。題目源程序中使用了已經(jīng)預(yù)定義的關(guān)鍵字case,所以將出現(xiàn)錯(cuò)誤。

80.DM(a+b,b+C,c+a)=a+b*b+c+c+a=1+2*2+3+3+1=12,注意x*y+z而不是(x)*(y)+z。

81.82.voidfun(char*a){ inti,j=0; for(i=0;a[i]!=‘\0’;i++) if(a[i]!=‘\*’) a[j++]=a[i];/*若不是要?jiǎng)h除的字符‘*’則保留*/ a[j]=‘\0’;/*最后加上字符串結(jié)束標(biāo)志‘\0’*/}該題考核的是刪除字符串中所有*,需用循環(huán)語(yǔ)句遍歷字符串,用判斷語(yǔ)句判斷字符是否為*,由此可以決定該程序應(yīng)使用循環(huán)判斷結(jié)構(gòu)。用循環(huán)操作從字符串開(kāi)始向后逐個(gè)進(jìn)行比較,若不是要?jiǎng)h除的字符(用if(a[i]!=‘*’)來(lái)控制)則保留。變量i和j用來(lái)表示原字符串的下標(biāo)和刪除*后新字符串的下標(biāo)。注意,下標(biāo)變量j要從0開(kāi)始,最后還要加上字符串結(jié)束標(biāo)志‘\\0’。2021-2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列敘述中正確的是()。

A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)

C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)

D.循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)

2.數(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ì)

3.如有inta=11;則表達(dá)式(a/1)的值是()。

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

4.有以下程序:

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

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

5.設(shè)有定義:intn=0,*p=&n,**q=&p;則下列選項(xiàng)中正確的賦值語(yǔ)句是()。

A.p=1;B.*q=2;C.q=p;D.*p=5;

6.

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

A.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序不能解決過(guò)于復(fù)雜的問(wèn)題

B.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決一些簡(jiǎn)單的問(wèn)題

C.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決遞歸問(wèn)題

D.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決數(shù)學(xué)上有解析解的問(wèn)題

8.

9.

10.下列說(shuō)法不正確的是()。

A.調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式

B.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元

C.調(diào)用函數(shù)時(shí),將實(shí)參的值復(fù)制給形參,使實(shí)參變量和形參變量在數(shù)值上相等

D.調(diào)用函數(shù)時(shí),實(shí)參與形參的類(lèi)型必須一致

11.有以下程序:#include<stdio.h>main(){inta=-2,b=0;while(a++++b);printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1,3B.0,2C.0,3D.1,2

12.

13.深度為5的二叉樹(shù)至多有C個(gè)結(jié)點(diǎn)。

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

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

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

15.有下列程序:

intfun(intn)

{if(n==1))returnl;

else

return(n+fun(n-1)):

}

main()

{intx;

seanf("%d",&x);x=fun(x);printf("%d\n",x);

}

執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是()。

A.55

B.54

C.65

D.45

16.

17.用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)()。

A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都要修改D.隊(duì)頭,隊(duì)尾指針都可能要修改

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

A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值

B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類(lèi)型上只需賦值兼容

C.在C語(yǔ)言中,外部變量的隱含類(lèi)型是自動(dòng)存儲(chǔ)類(lèi)別

D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類(lèi)型是自動(dòng)(auto)類(lèi)型的變量

19.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。

A.10,One*Dream!

B.9,One*Dream!

C.9,One*World

D.10,One*World

20.設(shè)已有定義“floatx;”,則下列對(duì)指針變量P進(jìn)行定義且賦初值的語(yǔ)句中正確的是()。

A.int*p=(float)x;

B.float*p=&x;

C.floatp=&x;

D.float*p=1024;

二、2.填空題(20題)21.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

①第0列元素和主對(duì)角線元素均為1。

②其余元素為其左上方和正上方元素之和。

③數(shù)據(jù)的個(gè)數(shù)每行遞增1。

請(qǐng)將程序補(bǔ)充完整。

#defineN6

voidyanghui(intx[N][N])

{inti,j;

x[O][0]=1;

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

{x[i][0]=【】=1;

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

x[i][j]=【】;

}

)

22.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

23.有以下程序:

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)+1;}

main()

{inti,j=0;

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

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

}

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

24.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳遞的是【】。

25.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語(yǔ)言寫(xiě)成程序。

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

intf(inta[],intn)

{

if(n>=l)

returnf(a,n-1)+a[n-1];

else

return0;

}

main{)

{

intaa[5]={1,2,3,4,5},s;

s=f(aa,5);

printf{'%d\n",s);

}

27.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語(yǔ)言表達(dá)式是______。

28.下面的程序?yàn)?個(gè)整型變量A、B、C、D、E、F輸入整數(shù),并按從大到小的順序輸出整數(shù)及其所對(duì)應(yīng)的變量名。例如,輸入的數(shù)為3、2、5、7、4、6,則輸出的形式為:D(7)F(6)C(5)E(4)A(3)B(2)。

#include<stdio.h>

intA,B,C,D,E,F(xiàn);

struct

{

charn;

【】;

}tb1[]={{'A',&A},{'B',&B},{'C',&c},{'D',&D),{'E',&E},{'F',&F}},t;

main()

{

inti,j;

for(i=0;i<6;i++)scanf("%d",【】);

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

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

if(【】)

{

t=tb1[j];

tb1[j]=tb1[j+1];

tb1[j+1]=t;

}

for(i=0;i<6;i++)printf("%c(%d)",tb1[i].n,*tb1[i].p);

printf("\n");

}

29.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。

30.冒泡排序算法在最好的情況下的元素交換次數(shù)為【】。

31.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構(gòu)成規(guī)律是,第0列元素和主對(duì)角線元素均為1,其余元素為其左上方和正上方元素之和,數(shù)據(jù)的個(gè)數(shù)每行遞增1。請(qǐng)將程序補(bǔ)充完整。

#defintN6

voidYangHui(int*[N][N])

{

inti,j;

x[0][0]=1

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

{

x[i][0]=【】=1

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

x[i][j]=【】;

}

}

32.用十六進(jìn)制給存儲(chǔ)器中的字節(jié)地址進(jìn)行編號(hào),其地址編號(hào)從0000到FFFF,則該存儲(chǔ)器容量是【】。

33.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱為_(kāi)_____。

34.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱作______。

35.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>

voidbubble(inta[],intn)

{intj,k,jmax,temp;

jmax=【】;

do{

k=0;

for(j=0;j<jmax;j++)

if(a[j]>a[j+1])

{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;

jmax=k;

}while(jmax>0);}

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

voidreverse(inta[],intn)

{inti,t;

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

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

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

}

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

38.數(shù)據(jù)庫(kù)保護(hù)分為安全性、控制性、______、并發(fā)性控制和數(shù)據(jù)恢復(fù)。

39.設(shè)順序輸入數(shù)列為:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每個(gè)結(jié)點(diǎn)的查找概率相同,若用順序存儲(chǔ)方式組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】;若按二叉排序樹(shù)結(jié)構(gòu)組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】。

40.在面向?qū)ο蠓椒ㄖ校?lèi)之間共享屬性和方法的機(jī)制稱為_(kāi)_____。

三、1.選擇題(20題)41.若在fopen函數(shù)中使用文件的方式是"wb+",該方式的含義是()

A.為讀/寫(xiě)打開(kāi)一個(gè)文本文件

B.為輸出打開(kāi)一個(gè)文本文件

C.為讀/寫(xiě)建立一個(gè)新的文本文件

D.為讀/寫(xiě)建立一個(gè)新的二進(jìn)制文件

42.下列程序的輸出結(jié)果是______。main(){intk=17;printf("%d,%0,%x\n",k,k,k);}

A.17,021,0x11B.17,17,17C.17,Ox11,021D.17,21,11

43.假定當(dāng)前盤(pán)符下有兩個(gè)如下文本文件:

文件名a1.txta2.txt

內(nèi)容123#321#

則下面程序段執(zhí)行后的結(jié)果為

#include"stdio.h"

voidfc(FILE*p)

{charc;

while((c=fgetc(p))!=′#′)putchar(c);}

main()

{FILE*fp;

fp=fopen("a1.txt","r");

fc(fp);

fclose(fp);

fp=fopen("a2.txt","r");

fc(fp);

fclose(fp);

putchar('\n');}

A.123321B.123C.321D.以上答案都不正確

44.若變量已正確說(shuō)明為int類(lèi)型,要通過(guò)語(yǔ)句scanf("%d%d%d",&a,&b,&c);給a賦值3,b賦值5,c賦值8,下面不正確的輸入形式是()。

A.3<回車(chē)>5<回車(chē)>8<回車(chē)>B.3,5,8<回車(chē)>C.3<回車(chē)>58<回車(chē)>D.35<回車(chē)>8<回車(chē)>

45.下列不屬于軟件工程三要素的是

A.工具B.過(guò)程C.方法D.環(huán)境

46.以下程序的運(yùn)行結(jié)果是

intk=0;

voidfun(intm)

{m+=k;k+=m;printf("m=%dk=%d",m,k++);}

main()

{inti=4;

fun(i++);

printf("i=%dk=%d\n",i,k);

}

A.m=4k=5i=5k=5

B.m=4k=4i=5k=5

C.m=4k=4i=4k=5

D.m=4k=5i=4k=5

47.有以下程序

intfun(intx[],intn)

{staticintsum=0,i;

for(i=0;i<n;i++)sum+=x[i];

returnsum;

}

main()

{inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);printf("%d\n",s);

}

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

A.45B.50C.60D.55

48.命令“DIRA:*.*/W”的功能是()

A.寬行顯示A盤(pán)當(dāng)前目錄的所有文件

B.寬行顯示A盤(pán)所有目錄的所有文件

C.寬行顯示A盤(pán)的所有目錄

D.顯示A盤(pán)中的文件名,每滿一屏后停頓一下

49.有以下程序

#include<stdio.h>

voidfun(int*s,intn1,intn2)

{inti,j,t;

i=n1;j=n2;

while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}

}

main()

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

fun(a,0,3);fun(a,4,9);fun(a,0,9);

for(k=0;k<l0;k++)printf("%d",a[k]);printf("\n");

}

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

A.0987654321B.4321098765C.5678901234D.0987651234

50.若各選項(xiàng)中所用變量已正確定義,fun()函數(shù)中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,下列選項(xiàng)中錯(cuò)誤的程序是()。

A.main(){……x=fun(2,10);……}floatfun(inta,intb){……}

B.floatfun(inta,intb){……}main(){……x=fun(i,j);……}

C.floatfun(int,int);main(){……x=fun(2,10);……}floatfun(inta,intb){……}

D.main(){floatfun(inti,intj);……x=fun(i,j);……}floatfun(inta,intb){……}

51.若有說(shuō)明語(yǔ)句:charc=′\72′;則變量c

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說(shuō)明不合法,c的值不確定

52.以下不能定義為用戶標(biāo)識(shí)符的是()。

A.scanfB.VoidC.3comD.int

53.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

54.在“文件包含”預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用<>(尖括號(hào))括起時(shí),尋找被包含文件的方式是()。

A.僅僅搜索當(dāng)前目錄

B.僅僅搜索源程序所在目錄

C.在標(biāo)準(zhǔn)目錄下查找指定的文件

D.先在源程序所在目錄搜索,如查找不到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄查找

55.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));

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

56.下列不屬于軟件工程的3個(gè)要素的是______。

A.工具B.過(guò)程C.方法D.環(huán)境

57.設(shè)有下列的程序段:charstr[]="HelloWorld";char*ptr;ptr=str;執(zhí)行上面的程序段后,*(ptr+10)的值為()。

A.'\0'B.'0'C.不確定的值D.'0'的地址

58.若有如下程序:main(){intk,x=0,y=0;for(k=0;k<=2;k++)switch(k){case0:X++;case1:y++;case2:X++;y++;}printf("%d,"d\n",x,y);}則程序運(yùn)行后的輸出結(jié)果是()。

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

59.若有下面的說(shuō)明和定義,則sizeof(structaa)的值是______。structaa{intr1;doubler2;floatr3;unionuu{charul[5];longu2[2]}ua;}mya;

A.30B.29C.24D.22

60.若要用函數(shù)fopen打開(kāi)一個(gè)新的二進(jìn)制文件,該文件要既能讀也能寫(xiě),則應(yīng)以哪種方式打開(kāi)文件()。

A.wbB.wb+C.rb+D.rb

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

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

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

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

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

62.

63.以下關(guān)于typedef的敘述錯(cuò)誤的是()。

A.用typedef可以增加新類(lèi)型

B.typedef只是將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表

C.用typedef可以為各種類(lèi)型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名

D.用typedef為類(lèi)型說(shuō)明一個(gè)新名,通??梢栽黾映绦虻目勺x性

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

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

65.在面向?qū)ο蠓椒ㄖ?,具有相似屬性與操作的一組對(duì)象稱為()。

A.類(lèi)B.實(shí)例C.消息D.數(shù)據(jù)

66.

67.

68.以下只有在使用時(shí)才為該類(lèi)型變量分配內(nèi)存的存儲(chǔ)類(lèi)型說(shuō)明是()。

A.auto和static

B.auto和register

C.register和static

D.extern和register

69.

70.以下符號(hào)C語(yǔ)言語(yǔ)法的實(shí)型常量是()。

A)1.2E0.5B)3.14159E

C)5E-3D)E15

71.有以下程序則輸出結(jié)果是()。A.1245B.1256C.1278D.1267

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

main()

{inta=1;

charc=’a’;

floatf=2.0;

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

}

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

73.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡(jiǎn)單選擇排序C.直接插入排序D.堆排序

74.在執(zhí)行下述程序時(shí),若從鍵盤(pán)輸入6和8,則結(jié)果為()。

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

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

f(inta)

{intb=0;staticintc=3;

b++;c++;

return(a+b+c);

}

main()

{inta=2,i;

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

printf("%4d",f(a));

A.789B.678C.567D.876

76.

77.

數(shù)字字符0的ASCII值為48,運(yùn)行以下程序的輸出結(jié)果是()。

main

(chara=1,b=2;

printf("%C,",b++);printf("%d\n",b—a);}

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

78.下面屬于黑盒測(cè)試方法的是()。

A.邊界值分析B.路徑覆蓋C.語(yǔ)句覆蓋D.邏輯覆蓋

79.閱讀以下程序:

該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,原因是()。

A.定義語(yǔ)句出錯(cuò),Case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符

B.定義語(yǔ)句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符

C.定義語(yǔ)句無(wú)錯(cuò),sCanf不能作為輸入函數(shù)使用

D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出Case的值

80.以下程序的輸出結(jié)果是()。#defineM(x,y,z)x*y+zmain(){inta=l,b=2,c=3;printf("%d\n",m(a+b.b+c,c+a));}A.19B.17C.15D.12

五、程序改錯(cuò)題(1題)81.在主函數(shù)中從鍵盤(pán)輸入若干個(gè)數(shù)放人數(shù)組中,用0結(jié)束輸入并放在最后一個(gè)元素中。下列給定程序中,函數(shù)proc()的功能是計(jì)算數(shù)組元素中值為負(fù)數(shù)的平均值(不包括0)。例如,數(shù)組中元素的值為78、-65、-15、35、-45、0,則程序的運(yùn)行結(jié)果為-41.666667。請(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)。編寫(xiě)函數(shù)fun(),其功能是刪除字符串中所有的*號(hào)。編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為“****A*BC*DEF*G*******”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>voidfun(char*a){}voidmain(){ chars[81]; printf(“Enterastring:\n”); gets(s); fun(s); printf(“Thestringafterdeleted:\n”); puts(s);}

參考答案

1.B本題主要考查循環(huán)隊(duì)列的概念,循環(huán)隊(duì)列作為隊(duì)列的一種也應(yīng)該是線性結(jié)構(gòu)。隊(duì)列是一種邏輯結(jié)構(gòu),而循環(huán)隊(duì)列是一種順序存儲(chǔ)結(jié)構(gòu)的隊(duì)列。

2.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)特性)。

3.D

4.D在程序中指針變量P初始指向a[3],執(zhí)行P減1后,P指向a[2],語(yǔ)句y=*P的作用是把a(bǔ)[2]的值賦給變量y,所以輸出為y=3。

5.D解析:選項(xiàng)A),B),C)的指針賦值表達(dá)方式都不正確,*p=5表達(dá)整數(shù)5放到指針p所指向的存儲(chǔ)單元中。注意:通過(guò)指針引用一個(gè)存儲(chǔ)單。

6.D

7.A順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是3種基本結(jié)構(gòu),由3種基本結(jié)構(gòu)構(gòu)成的程序稱為結(jié)構(gòu)化程序,由3種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問(wèn)題,選項(xiàng)A錯(cuò)誤。本題答案為A選項(xiàng)。

8.D

9.B

10.B

\n本題考查函數(shù)調(diào)用的基本概念。調(diào)用函數(shù)時(shí),實(shí)參的形式可以是具體的數(shù)值,也可以是表達(dá)式。實(shí)參將數(shù)值或表達(dá)式的值傳遞給形參,因而兩者的類(lèi)型必須保持一致;形參在運(yùn)算過(guò)程中會(huì)發(fā)生改變,但不一定會(huì)影響到實(shí)參值,所以可知兩者不共用內(nèi)存單元。

\n

11.D輸出的結(jié)果是:-1,1\r\n0,2\r\n1,2

12.C

13.C

14.D層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖,關(guān)系模型采用二維表來(lái)表示,所以三種數(shù)據(jù)庫(kù)的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。

15.A\n本題在函數(shù)intfun(intn)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量X時(shí),遞歸調(diào)用的過(guò)程為

\nfun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)

\n=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)

\n=10+9++8+7+6+5+fun(4)

\n=10+9++8+7+6+5+4+fun(3)

\n=10+9++8+7+6+5+4+3+fun(2)

\n=10+9++8+7+6+5+4+3+2+fun(1)

\n=10+9++8+7+6+5+4+3+2=55

\n

16.D\r\n

17.D

18.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類(lèi)型不是自動(dòng)存儲(chǔ)類(lèi)別。

19.A函數(shù)“strlen(char*s)”;計(jì)算字符串s的長(zhǎng)度,不包括‘\\0’在內(nèi)。p指向數(shù)組的第2個(gè)元素,因此“Strien(P)=10”,并輸出“one*Dream!”。故本題答案為A選項(xiàng)。

20.B指針是用來(lái)存放地址的變量,定義指針變量的形式為:類(lèi)型名*指針變量名。賦值時(shí)應(yīng)將某個(gè)變量地址,如選項(xiàng)B中變量x的地址&x賦給指針變量。故本題答案為B選項(xiàng)。

21.x[i][i]x[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]解析:在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對(duì)角線上的元素賦值為1顯然在第一個(gè)空中應(yīng)該填入對(duì)角線上的元素即x[i][i],在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對(duì)角線的元素外其他元素為其對(duì)應(yīng)的上一行中同列和同列的前

溫馨提示

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