2022-2023年安徽省巢湖市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第1頁
2022-2023年安徽省巢湖市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第2頁
2022-2023年安徽省巢湖市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第3頁
2022-2023年安徽省巢湖市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第4頁
2022-2023年安徽省巢湖市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022-2023年安徽省巢湖市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.下列程序的運行結(jié)果是()。

#include<stdio.h>

main()

{intx=5,a=1,b=2,C=5,d=0;

if(a<B)

if(b!=3)

if(!C)

x=1;

else

if(D)x=1;

elsex=-1;

printf("%d",x);

}

A.-1B.0C.1D.不確定的值

2.以下非法的賦值語句是

A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;

3.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。A.A.冒泡排序B.選擇排序C.快速排序D.歸并排序

4.有以下函數(shù):intfun(char*x,char*y){intn=0;.while((*x==*y)&&*x!="\0){x++;y++;n++;}returnn;}函數(shù)的功能是()。

A.將y所指字符串賦給x所指存儲空間

B.查找和y所指字符串中是否有"\0'

C.統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)

D.統(tǒng)計x和y所指字符串中相同的字符個數(shù)

5.下面軟件中,屬中應(yīng)用軟件的是()

A.UnixB.人事管理系統(tǒng)C.數(shù)據(jù)庫管理理系統(tǒng)D.DOS

6.有以下程序:

程序運行后的輸出結(jié)果是()。A.4B.2C.3D.1

7.已知廣義表的表頭為A,表尾為(B,C),則此廣義表為________

A.(A,(B,C))B.(A,B,C)C.(A,B,C)D.((A,B,C))

8.下列語句組中正確的是()。

A.char*s;s={“BOOK!”};

B.char*s;s=“BOOK!”;

C.chars[10];s=“BOOK!”;

D.chars[];s=“BOOK!”;

9.

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

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

11.第

11

若有定義:char*st="howareyou";下列程序段中正確的是

A.chara[11],*p;strcpy(p=a+1,&st[4]);

B.chara[11];strcpy(++a,st);

C.chara[11];strcpy(a,st);

D.chara[],*p;strcpy(p=&a[1],st+2);

12.

13.

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

15.設(shè)有以下定義則下面語句中錯誤的是()。A.a++;B.b++C.c++;D.d++;

16.判斷一個循環(huán)隊列cq(最多元素為m)為滿的條件是()。

A.cq->rear-cq-front=m;

B.(cq->rear+1)%m=cq->front;

C.cq->front=cq->rear;

D.cq->rear=m-1;

17.在KMP算法中,已知模式串為ADABCADADA,請寫出模式串的next數(shù)組值()

A.0,1,1,2,1,1,2,3,4,3

B.1,2,3,2,1,1,2,4,4,3

C.0,1,1,1,2,1,2,3,4,3

D.2,1,1,2,1,1,2,3,3,4

18.設(shè)有表示學(xué)生選課的三張表,學(xué)生s(學(xué)號,姓名,性別,年齡,身份證號),課程c(課號,課名),選課SC(學(xué)號,課號,成績),則表sc的關(guān)鍵字(鍵或碼)為()。

A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績

19.在軟件設(shè)計中,不屬于過程設(shè)計工具的是()。

A.PDLB.DFD圖C.PAD圖D.N—S圖

20.在有向圖G的拓?fù)湫蛄兄校繇旤cVi在頂點Vj之前,則下列情形不可能出現(xiàn)的是()。

A.G中有弧

B.G中有一條從Vi到Vj的路徑

C.G中沒有弧

D.G中有一條從Vj到Vi的路徑

二、2.填空題(20題)21.以下程序建立了一個帶有頭結(jié)點的單向鏈表,鏈表結(jié)點中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸人數(shù)據(jù)為-1時,表示輸入結(jié)束(鏈表頭結(jié)點的data域不放數(shù)據(jù),表空的條件是ph->next=NULL).

#include<stdio.h>

structlist{intdatd;structlist*next;};

【】creatlist()

{structlist*p,*q,*ph;

inta;

ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;

printf("Inputanintegernumber,enter-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{

p=(structlist*)malloc(sizeof(structlist));

p->data=a;

q->next=p;

【】=p;

scanf("%d",&a);

}

p->next='\0';

return(ph);

}

main()

{

structlisthead;

head=creatlist();

}

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

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

