2021年廣東省肇慶市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第1頁
2021年廣東省肇慶市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第2頁
2021年廣東省肇慶市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第3頁
2021年廣東省肇慶市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第4頁
2021年廣東省肇慶市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021年廣東省肇慶市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)學(xué)校:________班級:________姓名:________考號:________一、單選題(20題)1.若有說明chars1[30]="Thecity",s2[]="isbeautiful";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。

A.s1的內(nèi)容更新為Thecityisbeautiful\0

B.s1的內(nèi)容更新為isbeaut\0

C.s1的內(nèi)容更新為Thecity\0isbeautiful\0

D.s1的內(nèi)容更新為Thecityisbeautiful\0

2.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;則與上述程序段功能等價的賦值語句是()。

A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;

3.下列二叉排序樹中查找效率最高的是()

A.平衡二叉樹B.二叉查找樹C.沒有左子樹的二叉排序樹D.沒有右子樹的二叉排序樹

4.有以下程序:#include<stdio.h>#include<string.h>main(){charv[4][10]={“efg”,“abcd”,“mnopq”,“hijkl”},*p[4],*t;inti,j;for(i=0;i<4;i++)p[i]=v[i];for(i=0;i<3;i++) for(j=i+1;j<4;j++) if(strcmp(p[i],p[j])>0) {t=p[i];p[i]=p[j];p[j]=t}for(i=0;i<4;i++) printf(“%s”,p[i]);}程序運行后的輸出結(jié)果是()。

A.efgabcdhijklmnopq

B.abcdefghijklmnopq

C.mnopqhijklefgabcd

D.efgabcdmnopqhijkl

5.函數(shù)原形中,下列()是不必要的。

A.函數(shù)的類型B.形式參數(shù)名C.函數(shù)名D.形式參數(shù)類型

6.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un));}

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

7.數(shù)組A中,每個元素的長度為3個字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開始連續(xù)存放的存儲器內(nèi),該數(shù)組按行存放,元素A[5][8]的起始地址為()。

A.SA+141B.SA+180C.SA+222D.SA+225

8.x>0&&x<=10的相反表達(dá)式為()。

A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>10

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

A.abcdefB.abcdC.abcdD.abcdef

10.待排序的關(guān)鍵碼序列為(33,18,9,25,67,82,53,95,12,70),要按關(guān)鍵碼值遞增的順序排序,采取以第一個關(guān)鍵碼為基準(zhǔn)元素的快速排序法,第一趟排序后關(guān)鍵碼33被放到第()個位置。

A.3B.5C.7D.9

11.程序設(shè)計的任務(wù)包括()。

A.編寫程序代碼并上機調(diào)試B.確定所用數(shù)據(jù)結(jié)構(gòu)C.確定所用算法D.以上選項均正確

12.A[N][N]是對稱矩陣,將下面三角(包括對角線)以行序存儲到一維數(shù)組T[N(N+1)/2]中,則對任一上三角元素a[i][j]對應(yīng)T[k]的下標(biāo)k是()。

A.i(i-1)/2+jB.j(j-1)/2+iC.i(j-i)/2+1D.j(i-1)/2+1

13.

14.需求分析階段的任務(wù)是確定()

A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費用D.軟件系統(tǒng)功能

15.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。A.x=y+z+5.++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0

16.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是()。A.輸出字符a的ASCII碼B.輸出字符c的ASCII碼C.輸出字符cD.程序出錯

17.要求當(dāng)A的值為奇數(shù)時,表達(dá)式的值為“真”,A的值為偶數(shù)時,表達(dá)式的值為“假”,以下不滿足要求的表達(dá)式是()。A.A%2==1B.!(A%2==0)C.A%2D.!(A%2)

18.對于下述說明,不能使變量p->b的值增1的表達(dá)式是______。structexm{inta;intb;floatc}*p;

A.++p->bB.++(p++)->bC.p->b++D.(++p)->b++

19.下列選項中非法的字符常量是()。

A.'\t'B.'\039'C.','D.'\n'

20.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用退役的過程

B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程

C.軟件的開發(fā)過程

