2022年江蘇省揚(yáng)州市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第1頁
2022年江蘇省揚(yáng)州市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第2頁
2022年江蘇省揚(yáng)州市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第3頁
2022年江蘇省揚(yáng)州市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第4頁
2022年江蘇省揚(yáng)州市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2022年江蘇省揚(yáng)州市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.設(shè)有下列二叉樹:

對此二叉樹后序遍歷的結(jié)果為

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

2.棧和隊(duì)列的共同點(diǎn)是()。

A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同特點(diǎn)

3.下面程序的輸出是()。A.17B.18C.23D.24

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

A.Three,4B.出錯C.Three,5D.Five,5

5.有以下程序:main(){inta[][3]={{1,2,3),{4,5,0)),(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2)pa[1][i]=pa[1][i]-1;elsepa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}執(zhí)行后輸出結(jié)果是()。

A.7B.6C.8D.無確定值

6.以下不正確的定義語句是A.A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

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

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

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

7.以下對于C語言的描述中,正確的是:()

A.C語言調(diào)用函數(shù)時,值傳遞方式只能將實(shí)參的值傳給形參,形參的值不能傳遞給實(shí)參

B.C語言中函數(shù)既可以嵌套定義,也可以遞歸調(diào)用

C.函數(shù)必須有返回值

D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中

8.在非線性結(jié)構(gòu)中,每個結(jié)點(diǎn)()。

A.無直接前趨

B.只有一個直接前趨和個數(shù)不受限制的直接后繼

C.只有一個直接前驅(qū)和后繼

D.有個數(shù)不受限制的直接前驅(qū)和后繼

9.以下程序運(yùn)行后,輸出結(jié)果是______。fut(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}

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

10.從未排序序列中依次取出元素與已排序序列中的元素作比較,將取出的元素放入已排序序列中的正確位置上,此方法稱為______。

A.歸并排序B.選擇排序C.交換排序D.插入排序

11.下列敘述中錯誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,

B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C.數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持

12.以下函數(shù)的時間復(fù)雜度和空間復(fù)雜度為()A.T(n)=O(2^n),S(n)=O(n)

B.T(n)=O(1),S(n)=O(1)

C.T(n)=O(2^n),S(n)=O(1)

D.T(n)=O(n),S(n)=O(n)

13.一棵完全二叉樹中根結(jié)點(diǎn)的編號為1,而且23號結(jié)點(diǎn)有左孩子但沒有右孩子,則完全二叉樹總共有____個結(jié)點(diǎn)。

A.24B.45C.46D.47

14.檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。

A.確認(rèn)測試B.集成測試C.驗(yàn)證測試D.驗(yàn)收測試

15.下面程序的運(yùn)行結(jié)果是()。#include"stdio.h"main(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elseprintf("#");}}

A.*#*#*B.#*#*#*C.*#*#D.#*#*

16.執(zhí)行下列程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/S(k+m):printf("%d",a);}A.1B.4C.9D.0

17.下面的哪個保留字不能作為函數(shù)的返回類型()。

A.voidB.intC.newD.long

18.有以下程序#include<stdio.h>intfun(chars[]){intn=0;while(*s<=9&&*s>=0){n=10*n+*s-o;s++;)return(n);}main{chars[10]={6,1,*,4,*,9,*,0,*);printf("%d",fun(s));}程序運(yùn)行的結(jié)果是()。A.9B.61490C.61D.5

19.

20.

二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。

#include<stdio.h>

main()

{inta=2,b=-1,c=2;

if(a<b)

if(b<0)c=0;

elsec++;

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

}

22.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來設(shè)計軟件,這就是軟件工程誕生的基礎(chǔ)。

23.以下定義的結(jié)構(gòu)體類型擬包含兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請將定義補(bǔ)充完整。

structnode

{intinfo;

【】link;};

24.耦合和內(nèi)聚是評價模塊獨(dú)立性的兩個主要標(biāo)準(zhǔn),其中______反映了模塊內(nèi)各成分之間的聯(lián)系。

25.最簡單的交換排序方法是______。

26.數(shù)據(jù)模型是用來描述數(shù)據(jù)庫的結(jié)構(gòu)和語義的,數(shù)據(jù)模型有概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型兩類,E-R模型是【】

27.數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、______、邏輯設(shè)計階段、物理設(shè)計階段、實(shí)施階段、運(yùn)行和維護(hù)階段。

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

29.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。