23.strcmp函數(shù)的功能是【】。

24.有以下程序

main()

{intt=1,i=5;

for(;i>=0;i--)t*=i;

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

}

執(zhí)行后輸出結(jié)果是______。

25.數(shù)據(jù)庫系統(tǒng)其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。

26.若運行輸入:3<回車>,則以下程序的輸出結(jié)果是()。main(){inta,b;scanf("%d",&A);b=(a>=0)?a:-a;printf("b=%d",B);}

27.解題方案的準(zhǔn)確而完整的描述稱為______。

28.數(shù)據(jù)獨立性分為邏輯獨立性與物理獨立性。當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【】。

29.以下程序運行后的輸出結(jié)果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}

30.與結(jié)構(gòu)化需求分析方法相對應(yīng)的是【】方法。

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

32.某二叉樹中度為2的結(jié)點有n個,則該二叉樹中有【】個葉子結(jié)點。

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

mam()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2=0)

*p='*';

p++;i++;

}

puts(A);

}

34.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及列數(shù)據(jù)的操作運算。

35.以下程序的輸出結(jié)果是12.00,請將空白處填寫完整。

main()

{inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1*2;

printf("%52f\n",z);

}

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

37.設(shè)有以下定義的語句:

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

p=a;

則*(*(P+2)+1)值為【】。

38.一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體"項目主管"與實體"項目"的聯(lián)系屬于【】的聯(lián)系。

39.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序運行后的輸出結(jié)果是()。

40.在算法的4個特性中,算法必須能在執(zhí)行有限個步驟之后終止指的是算法的______特性。

三、1.選擇題(20題)41.軟件測試與排錯是兩類相互聯(lián)系而又性質(zhì)不同的活動,在下述項目中,不具有排錯活動特征的項目是______。

A.修改程序B.運用推理和歸納的方法C.了解程序細(xì)節(jié)D.運用測試實例

42.有以下程序

#include<stdio.h>

voidfun(char*t,char*s)

{while(*t!=0)t++;

while((*t++=*s++)!=0);

}

main()

{charss[10]="acc",aa[10]="bbxxyy";

fun(ss,aa);printf("%s,%s\n",ss,aa);

}

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

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy

43.對線性表進(jìn)行二分查找,要求線性表為______。

A.以順序方式存儲B.以鏈?zhǔn)椒绞酱鎯.以順序方式存儲,且要求數(shù)據(jù)元素有序D.以鏈接方式存儲,且要求數(shù)據(jù)元素有序

44.若有如下調(diào)用函數(shù):intsub(int*t){return(t);}該函數(shù)的返回值是()

A.形參t中存放實參變量的地址值B.形參t自身的地址值C.指針變量t所指的實參變量的值D.隨機的值

45.要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是()。

A.while((ch=getchar())!='N')printf("%c",ch);

B.while(ch=getchar()!='N')printf("%c",ch);

C.while(ch=getchar()=='N')printf("%c",ch);

D.while((ch=getchar())=='N')printf("%c",ch):

46.有定義語句:inta=1,b=2,c=3,x;,則以下選項中各程序段執(zhí)行后,x的值不等于3的是______。

A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;

B.if(a<3)x=3;elseif(a<2)x=2;elsex=1;

C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

47.當(dāng)說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的內(nèi)存是()。

A.各成員所需要內(nèi)存量的總和

B.結(jié)構(gòu)中第一個成員所需的內(nèi)存量

C.成員中占內(nèi)存最大者所需的容量

D.結(jié)構(gòu)中最后一個成員所需要的內(nèi)存量

48.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。

A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計算機中的順序存儲方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示

49.有定義語句:inta=1,b=2,c=3,x;,則以下選項中各程序段執(zhí)行后,x的值不為3的是

A.if(c<a)x=1;elseif(b<a)x=1;elsex=3;

B.if(a<3)x=3;elseif(a<2)x=2;elsex=1;

C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

50.當(dāng)a=1、b=2、c=3、d=4時,執(zhí)行下面程序段后,x的值是()。if(a<B)if(c<D)x=1;elseif(a<C)if(b<D)x=2:elsex=3:elsex=6:elsex=7:

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

51.下面的關(guān)鍵字中,不能夠從循環(huán)體中跳到循環(huán)體外的是______。

A.gotoB.breakC.returnD.continue