D.軟件的運行維護(hù)過程

二、2.填空題(20題)21.數(shù)據(jù)庫保護(hù)分為安全性、控制性、______、并發(fā)性控制和數(shù)據(jù)恢復(fù)。

22.【】(黑箱或白箱)測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。

23.下列程序執(zhí)行后輸出的結(jié)果是【】。

f(intA)

{staticc=0;

c=a+c++;

return(c);

}

main()

{inta=2,i,k;

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

k=f(a++);

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

}

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

main()

{intm=011,n=11;

printf("%d%d\n",++m,n++);

}

25.下列程序段的運行結(jié)果是______。

intx=0,y=0;

while(x<15)y++,x+=++y;

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

26.在面向?qū)ο蟮某绦蛟O(shè)計中,類描述的是具有相似性質(zhì)的一組【】。

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

28.下面的程序?qū)崿F(xiàn)字符串的復(fù)制。

voidcopy_string(from,to)

【】;

{for(;*from;from++,to++)

*to=*from;

【】;

}

main()

{char*a="Iamwang",*b="youareLi";

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

【】;

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

}

29.瀑布模型將軟件生存周期劃分為【】、開發(fā)和運行3個階段。

30.下面程序的功能是:對字符串從小到大進(jìn)行排序并輸出,請?zhí)羁铡?/p>

#include"string.h"

#include"stdio.h"

sort(char*a[],intn)

{inti,j;

char*p;

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

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

if(())>0)

{p=a[i];

a[i]=a[i+1];

a[i+1]=p;}

}

main()

{inti;

char*book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"};

sort(());

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

printf("%s\n",book[i]);

}

31.在樹型結(jié)構(gòu)中,根結(jié)點沒有【】結(jié)點,其余每個結(jié)點有且僅有【】個前驅(qū)結(jié)點;葉結(jié)點沒有后繼結(jié)點,其余每個結(jié)點的【】結(jié)點數(shù)不受限制。

32.以下程序的運行結(jié)果是【】。

#include<stdio.h>

#include<string.h>

typcdefstructstudent

{charname[10];

longsno;

floatscore;

}STU;

main()

{STUa={"Zhangsan",2001,95},b={"Shangxian",2002,90},

c={"Anhua",2003,95},d,*p=&d;

d=a;

if(strcmp(,)>0)d=b;

if(strcmp(,)>0)d=c;

printf("%1d%s\n",d.sno,p->name);

}

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

#include<stdio.h>

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++)

printf("%d%d",X--,y);

}

34.數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)這3個階段,其中數(shù)據(jù)獨立性最高的階段是【】。

35.以下程序中,select函數(shù)的功能是:在N行M列的二維數(shù)組中,選出一個最大值作為函數(shù)值返回,并通過形參傳回此最大值所在的行下標(biāo)。請?zhí)羁铡?/p>

#defineN3

#defineM3

select(inta[N][M],int*n)

{inti,j,row=1,colum=1;

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

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

if(a[i][j]>a[row][colum]){row=i;colum=j;}

*n=【】;

return(【】);

}

main()

{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;

max=select(a,&n);

printf(“max=%d,line=%d\n”,max,n);

}

36.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

if(strcmp(t,s)<0)strcpy(t,s);

}

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

}

程序運行后,從鍵盤上輸入(<CR>代表回車符):DEF<CR>BADEF<CR>QTHRG<CR>,則程

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

37.有如下圖所示的雙鏈表結(jié)構(gòu),請根據(jù)圖示完成結(jié)構(gòu)體的定義:

structaa

{intdata;

【】}node;

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

39.下列的for語句的循環(huán)次數(shù)為______。

for(x=1,y=0;(y!=19)&&(x<7);x++);

40.以下程序用來統(tǒng)計文件中字符的個數(shù)。請?zhí)羁铡?/p>

#include“stadio.h”

main()

{FILE*fp;longnum=0L;

if((fp=fopen(“fname.dat”,“r”))==NULL);

{printf(“0penerror\n”);exit(0);}

while(【】)

{fsetc(fp);num++;}

printf(“num=%1d\n”,num-1);

fclose(fp);

}