30.以下程序的功能是計算:s=1+12+123+1234+12345。請?zhí)羁铡?/p>

main()

{intt=0,s=0,i;

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

{t=i+______;s=s+t;}

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

}

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

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

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

}

32.以下程序是用遞歸方法求數(shù)組中的最大值及其下標(biāo)值。請?zhí)羁铡?/p>

#defineM10

voidfindmax(int*a,intn,inti,int*pk)

{if(i<n)

{if(a[i]>a[*pk])【】;

findmax(a,n,i+1,&(*pk));}}

main()

{inta[M],j,n=0;

printf("\nEnter%ddata;\n",M);

for(i=0;i<M;i++)scanf("%d",a+i);

findmax(a,M,0,&n);

printf("Themaxinumis:%d\n",a[n]);

printf("It'sindexis;%d\n",n);}

33.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個字節(jié)的動態(tài)存儲空間,請?zhí)羁铡t=(char*)【】;

34.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請?zhí)羁铡?/p>

#include<stdio.h>

main()

{intn,s;

printf("Enteranumber:");scanf("%d",&n);

printf("Output:");

do

{s=n%10;printf("%d",s);【】;

}while(n!=0);

printf("\n");

}

35.當(dāng)所有結(jié)點(diǎn)的權(quán)值都相等時,用這些結(jié)點(diǎn)構(gòu)造的二叉排序樹是【】。

36.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。

37.以下程序的功能是:求出數(shù)組x中各相鄰兩個元素的和依次存放到a數(shù)組中,然后輸出。請?zhí)羁铡?/p>

main()

{intx[10],a[9],I;

for(I=0;I<10;I++)scanf("%d",&x[I]);

for(【】;I<10;I++)

a[I-1]=x[I]+【】;.

for(I=0;I<9;I++)printf("%d",a[I]);

printf("");

}

38.數(shù)據(jù)結(jié)構(gòu)分為線性數(shù)據(jù)結(jié)構(gòu)和非線性數(shù)據(jù)結(jié)構(gòu),帶鏈的隊(duì)列屬于()。

39.要求使下列程序輸出5個整數(shù),請?zhí)羁铡?/p>

for(i=0;i<=______;printf("%d\n",i+=2));

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

三、1.選擇題(20題)41.若有以下程序段:structst{intn;int*m;};inta=2,b=3,c=5;structsts[3]=({101,&a},{102,&c},{103,&b}};main(){structst*p;p=s;…}則以下表達(dá)式中值為5的是()。

A.(p++)->mB.*(p++)->mC.(*p).mD.*(++p)->m

42.有以下程序:fun(intx){intp;if(x==0‖x=1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7);}執(zhí)行后的輸出結(jié)果是()。

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

43.在下列關(guān)于C語言的局部變量和全局變量所采取的存儲類別的敘述中,錯誤的一條是()

A.對于動態(tài)局部變量來說,一旦離開函數(shù),其值就消失

B.對于靜態(tài)局部變量來說,離開函數(shù),其值仍保留

C.對于寄存器變量來說,一旦離開函數(shù),其值就消失

D.靜態(tài)外部變量既可在本文件中引用,又可在其他文件中引用

44.在軟件測試設(shè)計中,軟件測試的主要目的是()

A.實(shí)驗(yàn)性運(yùn)行軟件B.證明軟件正確C.找出軟件中全部錯誤D.發(fā)現(xiàn)軟件錯誤而執(zhí)行程序

45.有以下程序:#include<stdio.h>main(){charc[6];inti=0;for(;i<6;c[i]=getchar(),i++);for(i=O;i<6;i++)putchar(c[i]);printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為_______。

A.aB.aC.abD.abcdefbbcccdddef

46.下列二維數(shù)組的說明中,不正確的是()。

A.floata[][4]={0,1,8,5,9};

B.inta[3][4];

C.#defineN5

D.inta[2][9.5];floata[N][3];

47.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。

A.10011000B.10001100C.10101000D.10110000

48.以下程序的輸出結(jié)果是______。main(){inta=3;printf("%d\n",(a+=a-=a*A));}

A.-6B.1C.2D.-12

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

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

50.以下程序的輸出結(jié)果是()main(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1,k<3;k++)printf("%s\n",w[k]);}

A.ABCDFGHKL

B.ABCEFGIJM

C.EFGJKO

D.EFGHIJKL

51.有以下程序#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

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