52.有以下程序:main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1)>x[j]){k=x[j];x[j];x[j+1);x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1)=k;}for(i=0;i<8;i++)printf("%d",x[i]);printf("\n");}程序運行后的輸出結(jié)果是______。

A.75310246B.1234567C.76310462D.13570246

53.有以下程序:voidswap(char*x,char*y){chart;t=*x,*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。

A.123,abcB.abc,123C.1bc,a23D.321,cba

54.下面程序段的運行結(jié)果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));

A.67B.0C.字符'C'的地址D.字符'C'

55.有三個關(guān)系R、s和T如下:

由關(guān)系R和s通過運算得到關(guān)系T,則所使用的運算為()。

A.并B.自然連接C.笛卡爾積D.交

56.有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}執(zhí)行后輸出結(jié)果是()。

A.賦初值的字符串有錯B.6,7C.5,6D.6,6

57.若有定義和語句:int**pp,*p,a=20,b=10;pp=&p;p=&a;p=&b;printf(%d,%d\n",*p,**pp);則輸出結(jié)果是()。

A.20,10B.20,20C.10,20D.10,10

58.下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是A.內(nèi)模式B.外模式C.概念模式D.邏輯模式

59.有以下程序main(){intm=0256,n=256;printf("%o%o\n",m,n);}程序運行后的輸出結(jié)果是

A.02560400B.0256256C.256400D.400400

60.下列程序的輸出結(jié)果是()。#include<stdio.h>#include<string.h>main(){chara[]="\n123\\";printf("%d,%d\n",strlen(a),sizeof(a));}

A.5,6B.5,5C.6,6D.6,5

四、選擇題(20題)61.以下程序段中的變量已正確定義:

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

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

62.若變量均已正確定義并賦值,以下合法的c語言賦值語句是()。A.x---y=--5;B.x--n%2.5;C.x+n=i;D.x=5--4+1;

63.有以下函數(shù):

該函數(shù)的功能是()。

A.tt-gs所指字符串的長度

B.比較兩個字符串的大小

C.計算s所指字符串占用內(nèi)存字節(jié)的個數(shù)

D.將s所指字符串復(fù)制到字符串t中

64.以下不合法的數(shù)值常量是()。

A.8.0E0.5B.lelC.0llD.0xabcd

65.有以下程序:

在VC6.0平臺上編譯運行,程序運行后的輸出結(jié)果是()。

A.10,6B.4,4C.2,4D.4。8

66.(10)下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是()

A.內(nèi)模式

B.外模式

C.概念模式

D.邏輯模式

67.

68.串的長度是______。A.A.串中不同字符的個數(shù)

B.串中不同字母的個數(shù)

C.串中所含字符的個數(shù)且字符個數(shù)大于零

D.串中所含字符的個數(shù)

69.若有定義:“int*P,x=0,*p,p=&x;”,則語句“printf("%d\n",*p);”的輸出結(jié)果是()。

A.隨機值B.0C.x的地址D.P的地址

70.

有以下程序.

#include<stdio.h>

main

{charc1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar;c6=getchar;

putchar(c1);putchar(c2);

printf("%c%c\n",c5,c6);

}

程序運行后,若從鍵盤輸入(從第l列開始)

123<回車>

45678<回車>

則輸出結(jié)果是()。

A.1267B.1256C.1278D.1245

71.以下敘述中錯誤的是()。

A.對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變

C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界”的出錯信息

D.可以通過賦初值的方式確定數(shù)組元素的個數(shù)

72.

73.以下定義語句中正確的是()。

74.在HTML頁面中哪些部分能夠插入JavaScript?

A.<body>部分

B.<head>部分

C.<body>部分和<head>部分均可

D.<title>部分

75.(47)在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是()

A.詳細(xì)設(shè)計

B.需求分析

C.總體設(shè)計

D.編程調(diào)試

76.

77.數(shù)據(jù)流程圖(DFD)是()。

A.軟件概要設(shè)計的工具B.軟件詳細(xì)設(shè)計的工具C.結(jié)構(gòu)化方法的需求分析工具D.面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>

78.下列敘述中錯誤的是()。

A.數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的核心

B.數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員三部分組成

C.數(shù)據(jù)共享最好的是數(shù)據(jù)庫系統(tǒng)階段

D.數(shù)據(jù)庫中的數(shù)據(jù)獨立于應(yīng)用程序而不依賴于應(yīng)用程序

79.

當(dāng)執(zhí)行下面的程序時,如果輸入ABC,則輸出結(jié)罘是()。

#include<stdio.h>

#include<string.h>

main()

{charss[10]="1,2,3,4,5":

gets(ss);strcat(ss,"6789");printf("%s\n",ss);

}

A.ABC6789B.ABC67C.12345ABC6D.ABC456789

80.

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:應(yīng)用遞歸算法求某數(shù)a的平方根。求平方根的迭代公式如下:

x1=(xO+a/xO)/2

例如,3的平方根為1.732051。

請修改程序中的錯誤,使它能得出正確的結(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.A解析:本題考查ifelse語句。第1個if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,執(zhí)行下列的語句;第2個if語句,先判斷條件,發(fā)現(xiàn)b!=3條件成立,執(zhí)行下列的語句:第3個if語句,先判斷條件,c=5,則!c條件不成立,執(zhí)行與其配對的else語句:第4個if語句,先判斷條件,d=0,條件不成立,則x=-1,結(jié)束循環(huán)。

2.C解析:本題考查的知識點是賦值語句的基本知識。在表達(dá)式的運算中,雙目賦值運算符的格式為“變量二表達(dá)式”,單目運算符一般形式為“運算符表達(dá)式”或“表達(dá)式運算符”。常量和表達(dá)式是不能被賦值的。選項A為復(fù)合表達(dá)式,首先計算(i=2,++i)的值,然后賦值給n,故選項A正確;選項B為簡單自加運算,故選項B正確;選項C在表達(dá)式++(i+1);中,(i+1)不是變量,該表達(dá)式的值為常量,而在++運算中,其運算對象必須為變量,故選項C錯誤;選項D中為復(fù)合賦值表達(dá)式,正確.所以應(yīng)當(dāng)選擇C。

3.A解析:以下幾種算法的時間復(fù)雜度分別為:冒泡排序(n2);選擇排序(n2);快速排序(nlog2n);歸并排序(nlog2n)。當(dāng)排序元素序列基本有序的情況下,冒泡排序的交換次數(shù)為0,只是順序掃描數(shù)據(jù)而已,所以其效率是最高的。

4.C本題中由循環(huán)條件可知遇到“0或x與y所指的字符的值不等中的一個條件時就結(jié)束,所以功能是統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)。

5.B

6.D條件表達(dá)式形式:表達(dá)式1?表達(dá)式2:表達(dá)式3。當(dāng)表達(dá)式1的值為非零值時,整個表達(dá)式的值是表達(dá)式2的值;當(dāng)表達(dá)式1的值為零值時,整個表達(dá)式的值是表達(dá)式3的值。題干中的表達(dá)式是嵌套的條件表達(dá)式w﹤x?w:z﹤y?z:x,等價于w﹤x?w:(z﹤y?z:x)。由于w取值為4,x取值為3,所以w﹤x的值為零值,整個表達(dá)式的值為z﹤y?z:x,z取值為1,y取值為2,所以z﹤y的值為非零值,整個表達(dá)式的值為z的值1。本題答案為D選項。

7.B

8.BA選項去掉花括號后,賦值正確;C選項和D選項應(yīng)在定義時賦初值,因為數(shù)組名相當(dāng)于常量,不能重新賦值。故本題答案為B選項。

9.D

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

11.A本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語言不允許用賦值表達(dá)式對字符數(shù)組賦值,如下面的語句就是非法的:str1='China',如果想把“China”這5個字符放到數(shù)組str1中,除了逐個輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個字符串復(fù)制到一字符數(shù)組中。例如,strcpy(str1,'China');或strcpy(str1,str2);注意,不能企圖用以下語句來實行賦值(將str2的值傳給str1):str1=str2;不能用賦值語句將一個字符串常量或字符數(shù)組直接給一個字符數(shù)組。

strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)