三、1.選擇題(20題)41.s1和s2已正確確定義并分別指向兩個字符串。若要求:當(dāng)s1所指字符串大于s2所指字符串時,執(zhí)行語句S;則以下選項中正確的是()。

A.if(s1>s2)S;

B.if(strcmp(s1,s2))S;

C.if(strcmp(s2,s1)>0)S;

D.if(stremp(s1,s2)>0)S;

42.運行以下程序后,如果從鍵盤上輸入china#<回車>,則輸了結(jié)果為______。#include<stdio.h>main(){intv1=0,v2=0;charch;while((ch=getchar())!='#')switch(ch){case'a':case'h':default:vi++;case'0':v2++;}printf("%d,%d\n",v1,v2);}

A.2,0B.5,0C.5,5D.2,5

43.下列關(guān)系運算中,能使經(jīng)運算后得到的新關(guān)系中元組個數(shù)少于原來關(guān)系中元組個數(shù)的是()。

A.選擇B.投影C.連接D.并

44.有以下程序

#include<stdio.h>

intf(intx)

{inty;

if(x==0||x==1)return(3);

y=x*x-f(x-2);

returny;

}

main()

{intz;

z=f(3);printf("%d\n",z);

}

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

A.0B.9C.6D.8

45.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。

A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和

46.若變量已正確定義,要求程序段完成求5!的計算,不能完成此操作的程序段是()。

A.for(i=1,p=1;i<=5;i++)p*=i;

B.for(i=1;i<=5;i++){p=1;p*=i;}

C.i=1;p=1;while(i<=5){p*=i;i++;}

D.i=1;p=1;do{p*=i;i++;}while(i<=5);

47.指針變量p的基類型為int,并已指向一連續(xù)存儲區(qū),若p中當(dāng)前的地址值為1234,則執(zhí)行p++后,p中的值為()

A.1234B.1235C.1236D.1237

48.程序的3種基本控制結(jié)構(gòu)的共同點是______。

A.不能嵌套使用B.只能用宋寫簡單的程序C.已經(jīng)用硬件實現(xiàn)D.只有一個入口和一個出口

49.下面程序的輸出結(jié)果是()main(){inta=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));prinft("%d%d\n",k,a,b);}

A.003B.012C.103D.112

50.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

51.兩次運行下面的程序后,如果從鍵盤上分別輸入7和3,則輸出結(jié)果是______。main(){intx;scanf("%d",&x);if(++x>5)printf("%d",x);elseprintf("%d\n",x--);}

A.7和5B.6和3C.7和4D.8和4

52.—個數(shù)據(jù)庫系統(tǒng)一般由三級模式組成,其中的模式(也稱邏輯模式或概念模式)指的是______。

A.用戶使用的數(shù)據(jù)視圖B.所有用戶的公共數(shù)據(jù)視圖C.對數(shù)據(jù)物理結(jié)構(gòu)和存儲結(jié)構(gòu)的描述D.一種局部的邏輯數(shù)據(jù)視圖

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

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

54.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是

A.5B.6C.9D.8

55.有以下程序:main(){unsignedinta;intb=-1;a=b;printf("%u",a);}程序運行后的輸出結(jié)果是()。

A.-1B.65535C.32767D.-32768

56.下列程序段的輸出結(jié)果是______。voidfun(int*x,int*y){printf("%d%d",*x,*y);*x=3;*y=4;}main(){intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}

A.2143B.1212C.1234D.2112

57.若有以下說明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則值為6的表達(dá)式是_______。

A.*p+6B.*(p+6)C.*p+=5D.p+5

58.在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()

A.整型常量B.整型表達(dá)式C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式

59.如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是()

A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意順序

60.為了使模塊盡可能獨立,要求()。

A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強

B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱

D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強