52.下列字符串不屬于標(biāo)識符的是()

A.sumB.averageC.day_nightD.M,D.JOHN

53.若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是A.函數(shù)調(diào)用可以作為獨(dú)立的語句存在

B.函數(shù)調(diào)用可以作為一個函數(shù)的實(shí)參

C.函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中

D.函數(shù)調(diào)用可以作為一個函數(shù)的形參

54.若變景均已正確定義井賦值,以下合法的C語言賦值語句是()

A.x=y==5;B.x=n%2.5;C.x+n=i;D.x=5=4+1;

55.有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,B);}程序運(yùn)行后的輸出結(jié)果是()

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2

56.已知有結(jié)構(gòu)體:structsk{inta;floatb;}data,*p;若有p=&data,則對data的成員a的正確引用是()。

A.(*p).data.aB.(*p).a;C.p->data.aD.p.data.a

57.有以下程序;main(){chars[]={"aaiou"},*ps;ps=s;printf("%c\n",*ps+4);}程序運(yùn)行后的輸出結(jié)果是()。

A.aB.eC.uD.元素s[4]的地址

58.以下程序的輸出結(jié)果是main(){charcf[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",cf[1]);;}

A.AAAAB.BBBC.BBBCCD.CC

59.有以下程序:voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(A);for(i=0;i<5;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是()。

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

60.當(dāng)變量c的值不為2、4、6時,值也為"真"的表達(dá)式是

A.(c==2)||(c==4)||(c==6)

B.(c>=2&&c<=6)||(c!=3)||(c!=5)

C.(c>=2&&c<=6)&&!(c%2)

D.(c>=2&&c<=6)&&(c%2!=1)

四、選擇題(20題)61.

62.兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為()。

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

63.

64.設(shè)有定義語句int(*f)(int);,則以下敘述正確的是()。

A.f是基類型為int的指針變量

B.f是指向函數(shù)的指針變量,該函數(shù)具有一個int類型的形參

C.f是指向int類型一維數(shù)組的指針變量

D.f是函數(shù)名,該函數(shù)的返回值是基類型為int類型的地址

65.

66.有以下定義和語句:

structworkers

{intnum;charname[20];charC;

struct

{intday;intmonth;intyear;)S;

};

structworkersw,*pw;

pw=&w;

能給w中year成員賦1980的語句是()。

A.*pw.year=1980;

B.w.year=1980;

C.pw->year=1980

D.w.S.year=1980;

67.

68.下列是用戶自定義標(biāo)識符的是()。

A._wlB.3_xyC.intD.LINE-3

69.軟件測試的目的是()。

A.評估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯誤C.改正程序中的錯誤D.發(fā)現(xiàn)程序中的錯誤

70.數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。

A.加工B.控制流C.數(shù)據(jù)存儲D.數(shù)據(jù)流

71.有以下程序:

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,f,95,92

D.Zhao,m,85,90

72.若有定義inta[2][3];,則對a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值.元素值的正確引用為()。

A.*(*(a+i.+j.B.(a+i.[j]C.*(a+i+j.D.*(a+i.+j

73.

74.有以下程序該程序試圖通過指針p為變量rl讀人數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是()。

75.有以下程序:

當(dāng)運(yùn)行時輸入:a<回車>后,以下敘述正確的是()。

A.變量c1被賦予字符a,c2被賦予回車符

B.程序?qū)⒌却脩糨斎氲?個字符

C.變量c1被賦予字符a,c2中仍是原有字符2

D.變量c1被賦予字符a,c2中將無確定值

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

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

B.1,2,3,4,10,12,14,16,9,10,

C.1,2,6,8,10,12,7,8,9,10,

D.1,2,6,8,10,12,14,16,9,10,

77.某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:

該系統(tǒng)總體結(jié)構(gòu)圖的深度是()。

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

78.以下敘述中錯誤的是()。A.C程序在運(yùn)行過程中所有計算都以二進(jìn)制方式進(jìn)行

B.C程序在運(yùn)行過程中所有計算都以十進(jìn)制方式進(jìn)行

C.所有C程序都需要編譯鏈接無誤后才能運(yùn)行

D.C程序中整型變量只能存放整數(shù),實(shí)型變量只能存放浮點(diǎn)數(shù)

79.

80.軟件生命周期中所花費(fèi)用最多的階段是()。

A.詳細(xì)設(shè)計B.軟件編碼C.軟件測試D.軟件維護(hù)

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求整數(shù)X的Y次方的低3位值。例如,整數(shù)6的5次方為7776,此值的低3位值為776。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun,其功能是:刪除字符串中所有的*號。編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。

例如,字符串中的內(nèi)容為“****A*BC*DEF*G****”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。

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

請勿改動maini)函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(chara)

{

voidmain

{

chars[81];

print{("Enterastring:\n");

gets(s):

fun(S);

printf("Thestringafterdeleted:\n");

puts(s);

}

參考答案

1.D解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應(yīng)該為:后序遍歷左子樹->,后序遍歷右子樹->,訪問根結(jié)點(diǎn)。按照定義,后序遍歷序列是DEBFCA,故答案為D。

2.C解析:棧和隊(duì)列都是操作受限制的線性表,只允許在端點(diǎn)插入和刪除。不同點(diǎn)是:棧只允許在表的一端進(jìn)行插入和刪除操作,而隊(duì)列允許在表的一端進(jìn)行插入操作,而在另一端進(jìn)行刪除操作。

3.B

4.Cmain函數(shù)定義一個二維字符數(shù)組str,它包含3個字符串,每個字符串存放在一個長度為10的一維數(shù)組中。指針變量P指向str[0],即第1個字符串“One”。由于“One”存放在長度為10的一維數(shù)組中,因此P+10指向下一個字符串“Three”,長度為5。故本題答案為C選項(xiàng)。

5.A解析:本題定義了一個指向由3個元素組成的一維數(shù)組的指針變量pa,通過賦值讓它指向具有2行3列的數(shù)組a,此時用指針變量pa,表示數(shù)組元素a[i][j]的形式是pa[i][j]。for循環(huán)執(zhí)行了3次;第一次i值為0,執(zhí)行pa[1][0]=pa[1][0]-1,執(zhí)行后a[1][0]的值變?yōu)?;第二次i值為1,執(zhí)行pa[1][1]=pa[1)[1]-1,執(zhí)行后a[1][1]的值為4;第三次i值為2,執(zhí)行pa[1][2]=1,執(zhí)行后a[1][2]的值變?yōu)?。故printf語句輸入的值為2+4+1=7。所以,A選項(xiàng)為所選。

6.B

7.A

8.D

9.C

10.D

11.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計算機(jī)中的存儲方式。數(shù)據(jù)的存儲結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計算機(jī)存儲器里的實(shí)現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項(xiàng)A的說法是錯誤的。

數(shù)據(jù)庫可以看成是長期存儲在計算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點(diǎn)。不同的用戶可以使用同一個數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項(xiàng)B的說法是正確的。

數(shù)據(jù)庫設(shè)計是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計一個結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計,也就是設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu);二是行為設(shè)計,即設(shè)計基于數(shù)據(jù)庫的各類應(yīng)用程序、事務(wù)等。因此,選項(xiàng)C的說法是錯誤的。

數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)D的說法是正確的。因此,本題的正確答案是選項(xiàng)A。

12.A

13.C

14.A本題主要考查軟件測試的基本知識。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認(rèn)測試和系統(tǒng)測試。

(1)單元測試是針對每個模塊進(jìn)行的測試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。

(2)集成測試是在單元測試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個模塊連接起來,必須精心計劃,應(yīng)提交集成測試計劃、集成測試規(guī)格說明和集成測試分析報告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。集成測試可以發(fā)現(xiàn)概要設(shè)計時犯的錯誤。

(3)確認(rèn)測試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測試主要用于發(fā)現(xiàn)需求分析時犯下的錯誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應(yīng)該仔細(xì)設(shè)計測試用例和測試過程。確認(rèn)測試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計測試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測試,測試數(shù)據(jù)通過用戶接口輸入。

(4)系統(tǒng)測試是將已經(jīng)通過確認(rèn)測試的軟件,作為整個計算機(jī)系統(tǒng)的元素與計算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時犯下的錯誤。

15.A解析:分析程序呵知.程序循環(huán)5次,然后利用if語句決定每次循環(huán)時輸出的字符。當(dāng)i為奇數(shù)時,i%2=1,if(i%2)為真,輸出“*”;當(dāng)i為偶數(shù)時,i%2=0,if(i%2)為假,執(zhí)行else語句,輸出“#”,所以當(dāng)i取1、3、5值時輸出“*”,當(dāng)i取2、4值時輸出“#”。

16.D本題主要考查帶參數(shù)的宏定義,過程如下:由于定義為define(x)x*x沒有括號優(yōu)先級,所以:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。

17.C

18.C在fun函數(shù)中,while循環(huán)的功能是逐個取字符數(shù)組s的字符判斷其是否是數(shù)字。若是則將這些數(shù)字組成一個數(shù)保存到變量n中,并返回變量n的值。

19.A

20.C

21.22解析:分析程序,a=2,b=-1,c=2時,if語句的表達(dá)式a<b不成立,不再往下判斷,直接退出if語句,執(zhí)行后面的輸出語句,程序結(jié)束。在這個程序中a、b、c的值沒做任何改變。

22.軟件工程學(xué)軟件工程學(xué)

23.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個指向自身的結(jié)構(gòu)體指針。

24.內(nèi)聚內(nèi)聚

25.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡單的交換排序方法,它是通過相鄰元素之間的相互交換逐步將線性表變成有序。

26.概念數(shù)據(jù)模型概念數(shù)據(jù)模型

27.概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)

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

29.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時,仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。

30.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個t,則說明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因?yàn)閕在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內(nèi)容”應(yīng)分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內(nèi)容”應(yīng)是t*10。

31.282,8解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始時a=1,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。

32.*pk=a[i]*pk=a[i]解析:通過參數(shù)傳遞,findmax函數(shù)接收到4個參數(shù),分別是數(shù)組a(需要對其中的數(shù)據(jù)按照題目的要求進(jìn)行計算)、10(數(shù)組a中的元素個數(shù))、0(數(shù)組a的起始位置)、指針變量n(對數(shù)組a中的元素進(jìn)行遍歷)。我們了解了這些參數(shù)的作用后,再對遞歸調(diào)用的函數(shù)進(jìn)行分析,就不難得出結(jié)論了。注意:通過對本例中遞歸函數(shù)的分析掌握遞歸算法的執(zhí)行原理。

33.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲區(qū),此題要分配11字節(jié)的單元,把11代入即可。

34.n/=10或n=n/10n/=10或n=n/10解析:每次循環(huán)把n除以10所得的商賦給n。

35.右子樹(單支樹)右子樹(單支樹)解析:二叉排序樹對于任意新結(jié)點(diǎn),若大于等于根結(jié)點(diǎn),則在右子樹上建立。

36.輸出結(jié)果輸出結(jié)果解析:注意:測試的基本方法和步驟。

37.I=1x[I-1]I=1,x[I-1]解析:對于10個數(shù),相臨的兩個數(shù)相加取和,總共要進(jìn)行9次加法運(yùn)算,所以空14處應(yīng)填入I=1。相臨的兩個數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應(yīng)填入x[I-1]。

38.線性數(shù)據(jù)結(jié)構(gòu)線性數(shù)據(jù)結(jié)構(gòu)解析:隊(duì)列的鏈?zhǔn)酱鎯ΨQ為鏈隊(duì)列,它屬于線性數(shù)據(jù)結(jié)構(gòu)。

39.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開始,輸出5個整數(shù)則需要的條件是i<=8。

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

41.D

42.C解析:本題的fun()函數(shù)在x等于0或1時返回3,而在其余情況下返回x-fun(x-2),所以本題的遞歸算法可以這樣來表示:在主函數(shù)中輸出的結(jié)果是fun(7),而fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-(5-0)=7-5=2。故本題應(yīng)該選擇C。

43.B

44.D解析:使用人工或自動手段來運(yùn)行或測定某個系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。

45.C解析:1.getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個字符。

2.putchar():此函數(shù)的作用是向終端輸出一個字符,也可以輸出控制字符。

本題在輸入字符時,ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。

46.D解析:C語言規(guī)定,對于二維數(shù)組,只可以省略第一個方括號中的常量表達(dá)式,而不能省略第二個方括號中的常量表達(dá)式;二維數(shù)組的一般定義格式是:類型說明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。

47.A解析:本題主要考查運(yùn)算表達(dá)式的運(yùn)算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。

48.D解析:賦值運(yùn)算符的結(jié)合方向是自右至左,所以表達(dá)式a+=a-=a*a先運(yùn)算最右邊的a*a得9,再運(yùn)算a=a-9,即a=3-9,所以此時a的值由3變成了-6,最后運(yùn)算a=a-+(-6),即a=(-6)+(-6)=-12。

49.C

50.D

51.C解析:函數(shù)fun(int*s,intn1,intn2)的功能是對數(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}。

52.D

53.D解析:本題考查函數(shù)的調(diào)用。在有參函數(shù)調(diào)用中,是將主調(diào)函數(shù)的實(shí)參值傳給被調(diào)函數(shù)的形參。按函數(shù)在程序中出現(xiàn)的位置來分,有以下三種函數(shù)調(diào)用形式:

①函數(shù)調(diào)用作為一條語句。例如:fun();這時不要求函數(shù)帶回值,只要求函數(shù)完成一定的操作。故選項(xiàng)A)正確。