其中,需要注意的是,字符數(shù)組1的長度不應(yīng)小于字符串2的長度,“字符數(shù)組1”必須寫成數(shù)組名形式,如(str1),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語句將一個字符串常量或字符數(shù)組直接給一個字符數(shù)組。

12.D

13.A

14.C在函數(shù)funlintx)中,有個if語句判斷,如果參數(shù)x等于0或1時,返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢中調(diào)用fun(7)時,其過程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結(jié)果為2。

15.D

16.B

17.A

18.C學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號,所以選擇C項。

19.B常見的過程設(shè)計工具有圖形土具(程序流程圖、N—S圖、PAD圖、HIP0圖)、表格工具(判定表)和語言工具(PDL)。DFD是數(shù)據(jù)流圖,是描述數(shù)據(jù)處理過程的工具。

20.D若G中有一條從Vj到Vi的路徑,則圖的拓?fù)湫蛄兄许旤cVj在頂點Vi之前。設(shè)G(V,E)是一個具有n個頂點的有向圖,V中頂點的序列v1,v2,…,vn稱為一個拓?fù)湫蛄校?dāng)且僅當(dāng)該頂點滿足下列條件:若在有向圖G中,從頂點vi在vj有一條路徑,則在拓?fù)湫蛄兄许旤cvi必須排在頂點vj之前。