四、選擇題(20題)61.若有定義:intX=0,*P=&x;,則語句printf(”%d\n”,*P.的輸出結(jié)果是()。

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

62.若有以下定義和語句:

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

A.107B.105C.55D.58

63.

64.

65.

66.設(shè)有定義:intk=0;以下選項的四個表達(dá)式中與其他三個表達(dá)式的值不相同的是()。

A.++kB.k+=1C.k++D.k+1

67.有以下程序則以下函數(shù)調(diào)用語句錯誤的是()。

A.k=*f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=f(a,b);

68.有以下程序:main{intx,i;for(i=l;i<=50;i++){x=i:if(x%2=0)if(x%3=0)if(X%7=0)printf(”%d,i)”;}}輸出結(jié)果是()。A.28B.27C.42D.4l

69.

70.

71.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。

A.-3B.9C.-12D.6

72.有以下程序:

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

A.x=4B.X=8C.x=6D.x=12

73.

74.有以下程序:

#include<stdio.h>

intf(intx):

main

{intn=1,m;

m=f(f(f(n)));printf("%d\n",m);

}

intf(intx)

{returnx*2;)

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

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

75.請閱讀以下程序:

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

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

76.

77.若變量x、Y已正確定義并賦值,以下符合C語言語法的表達(dá)式是()。

A.++x,y=x-B.x+1=yC.x=x+10=x+yD.double(x/10)

78.若有以下程序段,w和k都是整型變量。

w=k;

LB:if(w==0)gotoLE;

w--;

printf("*");

gotoLB;

LE:

M

則不能與上面程序段等價的循環(huán)語句是

A.for(w=k;w!=0;w--)printf("*");

B.w=k;<CR>while(w--!=0)printf("*");w++;

C.w=k;<CR>do{w--;printf("*");}while(w!=0);

D.for(w=k;w;--w)printf("*");

79.信息隱蔽的概念與下述哪一種概念直接相關(guān)()。

A.軟件結(jié)構(gòu)定義B.模塊獨立性C.模塊類型劃分D.模塊耦合度

80.設(shè)有以下語句:typedefstructTY{charC;inta{41;}CIN;

則下面敘述中正確的是()。

A.CIN是structTr類型的變量

B.TT是struct類型的變量

C.可以用,lr定義結(jié)構(gòu)體變量

D.可以用CIN定義結(jié)構(gòu)體變量

五、程序改錯題(1題)81.下列給定程序中函數(shù)proc的功能是:取出長整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個新數(shù)放在t中。例如,當(dāng)s中的數(shù)為l23456789時,t中的數(shù)為2468。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.有N個學(xué)生,每個學(xué)生的信息包括學(xué)號、性別、姓名、四門課的成績,從鍵盤上輸入N個學(xué)生的信息,要求輸出總平均成績最高的學(xué)生信息,包括學(xué)號、性別、姓名和平均成績。

參考答案

1.D解析:該函數(shù)用來使兩個字符串連接成為一個字符串。strcat(str1,str2)將str2中的字符連接到str1的字符后面,并在最后加一個“\\0”。連接后新的字符串存放在strl中。注意:用于字符串處理的函數(shù)。

2.B解析:本題考核的知識點是for循環(huán)次數(shù)的計算.本程序中for循環(huán)的次數(shù)為c-1+1共循環(huán)了c次,而每循環(huán)一次s的值加1,所以s的值為s+c.而最開始s的值為a,故4個選項中選項B符合題意.

3.A

4.Bmain函數(shù)中定義一個二維數(shù)組v,另外還定義一個指針數(shù)組p。通過for循環(huán),將v的各個行(字符串的首地址)賦給P的對應(yīng)下標(biāo)的元素。然后通過嵌套的for循環(huán),為該二維數(shù)組中存放的各個字符串進(jìn)行排序。strcmp函數(shù)返回值大于0時(p[i]>p[j])交換兩個字符串,所以每一輪內(nèi)嵌的for循環(huán),都將下標(biāo)為i的字符串放在最終的排序位置上,即排序規(guī)則是按字符串升序排列。字符串排序時,是將兩個字符串自左向右逐個字符比較(按字符的ASCII值大?。?,直到出現(xiàn)不同的字符或遇到‘\\0’為止。排序后,再將v中各個排序后的字符串輸出。所以程序輸出結(jié)果為:abcdefghijklmnopq。故本題答案為B選項。

5.A

6.B解析:本題主要考查結(jié)構(gòu)體和聯(lián)合內(nèi)存使用的區(qū)別:結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個成員相互獨立;聯(lián)合所占用的內(nèi)存空間為最長的成員所占用的空間。

7.C

8.A

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

2.putchar():此函數(shù)的作用是向終端輸出一個字符,也可以輸出控制字符。本題在輸入字符時,ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。

10.BB.【解析】快速排序的基本思想是:從表中選取一個元素(如本題中的33),將表中小于此元素的移到前面,大于此元素的移到后面,結(jié)果把線性表分割成兩部分(兩個子表),此元素插入到其分界線的位置處。然后分別對兩個子表再次分割……本題中33作為分割的中界線,第一趟排序后排在比它小的18、9、25、12后面。

11.D程序設(shè)計是一門技術(shù),需要相應(yīng)的理論、技術(shù)、方法和工具來支持。程序設(shè)計的任務(wù)包括選項A)、B)、c)等方面。