②函數(shù)出現(xiàn)在表達(dá)式中,這種表達(dá)式稱為函數(shù)表達(dá)式。這時要求函數(shù)帶回一個確定的值以參加表達(dá)式的運(yùn)算。例如:c=5*max(a,b);函數(shù)max是表達(dá)式的一部分,將其值乘以5后賦給c。故選項(xiàng)C)正確。

③函數(shù)調(diào)用作為一個函數(shù)的實(shí)參,例如:m=max(a,max(b,c));其中max(b,c)是一次函數(shù)調(diào)用,它的值作為max另一次調(diào)用的實(shí)參。故選項(xiàng)B)正確。

函數(shù)調(diào)用不可作為一個函數(shù)的形參,因?yàn)楹瘮?shù)調(diào)用參數(shù)的數(shù)據(jù)傳遞是單向傳遞,即實(shí)參傳給形參,不能由形參傳給實(shí)參。故選項(xiàng)D)錯誤。

54.A解析:“%”運(yùn)算符的作用是求模,意思是做除法求余,這就要求兩個運(yùn)算分量均為整數(shù)。選項(xiàng)B中,2.5不是整數(shù),故非法;選項(xiàng)C中,表達(dá)式x+n計算后得到的是一臨時值,臨時值不能做左值,故非法;選項(xiàng)D中,由于“=”運(yùn)算符的結(jié)合性是“從右到左”,故先計算5=4+1,5是常量不能做左值,故選項(xiàng)D也非法。選項(xiàng)A,y==5是一個邏輯表達(dá)式,其值為真或假,可以用做右值,所以是合法的。故本題應(yīng)該選擇A。