21.structlist*q

22.5656解析:本題中a,b,c,d足實參,x,y,cp,dp是形參。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元。在調(diào)用函數(shù)時,給形參分配存儲單元,并將實參對應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。

23.字符串的比較strcmp函數(shù)的原型是intstrcmp(char*s1,char*s2);功能是對s1和s2所指字符串進(jìn)行比較,若s1<s2返回負(fù)數(shù),若s1==s2返回0,若s1>s2返回正數(shù)。

24.00解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應(yīng)i的值相乘,最后當(dāng)i=-1時停止循環(huán).該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出I的值為0。

25.外模式外模式解析:數(shù)據(jù)庫系統(tǒng)的三級模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫的物理存儲結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。

26.b=3b=3解析:條件表達(dá)式的基本格式為:“表達(dá)式1?表達(dá)式2:表達(dá)式3”;其功能是:表達(dá)式1的值若非0,則計算表達(dá)式2的值,且為最終結(jié)果;若表達(dá)式1的值為0,則計算表達(dá)式3的值,且為最終結(jié)果。因為a=3,則a>=0成立,所以b=a=3。

27.算法算法解析:算法是指對解題方案的準(zhǔn)確而完整的描述。

28.物理獨立性物理獨立性解析:數(shù)據(jù)獨立性分為邏輯獨立性與物理獨立性。當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為物理獨立性。

29.1020010200解析:本題考查的是混合運算。“(a/b<1)&&(a%b<1)”的運算順序為:括號>算術(shù)運算符>關(guān)系運算符>邏輯運算符。其中a%b=10,a,b=0,所以a%b<1的值為0,a/b<1的值為1,故整個表達(dá)式的結(jié)果為0,所以輸出的a,b,c的值為10200。

30.結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計解析:與結(jié)構(gòu)化需求分析方法相對應(yīng)的是結(jié)構(gòu)化設(shè)計方法。結(jié)構(gòu)化設(shè)計就是采用最佳的可能方法設(shè)計系統(tǒng)的各個組成部分以及各個成分之間的內(nèi)部聯(lián)系的技術(shù)。

31.JD

32.n+1n+1解析:在任意一棵二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為0的結(jié)點多一個。

33.*2*4*6*8**2*4*6*8*解析:程序中定義了一個字符數(shù)組a,并初始化為123456789,接著定義了一個指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時,將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*

34.存儲結(jié)構(gòu)存儲結(jié)構(gòu)解析:數(shù)據(jù)結(jié)構(gòu)包括3個方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)據(jù)的操作運算。

35.4.44.4解析:a/2=9/2=4,1/2=0,于是根據(jù)輸出結(jié)果就有下列等式:z=4+2*x/1.1=12.0,化簡后,為x/1.1=4,x=4.4。

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

37.6060解析:p是指向整型數(shù)組的指針變量,p=a使得p指向數(shù)組a的第1行。p+2是數(shù)組a第3行的地址,*(p+2)是數(shù)組a第3行{50,60},其實*(p+2)為數(shù)組a第3行的首地址,*(p+2)+1為數(shù)組a第3行第2個元素的地址,那么*(*(P+2)+1)就是數(shù)組a第3行第2個元素,即60。

38.一對多(或1∶N)一對多(或1∶N)解析:兩個實體集間的聯(lián)系實際上是實體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對一(1∶1)的聯(lián)系、一對多(1∶N)或多對一(N∶1)的聯(lián)系和多對多(N∶N)的聯(lián)系。