12.B

13.B

14.D解析:結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書

評析,需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織,部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能.選項A)軟件開發(fā)方法是在總體設(shè)計階段完成的任務(wù);選項B)軟件開發(fā)工具是在實現(xiàn)階段需完成的任務(wù):選項C)軟件開發(fā)費用是在可行性研究階段需完成的任務(wù)。

15.A[解析]B)與D)選項中取模運算符%的左右兩個操作數(shù)均應(yīng)為整數(shù),所以B)、D)錯誤。C)選項中不能將x+z的值賦給表達(dá)式y(tǒng)*5.所以C)錯誤。

16.D因為字符數(shù)組s[]中的數(shù)組名s表示的是一個地址常量。所以語句“s+=2;”不能將指針在當(dāng)前位置的基礎(chǔ)上再向后移動兩位。因而程序編譯時出錯。

17.D

18.D解析:p->b應(yīng)作為一個整體看待,++p->b和p->b++都使變量b增1,++(p++)->b先使b增1,再使p后移,D中表達(dá)式的含義是使p+1所指結(jié)構(gòu)體變量中的成員b的值增1。

19.B水平制表符中,'\t'表示的是橫向跳若干格;選項B中,'\039'錯誤,'\039'是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號;選項D中,'\n'表示的是換行。

20.A通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。

21.

22.黑箱黑箱解析:本題考查了軟件測試中的黑箱測試。黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設(shè)計測試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑箱測試技術(shù)分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。

23.77解析:在程序執(zhí)行時,static變量僅初始化一次,下次使用時將使用上次保存的值。

24.10111011解析:前綴自增運算時,表達(dá)式的值和變量自增之后的值相同;后綴自增運算時,表達(dá)式的值為變量自增之前的值。所以,本題程序輸出的兩個結(jié)果分別是m+1和n的值。而m在初始化時使用的是八進(jìn)制常量011,轉(zhuǎn)換為十進(jìn)制為9。故輸出結(jié)果是1011。

25.8208,20解析:本題考查while循環(huán)和++運算符的運用。x=0符合條件x<15,則執(zhí)行y++,x+=++y后,y=1,x=0+2=2后y=2,符合條件繼續(xù)循環(huán),y=3,x=x+4=6后y=4,再循環(huán)y=5,x=x+6=6+6=12后,y=6,繼續(xù)循環(huán)y=7,x=x+8=12+8-20,此時y=8。

26.對象對象解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。

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

28.char*from*to*to='\0'copy_string(ab)char*from,*to\r\n*to='\\0'\r\ncopy_string(a,b)解析:函數(shù)copy_string()用到了形參from,to是指針變量,實參a、b是字符串指針,第一個空格應(yīng)填形參說明語句“char*from,*to”。當(dāng)from所指的字符串全部復(fù)制給to所指的字符串時,有可能to所指原字符串長度大于from所指字符串長度,即可能to所指串的后面字符仍留在復(fù)制后的to所指串中。為避免這種情況,必須在from所指串復(fù)制完后,馬上給to所指串加上串結(jié)束符。因此,第二個空格應(yīng)填*to='\\0'。main()函數(shù)應(yīng)調(diào)用copy_string()函數(shù),第三個空格應(yīng)填copy_string(a,b)。