55.A

56.B解析:本題主要考查結(jié)構(gòu)指針:p=&data,訪問結(jié)構(gòu)體的成員,可以通過結(jié)構(gòu)變量訪問,即data.a,也可以用等價的指針形式:(*p).a和p->a來訪問結(jié)構(gòu)體變量中的成員。

57.B解析:程序首先定義了一個字符數(shù)組s,然后讓字符指針ps指向該數(shù)組的首地址。最后按字符形式輸出*ps+4的值,即s[0]+4的值,'a'+4='e'。故應(yīng)該選擇B。

58.B解析:維字符數(shù)組可以看成由若干個一維字符數(shù)組組成,每行是一個一維字符數(shù)組。本題首先定義了一個數(shù)組ch[3][5]并給它們按行賦初值,即相當(dāng)于給ch[0]賦值“AAAA”,給ch[1]賦值“BBB”,給ch[2]賦值“BBB”,最后輸出轉(zhuǎn)義字符“'\\'”、ch[1]和轉(zhuǎn)義字符“\\”,因此輸出為“BBB”.所以,4個選項(xiàng)中B為所選。

59.B解析:題目中定義了一個指針變量作為函數(shù)f()的參數(shù)。主函數(shù)main()中調(diào)用f()函數(shù),當(dāng)i=0時,執(zhí)行語句“(*q)++;”,此處*q就代表數(shù)組a[0]的地址,也即將q進(jìn)行加1操作;當(dāng)i=1時,q仍指向數(shù)組元素a[0]的地址,因?yàn)樵诤瘮?shù)f()中并未對指針變量q做任何變動,即*q仍代表數(shù)組元素a[0]的值,所以此次(*q)++即為2+1,a[0]的值變?yōu)?;直到i=4時,執(zhí)行(*q)++后a[0]的值變?yōu)?,最后輸出數(shù)組a的結(jié)果為6、2、3、4、5。

60.B解析:滿足表達(dá)式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時,其值只能為3或5,所以表達(dá)式c!=3和c!=5中至少有一個為真,即不論c為何值,選項(xiàng)B中的表達(dá)式都為'真'。

61.A

62.A解析:本題考核模塊獨(dú)立性的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論