39.23

40.有窮性有窮性解析:算法的4個基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報,其中,算法的有窮性指的是算法必須在有限的時間內(nèi)完成,即算法必須在執(zhí)行有限個步驟之后終止。

41.D解析:測試和排錯是互相聯(lián)系但又是性質(zhì)不同的兩類活動,排錯的主要特征包括;修改程序錯誤,推理和歸納,了解程序細(xì)節(jié)。而“運用測試實例”是具有測試活動的特征。

42.D解析:本題中fun函數(shù)實現(xiàn)丁字符串函數(shù)str-eat的功能,將字符串a(chǎn)a連接到字符串ss的末尾。調(diào)用fun函數(shù)時,形參t和s分別指向了字符串ss和aa,然后通過一個while循環(huán)使t指向字符串ss的結(jié)束符的位置,第二個while循環(huán)將字符串a(chǎn)a中的字符(包括結(jié)束符'\\0')逐個復(fù)制到字符串ss的末尾處。

43.C解析:二分查找的前提是線性表以順序存儲,且數(shù)據(jù)元素有序。

44.A

45.A解析:因為while是以條件為假時結(jié)束循環(huán),因此選項C、D不正確。“!=”的優(yōu)先級比“=”高,因此“ch=getchar()!='N'”相當(dāng)于“ch=(getchar!='N')”,ch并不能得到輸入的字符,只能得到true或者false值。

46.C解析:選項A中表達(dá)式c<a(即3<1)的值為假,所以執(zhí)行elseif(b<a),因b<a不成立,結(jié)果為假,因此執(zhí)行else語句x=3;,得x=3;選項B中表達(dá)式a<3(即1<3)成立,故執(zhí)行語句x=3;,else后的語句不再執(zhí)行,故x=3;選項D中首先執(zhí)行if(a<b),因a<b即1<2成立。得x=b=2,然后執(zhí)行if(b<c),因2<3成立,得x=c=3,執(zhí)行if(c<a),因3<1不成立,語句x=a;不被執(zhí)行,敞x=3;選項C中因a<3成立,故得x=3,執(zhí)行if(a<2)因a<2成立,得x=2,執(zhí)行if(a<1),因a<1不成立,故語句x=1;不被執(zhí)行,所以x=2。

47.A解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個成員相互獨立。

48.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的物理實現(xiàn),有時也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲結(jié)構(gòu)則涉及到如何在計算機中通過對數(shù)據(jù)的物理存儲進(jìn)行組織來表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲中是利用物理存儲空間上的連續(xù)性來表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯χ惺峭ㄟ^指針域構(gòu)成的邏輯鏈條來表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對應(yīng)的物理實現(xiàn),即數(shù)據(jù)的存儲結(jié)構(gòu)不止一種。因此選項D正確。

49.C解析:選項A首先判斷if語句條件中表達(dá)式的值“3<1”為假,然后執(zhí)行最近的else后面的語句,該else后面又為if-else語句,在這個if-else語句中首先判斷該if語句條件中表達(dá)式的值“2<1”為假,程序執(zhí)行其最近的else后面的語句,將3賦值給x。

選項B中首先判斷if語句條件中表達(dá)式的值“1<3”為真,然后執(zhí)行最近的else后面的語句“x=3”,后面的else不再執(zhí)行,最后x的值為3。

選項C中,首先執(zhí)行第一條if語句,由于“1<3”為真,執(zhí)行此if后面的語句“x=3”,接著執(zhí)行第二條if語句,由于“1<2”為真,執(zhí)行此if后面的語句“x=2”,接著執(zhí)行第三條if語句,由于“1<1為假,后面的語句不執(zhí)行,所以最后的x值為2不為3。

選項D中;首先執(zhí)行第一條if語句,由于“a<b”為真,執(zhí)行此if后面的語句“x=b”;接著執(zhí)行第二條if語句,由于“b<c”,為真,執(zhí)行此if后面的語句“x=c”,接著執(zhí)行第三條if語句,由于“c<a”為假,后面的語句不執(zhí)行,所以最后的x值為c即為3。

50.A

51.B解析:在C語言中,可以用break語句和continue語句跳出本層循環(huán)和結(jié)束本次循環(huán)。goto語句可跳出多層循環(huán),如果在函數(shù)的循環(huán)體內(nèi)使用return語句,就會直接結(jié)束循環(huán)返回函數(shù)值。