29.計劃計劃解析:瀑布模型是B.W.Boehm于1976年提出的。它將軟件生存周期劃分為計劃、開發(fā)、運行3個時期,每個時期又分為若干個階段。

30.strcmp(a[i]a[i+1])book6strcmp(a[i],a[i+1])book,6解析:此程序段的功能是使字符串從大到小進(jìn)行排列。顯然,第一空白處,是利用strcmp函數(shù)比較字符串a(chǎn)[i]和a[i+1]的大小,若不符合題意,就進(jìn)行調(diào)換;main函數(shù)中,sort函數(shù)是對數(shù)組book中的字符串按從小到大進(jìn)行排序,所以第二空白處填入“book,6”(6是指book所指向的字符串的個數(shù))。

31.前驅(qū)一后繼前驅(qū)\r\n一\r\n后繼

32.2002Shangxian2002Shangxian解析:strcmp函數(shù)用于比較兩個字符串的大小,因為=Zhangsan,=Shangxian,所以strcmp(,)>0為真,執(zhí)行d=b;因為=Anhua,=Shangxian,所以strcmp(,)>0不成立,不執(zhí)行d=c;最后輸出d.sno和的值分別為2002,Shangxian。

33.101091101091解析:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句的功能是:首先計算表達(dá)式1的值,然后檢測表達(dá)式2的值,若其值為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計算表達(dá)式3的值。然后再檢測表達(dá)式2的值是否為真,若為真,繼續(xù)執(zhí)行循環(huán)體語句,若為假,則退出循環(huán);第1次循環(huán)x>8成立,輸出x=10,y=10后,x的值減1,i=1,執(zhí)行y=++i操作,y的值變?yōu)?;判斷條件還成立,輸出x=9,y=1,然后x的值減1,循環(huán)條件不成立,則退出循環(huán)。

34.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)解析:在數(shù)據(jù)庫系統(tǒng)管理階段,通過系統(tǒng)提供的映像功能,數(shù)據(jù)具有兩方面的獨立性:一是物理獨立性,二是邏輯獨立性。數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)階段;

35.rowa[row][colum]row\r\na[row][colum]解析:指針變量作為函數(shù)參數(shù)及二維數(shù)組的一個典型算法——求最大值及其下標(biāo)。通過對題意的分析,在select()函數(shù)中,變量row的作用是用來記錄最大元素的行下標(biāo),colum的作用是用來記錄最大元素的列下標(biāo)。程序中通過一個循環(huán)求得數(shù)組元素中最大值的行列下標(biāo),分別存放在變量row和colum中,根據(jù)題意,應(yīng)該把行下標(biāo)賦值給形參指針變量n指向的變量,把最大值a[row][colum]作為函數(shù)值返回。

36.QTHRGQTHRG解析:函數(shù)strcmp(t,s)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能是,把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲空間中,然后輸出字符數(shù)組t。

37.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對鏈表的定義。

38.類類解析:在面向?qū)ο蟮姆椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶ο蠓Q為類,類是對象的抽象,對象是類的實例。

39.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時循環(huán)6次。

40.!feof(fP)!feof(fP)解析:統(tǒng)計文件中字符個數(shù)的算法可描述如下:首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個字符,同時字符的個數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.dar”,如果打開成功則把返回的文件型指針賦值給fp,然后通過循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加1。所以下劃處應(yīng)填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。

41.D字符串的比較不能直接用關(guān)系運算符,可用字符串比較函數(shù)strcmp(char.s1,char*s2)實現(xiàn),其比較規(guī)則是對兩個字符串自左至右逐個字符按其對應(yīng)的ASCII碼值進(jìn)行比較,直到出現(xiàn)不同的字符或遇到'\\0'為止。若對應(yīng)字符都相同,則兩字符串相等;若出現(xiàn)不相同的字符,則以第一個不相同的字符的比較結(jié)果為準(zhǔn)。比較的結(jié)果由函數(shù)值帶回。當(dāng)s1<s2時,返回負(fù)數(shù);當(dāng)s1=s2時,返回0;當(dāng)s1>s2時,返回正數(shù)。所以在此題中要使得s1所指串大于s2所指串,就必定使得strcmp(s1,s2)>0。