52.A解析:本題中第一次執(zhí)行for循環(huán)后,數(shù)組x中的前四個元素按由大到小的次序排序,即x[0]=7、x[1]=5、x[2]=3、x[3]=1、x[4]=2、x[5]=4、x[6]=6、x[7]=0;第二次執(zhí)行for循環(huán)后,數(shù)組x中的后4個元素按由小到大的次序排序,即此時x[0]=7、x[1]=5、x[2]=3、x[3]=1、x[4]=0、x[5]=2、x[6]=4、x[7]=6。故正確答案為A。

53.C解析:首先看swap()函數(shù),函數(shù)中定義了一個臨時字符變量t,然后將形參指針x所指內(nèi)容存入t,再將形參指針y所指內(nèi)容存入到x所指內(nèi)容中,最后將臨時變量t的內(nèi)容存入到y(tǒng)所指內(nèi)容中。所以該函數(shù)實現(xiàn)的是:交換兩個字符指針?biāo)赶虻膬?nèi)容。在主函數(shù)中,首先定義了兩個字符指針s1和s2,同時用字符串'abc'和'123”來初始化它們,此時它們指向的是兩個字符串的第1個字符。所以,在調(diào)用完swap()函數(shù)后,彼此交換了兩個字符串的第1個字符,最后輸出結(jié)果為1bc,a23。故應(yīng)該選擇C。

54.B解析:考查指向字符串的指針變量。在該題中,指針變量p指向的應(yīng)該是該字符串中的首地址,p+3指向的是字符串結(jié)束標(biāo)志'\\0'的地址,因而。(p+3)的值為0。

55.D關(guān)系R與s經(jīng)交運算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。

56.C解析:本題在定義字符數(shù)組時沒有定義數(shù)組長度,但用字符常量給數(shù)組賦了初值,這時初值的個數(shù)即為數(shù)組的長度,故數(shù)組長度為6(包括'\\0')。字符串的長度為有效字符的個數(shù)5。strlen(s)返回值為串中字符的個數(shù)(不計最后的'\\0'),則輸出值為5。sizeof(s)計算數(shù)組所占的字節(jié)數(shù),包含'\\0',則輸出值為6。因此,C選項正確。

57.D解析:本題考查指針變量的賦值。

**pp是定義了一個指向指針的指針變量,語句pp=&p的意思是將pp指向指針p,*p和**pp都是指針p所指的內(nèi)存空間的內(nèi)容,即b的值。

58.A數(shù)據(jù)庫管理系統(tǒng)的三級模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。

外模式,或子模式,或用戶模式,是指數(shù)據(jù)庫用戶所看到的數(shù)據(jù)結(jié)構(gòu),是用戶看到的數(shù)據(jù)視圖。模式,或邏輯模式,是數(shù)據(jù)庫中對全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所見到的數(shù)據(jù)視圖的總和。外模式是模式的一一部分。內(nèi)模式,或存儲模式,或物理模式,是指數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)的存儲介質(zhì)上的表示,即對數(shù)據(jù)的物理結(jié)構(gòu)和存取方式的描述。

59.C解析:程序中定義了兩個整型變量,一個用八進(jìn)制表示,一個用十進(jìn)制表示,輸出語向中要求m,n都為八進(jìn)制輸出,顯然m原樣輸出為256,n的值轉(zhuǎn)換為八進(jìn)制輸出(256的八進(jìn)制為400),故輸出400.所以,4個選項中選項C符合題意。

60.A解析:轉(zhuǎn)義字符'\\n'表示換行,'\\\\'表示反斜杠,函數(shù)strlen()是計算字符串的長度,不包括文件結(jié)束標(biāo)志('\\0'),函數(shù)sizeof()統(tǒng)計字符串所占的字節(jié)數(shù)。

61.D本題考察for循環(huán)語句,注意第二個for語句的后面有一個分號,即printf函數(shù)不屬于循環(huán)體,無論循環(huán)執(zhí)行多少次,printf(”*”)語句只執(zhí)行一次。因此,本題正確答案為D)。

62.A%取余操作數(shù)只能是整數(shù),x+n和數(shù)值5不能作為賦值的左值,NC2B)、C)、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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論