42.C

43.A解析:選擇運算是在指定的關(guān)系中選取所有滿足給定條件的元組,構(gòu)成一個新的關(guān)系,而這個新的關(guān)系是原關(guān)系的一個子集。因此,一個關(guān)系經(jīng)選擇運算后得到的新關(guān)系中,元組個數(shù)少于原來關(guān)系中元組個數(shù)。

44.C解析:函數(shù)intf(intx)是一個遞歸函數(shù)調(diào)用,當(dāng)x的值等于0或1時,函數(shù)值等于3,其他情況下y=x2-f(x-2),所以在主函數(shù)中執(zhí)行語句z=f(3)時,y=3*3-f(3-2)=9-f(1)=9-3=6。

45.D解析:本題考核的知識點是for循環(huán)語句和復(fù)合賦值+=運算符的應(yīng)用。本題中,i賦初值為1,并對其每次進(jìn)行加2操作,即i每次均為1~10之間的奇數(shù),s+=i+1,即s=s+i+1,相當(dāng)于s等于原來的s每次加上1~10之間的偶數(shù),直到i<10不成立.當(dāng)i=1時,s=0+1+1=2;當(dāng)i=3時,s=2+3+1=2+4;當(dāng)i=5時,s=2+4+5+1=2+4+6;當(dāng)i=7時,s=2+4+6+7+1=2+4+6+8;當(dāng)i=9時,s=2+4+6+8+9+1=2+4+6+8+10;當(dāng)i=11時,i<10不成立,結(jié)束循環(huán)。所以,4個選項中選項D符合題意。

46.B解析:選項B中for循環(huán)了5次,而每次循環(huán)的時候,都將p的值重新賦值為1后,再乘以當(dāng)前數(shù)字i,所以最后的結(jié)果為5,顯然不是5!的值,同樣的分析可知選項A、選項C和選項D計算的都是5!。所以,4個選項中選項B符合題意。

47.C

48.D

49.C

50.B解析:耦合性和內(nèi)聚性足模塊獨立性的兩個定性標(biāo)準(zhǔn)。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強則該模塊的獨立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。

51.D解析:輸入7,先使x加1,條件表達(dá)式成立,執(zhí)行語句printf('%d',x);,輸出8;輸入3,先使x加1,條件表達(dá)式不成立,執(zhí)行語句printf('%d\\n',x--);,輸出4,再將x自減。

52.B

53.D

54.C解析:p=&a[3]將指針指向數(shù)組a的第4個元素,p[5]指向數(shù)組a的第9個元素,而a[8]=9,所以b=9。

55.B當(dāng)運算對象為不同的類型時,數(shù)據(jù)的轉(zhuǎn)換方向為int→unsigned→long→double。本題程序中的變量b為int型,先要轉(zhuǎn)換為unsigned型,int型變量的數(shù)值范圍為-32768~32767,最高位為符號位,而unsigned所表示的數(shù)的范圍為0~65535,它的最高位為數(shù)值位。由于內(nèi)存中是以補碼形式存儲數(shù)據(jù)的,所以,整型的“-1”在內(nèi)存中表示為16個1,最高位的“1”表示符號負(fù),將它轉(zhuǎn)換為unsigned類型,即將原符號位表示符號的“1”看成數(shù)值,就可得到16個數(shù)值位1,即65535。

56.A解析:實參的個數(shù)必須與形參的個數(shù)一致,實參可以是表達(dá)式,在類型上應(yīng)按位置與形參一一對應(yīng)匹配。

57.C解析:選項A,*p+6,其值等于1+6=7;選項B,*(p+6),其值等于a[6]=7;選項C,*p+=5,其值等于*p=*p+5=1+5=6;選項D,p+5是個地址值。

58.C解析:C語言規(guī)定只能逐個引用數(shù)組元素而不能一次引用整個數(shù)組,數(shù)據(jù)元素的表示形式為數(shù)組名[下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式。

59.B解析:由棧“后進(jìn)先出”的特點可知:A中e1不可能比e2先出,C中e3不可能比e4先出,且e1不可能比e2先出,D中棧是先進(jìn)后出的,所以不可能是任意順序。所以B是正確的。它執(zhí)行的順序是:e1進(jìn)棧→e2進(jìn)?!鷈2出?!鷈3進(jìn)棧→e4進(jìn)?!鷈4出?!鷈3出?!鷈1出棧,所以只看出棧序列應(yīng)為e2,e4,e3,e1。

60.B解析:模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。耦合性與內(nèi)聚性是模塊獨立性的兩個定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強,則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。本題答案為B。

61.B題中定義的語句等價于以下語句。

故本題定義一個整型變量x和一個指向整型的指針P,并把變量X的地址賦值給P,即P為指向整型變量x的指針,則*P表示P所指向的整型變量x的數(shù)值。

62.Cstrlen函數(shù)返回字符串的長度,求字符串1長度時,遇到結(jié)束標(biāo)志‘、0’為止,但是長度不包括結(jié)束標(biāo)識。f字符數(shù)組sl的后5個元素沒有賦值,都為‘\0’,即“abcd!”后為‘\0’。所以sMen(s1)的值為5。字符指針s2所指向的字符串中,、n為轉(zhuǎn)義字符換行符,表示1個字符,\、也為轉(zhuǎn)義字符,代表\,也是l個字符,其后為字符串結(jié)束標(biāo)識‘0’;所以strlen(s2)的值也為5。因此C選項正確。

63.C

64.B

65.C

66.A解析:因為“intk=0;”,所以B)、C)、D)三個選項的表達(dá)式的值都等于1,而A)選項的表達(dá)式的值等于0。這是因為“k++”這個表達(dá)式先進(jìn)行取k值的運算,然后是k值自加1。故本題答案為A)。

67.AA)選項中*f(a,b)表示調(diào)用后返回一個指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類型,因此不能將其賦值給整型變量k。

68.C只有當(dāng)3個if條件同時成立,即能夠同時被2、3、7整除時,才輸出i的值,而從0到50能夠同時被2、3、7整除的數(shù)只有42,故選擇C選項。

69.D

70.A

71.C解析:本題中首先定義一個整型變量a并給它賦初值為3,在表達(dá)式中,從右開始執(zhí)行,即先執(zhí)行“a-=a*a;”等價于a=a-a*a即a=3-3*3=-6,此時a的值為-6,接著執(zhí)行“a+=a-;”相當(dāng)于執(zhí)行a=a+a即a=-6+(-6)=-12,此時a的值為-12。所以,4個選項中選項C符合題意。

72.Beoulinue的作用是跳出循環(huán)體中剩余的1語句而進(jìn)行下一次循環(huán)。第一次執(zhí)行外循環(huán)i的值為0,執(zhí)行|x++,x的值變?yōu)閘,第一次執(zhí)行內(nèi)層循環(huán)j的值為0,不滿足if1條件,執(zhí)行x++,x的值變?yōu)?,第二次內(nèi)循環(huán)j的值為1,if條1件成立,跳出本次循環(huán),第三次執(zhí)行內(nèi)循環(huán)j的值為2,不滿足lif條件,x的值變?yōu)?,第四次執(zhí)行內(nèi)循環(huán)j的值為3滿足條件1跳出本次內(nèi)循環(huán),x的值加l,即為4,第一次外循環(huán)結(jié)束。第1二次執(zhí)行外循環(huán)時,同理,i的值被加了,4次,變?yōu)?,所以選擇I,B選項。

73.C

74.D本題考查函數(shù)返回值作參數(shù),最初n=1,f(n)=f(1)=2,將f(n)的結(jié)果代入第二個f(n)中,即f(f(n))=f(2)=4,所以f(f(f(f(n))))=f(4)=8。

75.A考查switch語句的使用。switch語句的執(zhí)行過程為:進(jìn)入switch結(jié)構(gòu)后,對條件表達(dá)式進(jìn)行運算

溫馨提示

  • 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

提交評論