2022年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第1頁(yè)
2022年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第2頁(yè)
2022年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第3頁(yè)
2022年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第4頁(yè)
2022年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12

2.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。

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

3.在循環(huán)隊(duì)列中,若front與rear分別表示對(duì)頭元素和隊(duì)尾元素的位置,則判斷循環(huán)隊(duì)列空的條件是()。

A.front==rear+1B.rear==front+1C.front==rearD.front==0

4.以下程序的輸出結(jié)果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}

A.650B.1470C.5430D.輸出值不定

5.第

4

棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是

A.ABCEDB.DCBEAC.DBCEAD.CDABE

6.以下不能將s所指字符串正確復(fù)制到所指存儲(chǔ)空間的是()A.do{*t++=*s++;}while(*s);.

B.for(i=0;t[i]=s[i];i++);

C.while(*t=*s){t++;s++}

D.for(i=0,j=0;t[i++]=s[j++];);

7.

8.設(shè)有如下定義structss{charname[10];intage;charsex;}std[3],*p=std;下列各輸入語(yǔ)句中錯(cuò)誤的是_______。

A.scanf("%d",&(*p).age);

B.scanf("%s",&);

C.scanf("%c",&std[0].sex);

D.scanf("%c",&(p->sex));

9.排序方法中,將整個(gè)無(wú)序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為______。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

10.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){intn=4;while(n--)printf("%d",--n);}

A.20B.31C.321D.210

11.

12.設(shè)一組初始記錄關(guān)鍵字序列為(Q,H,C,Y,P,A,M,S,R,D,F,X),則按字母升序的第一趟冒泡排序結(jié)束后的結(jié)果是()

A.F,H,C,D,P,A,M,Q,R,S,Y,X

B.P,A,C,S,Q,D,F,X,R,H,M,Y

C.A,D,C,R,F,Q,M,S,Y,P,H,X

D.H,C,Q,P,A,M,S,R,D,F,X,Y

13.語(yǔ)句int(*ptr)的含義是()。A.A.ptr是一個(gè)返回值為int的函數(shù)

B.ptr是指向int型數(shù)據(jù)的指針變量

C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針

14.有以下程序

A.741B.963C.852D.87542l

15.有以下程序:#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.出錯(cuò)C.Three,5D.Five,5

16.有以下程序:#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},b[6];fp=fopen(“d.dat”,“w+b”);fwrite(a,sizeof(int),6,fp);for(i=0;i<6;i++)fwrite(&a[2],sizeof(int),1,fp);rewind(fp);fseek(fp,sizeof(int)*2,SEEK_CUR);fread(b,sizeof(int),6,fp);fclose(fp);for(i=0;i<6;i++)printf(“%d,”,b[i]);}程序運(yùn)行后的輸出結(jié)果是()。

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

17.鏈表不具備的特點(diǎn)是()

A.所需空間與其長(zhǎng)度成正比B.不必事先估計(jì)存儲(chǔ)空間C.插入刪除不需要移動(dòng)元素D.可隨機(jī)訪問(wèn)任一節(jié)點(diǎn)

18.

19.以下程序的輸出結(jié)果是()。main{inta[3][3]=“l(fā),2),{3,4),{5,6)},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(”%d\n”,s);}A.18B.19C.20D.21

20.假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如圖所示的結(jié)點(diǎn):

則以下選項(xiàng)中司將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是______。A.(*p).next=(*q).next;free(p);

B.p=q->next;free(q);

C.p=q;free(q);

D.p->next=q->next;free(q);

二、2.填空題(20題)21.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱為______。

22.以下程序運(yùn)行后的輸出結(jié)果是()。#definePower2(x)x*xmain(){inti=6,j=8;printf("%d\n",Power2(i+j));}

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

24.在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為【】。

25.若x,y和z均是int型變量,則執(zhí)行下面表達(dá)式后的x值為【】。

x=(y=4)+(z=2)

26.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?/p>

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])【】

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

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

main()

{inti,a[10];

a[0]=a[1]=1;

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

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

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

{if(i%2==0)printf("\n");

printf("%d",a[i]);

}

}

28.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個(gè)數(shù)中,找出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;______;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

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

30.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。

31.以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組元素的值。a數(shù)組中的值在main函數(shù)中讀入。

#include<stdio.h>

#defineN10

invert(s,i,j)

int*s,i,j;

{intt;

if(i<j)

{t=*(s+i);

*(s+i)=(s+j);

*(s+j)=t;

invert(s,【】,j-1);

}

}

main()

{

inta[N],i;

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

invert(a,0,N-1);

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

printf("\n")

}

32.設(shè)Y是int型變量,請(qǐng)寫出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。

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

34.下面的程序是將從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti;

chars[21],*p;

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

s[i]=getehar();

s[i]=【】;

p=【】;

while(*p)putchar(【】);

}

35.在對(duì)文件進(jìn)行操作的過(guò)程中,若要求文件的位置指針重新指向文件的開頭,應(yīng)當(dāng)調(diào)用的函數(shù)是【】函數(shù)。

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

main()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2==0)

*p='*';

p++;i++;

}

puts(a);

}

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

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wb");

fwtite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

38.以下程序運(yùn)行后輸入:3,abcde<回車>,則輸出結(jié)果是______。

#include<string.h>

move(char*str,intn)

{charcemp;inti;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1);

str[0]=temp;}

main()

{chars[50];intn,i,z;

scanf(“%d,%s”,&n,s);

z=strlen(s);

for(i=1;i<=n;i++)move(s,z);

printf(“%s\n”,s);

}

39.設(shè)Y是int型變量,請(qǐng)寫出判斷Y為奇數(shù)的關(guān)系表達(dá)【】。

40.按"先進(jìn)后出"原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是【】。

三、1.選擇題(20題)41.若有如下程序:structstudent{charname[10];floatscore[3];}stu[3]={{"lili",75,90,90},{"liudan",90,85,75};{"guoli",85,85,70}};main(){inti;floatsum=0,aver;for(i=0;i<3;i++)sum=sum+stu[i].score[1];aver=sum/i;printf("%6.2f\n",aver);}則程序運(yùn)行后的輸出結(jié)果是()

A.83.33B.85C.86D.86.67

42.詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的()。

A.代碼的規(guī)模B.運(yùn)行速度C.質(zhì)量D.可維護(hù)性

43.若有說(shuō)明inti,j=2,*p&i;,則能完成i=j賦值功能的語(yǔ)句是______。

A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;

44.有以下程序main(){inta=3,b=4,c=5,d=2;if(a>B)if(b>C)printf("%d",d+++1);elseprintf("%d",++d+1);printf("%d\n",D);}程序運(yùn)行后的輸出結(jié)果是

A.2B.3C.43D.44

45.有下列程序:main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}程序運(yùn)行后的輸出結(jié)果是()。

A.1*1=11*2=21*3=32*1=22*2=43*1=3

B.1*1=11*2=21*3=32*2=42*3=63*3=9

C.1*1=11*2=22*2=41*3=32*3=63*3=9

D.1*1=12*1=22*2=43*1=33*2=63*3=9

46.執(zhí)行下列程序時(shí)輸入:123<空格>456<空格>789<回車>,輸出結(jié)果是()main(){chars[100]intc,i;scanf("%c",&C);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}

A.1,456,789B.1,23,456C.1,23,456,789D.123,456,789

47.下面程序的輸出結(jié)果是______。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}

A.121,0,4B.2,2,2C.0,2,4D.0,2,2

48.下列選項(xiàng)中屬于C語(yǔ)言構(gòu)造類型的是()

A.指針類型B.空類型C.枚舉類型D.數(shù)組類型

49.執(zhí)行下面的程序后,a的值是()#defineSQR(X)X*Xmain(){inta=10,k=2,m=l;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}

A.10B.1C.9D.0

50.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){chara=3,b=1;charc=a^b<<2;printf("%d",C;}

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

51.已定義以下函數(shù);intfun(int*p){return*p;}fun函數(shù)返回值是()。

A.不確定的值B.一個(gè)整數(shù)C.形參p中存放的值D.形參p的地址值

52.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A.隊(duì)列B.棧C.雙向鏈表D.二叉樹

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

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

54.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=4printf("%d\n",(a+=a-=a*A));}

A.-8B.14C.0D.-24

55.若有定義int*p,n;則通過(guò)語(yǔ)句scanf能夠正確讀入數(shù)據(jù)的程序段是()。

A.p=&n;scanf("%d",&p);

B.p=&n;scanf("%d",*p);

C.scanf("%d",n);

D.p=&n;scanf("%d",p);

56.以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是______。

A.隊(duì)列B.線性表C.二叉樹D.棧

57.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。

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

58.設(shè)inta=12,則執(zhí)行完語(yǔ)句a+=a-=a*a后,a的值是()。

A.552B.264C.144D.-264

59.以下程序的輸出結(jié)果是______。structHAR{intx,y;structHAR*p;}h[2];main(){h[0],x=1;h[0].y=2;h[1]x=3;h[1].y=4;h[0].p、&h[1];h[1]..p=h;printf("%d%d\n",(h[0].p)->x,(h[1].p)->y;}

A.12B.23C.14D.32

60.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系

四、選擇題(20題)61.有以下程序程序運(yùn)行后的輸出結(jié)果是()。A.a+b=0B.a+b=30C.a+b=lOD.出錯(cuò)

62.有以下程序:#include<stdio.h>main(){inta[5]={1,2,3,4,5),b[5]={0,2,1,3,o},i,s=0;for(i=o;i<5;i++)s=s+a[b[i]];printf(”%d\n”,s);}程序運(yùn)行后的輸出結(jié)果是()。A.6B.10C.11D.15

63.設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)^(~3)的值是

A.10101001B.10101000C.11111101D.01010101

64.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。

A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0

65.如果在C程序中要用到庫(kù)函數(shù)中的字符串比較函數(shù)strcmp(),那么在程序前面應(yīng)該添加的頭文件是()。

A.stdio.hB.string,hC.a(chǎn)lloc.hD.math.H

66.讀出以下語(yǔ)句的輸出結(jié)果是()。

intx=10,y=10;

printf(“%d%d\n”,x--,--y);

A.1010B.99C.910D.109

67.

68.

69.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。

A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性

B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性

C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度

D.內(nèi)聚性是指模塊間互相連接的緊密程度

70.

71.有以下程序:#include<stdio.h>main(){charc1,c2;c1=’A’+’8’-’4’;c2=’A’+’8’-’5’;printf(“c,%d\n”,c1,c2);}已知字母A的ASCⅡ碼為65,程序運(yùn)行后的輸出結(jié)果是()。A.E,68B.B,69C.E,DD.輸出無(wú)定值

72.以下程序愛中,與語(yǔ)句:

73.有下列程序:

main

{inty=10;

do{y--;}while(--y);

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

)

當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。

A.-1B.1C.4D.0

74.

75.

76.有以下程序:

voidfun2(chara,charb){printf(”%c%c”,a,b);}

chara='A',b='B';

voidfunl(){a='C';b='D';}

main()

{funl();

printf("%c%c",a,b);

fun2('E','F');

}

程序的運(yùn)行結(jié)果是()。A.A.CDEFB.ABEFC.ABCDD.CDAB

77.

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

main

{charch[3][4]={"123","456","78"),*p[3];inti;

for(i=0;i<3;i++)p[i]=ch[i];

for(i=0;i<3;i++)printf("%s",p[i]);}

A.123456780B.123456780C.12345678D.147

78.

有以下程序:

#include<stdio.h>

main

{intx=4,y;

do

{y=x;

if(!y)printf("x");

else

printf("y"):

x--;

}while(x);

}

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

A.xyyxB.yyyyC.yyxxD.yxyx

79.以下不合法的字符常量是()。

80.下列敘述中正確的是()。

A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)

B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D.以上三種說(shuō)法都不對(duì)

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出m以內(nèi)最大的6個(gè)能被7或11整除的自然數(shù)之和。m的值由主函數(shù)傳人。例如,若m的值為600,則函數(shù)的值為3515。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:將str所指字符串中除下標(biāo)為偶數(shù)、同時(shí)ASCⅡ碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFG12345,其中字符8的ASCⅡ碼值為偶數(shù),所在元素的下標(biāo)為奇數(shù),因此必須刪除;而字符A的ASCⅡ碼值為奇數(shù),所在數(shù)組中的下標(biāo)為偶數(shù),因此不應(yīng)當(dāng)刪除。依次類推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所寫的若干語(yǔ)句。試題程序:

參考答案

1.D本題可以寫成:a+a+(a-(a*a)),所以*的優(yōu)先級(jí)最高,其次是-=的,+的優(yōu)先級(jí)最低,因此先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,a即a=a-9=-6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。

2.C

3.C

4.A解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。

5.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個(gè)元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時(shí)一定是先出D,再出C,最后出A。

6.Ado{*t++=*s++;}while(*s);不能因?yàn)楫?dāng)*s=‘\\0'時(shí),while(*s)跳出循環(huán),這樣字符串結(jié)束標(biāo)志’0\\沒(méi)有復(fù)制給*t,造成*t不完整。注意,*t++=*s++是先執(zhí)行t=*s,然后才進(jìn)行t=t+1,s=s+1。B),C),D)三項(xiàng)都能將“\\0’復(fù)制過(guò)去。

7.D

8.B解析:在C語(yǔ)言中,結(jié)構(gòu)體變量的引用有三種等價(jià)方式:

1、結(jié)構(gòu)體變量成員名;2、(*p).成員名;3、p->成員名。

因?yàn)閟td.name是字符數(shù)組名,本身代表地址,其前面不應(yīng)該使用“&”符號(hào),所以選項(xiàng)B錯(cuò)誤。

9.A解析:希爾排序法的基本思想是:將整個(gè)無(wú)序序列分割成若干小的子序列分別進(jìn)行插入排序。

10.A解析:n--是先使用后自減,--n是先自減后使用。n=4時(shí),執(zhí)行n--后,n變?yōu)?,執(zhí)行--n后,n變?yōu)?,所以,第一次輸出時(shí),n為2;同上過(guò)程,第二次輸出時(shí),n為0。

11.B

12.D

13.C本題考查的是指向函數(shù)的指針。函數(shù)指針定義的基本格式為:類型標(biāo)識(shí)符(*指針變量名)()?!邦愋蜆?biāo)識(shí)符”為函數(shù)返回值的類型。

14.C在for循環(huán)中,當(dāng)y的值為9、6或3時(shí),執(zhí)行輸出語(yǔ)句,輸出表達(dá)式“——y”的值。y先自減1,然后再輸出y的值。

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

16.A程序首先以讀二進(jìn)制文件的方式打開文件d.dat;然后使用fwrite函數(shù)將數(shù)組a中6個(gè)元素寫入d.dat中。并調(diào)用for循環(huán)將a[2]元素(值為3)6次寫入d.dat文件中;接著使用rewind函數(shù)將文件指針fp移動(dòng)到文件頭;再使用fseek函數(shù)將fp從當(dāng)前位置向后移動(dòng)2個(gè)整數(shù)位置;最后使用fread函數(shù)從fp指向的位置向后讀取6個(gè)整數(shù)。由此可知這6個(gè)整數(shù)分別是:3,4,5,6,3,3。故本題答案為A選項(xiàng)。

17.D

18.A

19.A循環(huán)的作用是求行下標(biāo)從1到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][0]+a[2][1]+a[2][2]=3+4+5+6+0=18。

20.D解析:本題題面要求刪除q所指結(jié)點(diǎn)并釋放該結(jié)點(diǎn),而選項(xiàng)A中雖然是刪除了q所指鮚點(diǎn),但并未釋放q這個(gè)結(jié)點(diǎn),而釋放的是p結(jié)點(diǎn),所以選項(xiàng)A錯(cuò)誤;選項(xiàng)B是將q的下一結(jié)點(diǎn)的地址賦值給指針變量p,這意味著p原來(lái)的成員變量?jī)?nèi)容被q的下一結(jié)點(diǎn)的成員變量?jī)?nèi)容所代替,即原p結(jié)點(diǎn)也被刪除了,所以選項(xiàng)B錯(cuò)誤;選項(xiàng)C相當(dāng)于將q的所有成員變量?jī)?nèi)容代替了p的所有成員變量?jī)?nèi)容,即p結(jié)點(diǎn)被刪除,所以錯(cuò)誤;選項(xiàng)D是將q的下—結(jié)點(diǎn)的地址賦值給p的成員next\u3000(成員next用于存放一結(jié)點(diǎn)的地址),使得p的next成員不再指向q,而是指向q的下一結(jié)點(diǎn),相當(dāng)于刪除了q這個(gè)結(jié)點(diǎn),同叫用free函數(shù)正確釋放了q這一結(jié)點(diǎn),所以選項(xiàng)D正確。

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

22.6262解析:本題考查的是宏定義。帶參數(shù)的宏定義是按#indefine命令行中指定的字符串從左到右進(jìn)行轉(zhuǎn)換。本題中替換的式子為:6+8*6+8,代入i,j的值得到62。

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

24.數(shù)據(jù)字典數(shù)據(jù)字典解析:在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為數(shù)據(jù)字典。

25.6

26.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標(biāo),需先預(yù)設(shè)1個(gè)臨時(shí)最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時(shí)最大元素更大時(shí),就用當(dāng)前元素的下標(biāo)更新臨時(shí)最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時(shí)最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查是從首元素開始順序向后繼元素考查。程序中,存儲(chǔ)臨時(shí)最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時(shí)最大元素s[k)更大時(shí),應(yīng)該用p更新k。所以在空框處應(yīng)填入代碼“k=p;”。

27.11<CR>23<CR>5(<CR代表?yè)Q行)11<CR>23<CR>5(<CR,代表?yè)Q行)解析:本題通過(guò)語(yǔ)句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項(xiàng)的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語(yǔ)句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個(gè)的形式輸出。

28.

29.數(shù)據(jù)庫(kù)管理系統(tǒng)或DBMS數(shù)據(jù)庫(kù)管理系統(tǒng)或DBMS解析:數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,DBMS)是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫(kù),簡(jiǎn)稱DBMS。它對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫(kù)的安全性和完整性。用戶通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),數(shù)據(jù)庫(kù)管理員也通過(guò)DBMS進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)工作。它提供多種功能,可使多個(gè)應(yīng)用程序和用戶用不同的方法在同時(shí)或不同時(shí)刻去建立,修改和詢問(wèn)數(shù)據(jù)庫(kù)。因此,數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)庫(kù)管理系統(tǒng)是實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件。本題的答案是數(shù)據(jù)庫(kù)管理系統(tǒng)或DBMS。

30.存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用。可知,循環(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。

31.i+1i

32.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。

33.D

34.\0s*p++\\0\r\ns\r\n*p++解析:本題先通過(guò)for循環(huán)從鍵盤讀入20個(gè)字符,然后賦值'\\0'作為字符串結(jié)束標(biāo)志,再使指針p指向字符串的首地址,最后通過(guò)while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。

35.rewind或fseekrewind或fseek解析:本題考查文件的定位。在對(duì)文件進(jìn)行操作的過(guò)程中,若要求文件的位置指針回到文件的開頭,可以調(diào)用rewind函數(shù)或fseek函數(shù)來(lái)完成。其中,rewind函數(shù)的作用是將位置指針重新返回文件的開頭;而fseek函數(shù)也可以實(shí)現(xiàn)文件指針的定位。

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

37.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為“1,2,3,0,0,1,2,3,0,0”。

38.cdeabcdeab解析:本題考核的知識(shí)點(diǎn)是基本算法的應(yīng)用和程序的綜合分析。從分析知道m(xù)ove()函數(shù)的作用,是將形參str所指的數(shù)組依次向后左移一位,即讓該數(shù)組第一個(gè)元素的值等于第二個(gè)元素的值,接著讓第二個(gè)元素的值等于第三個(gè)元素的值,直到該數(shù)組最后第二個(gè)元素的值等于最后一個(gè)元素的值,然后讓第一個(gè)元素等于最后一個(gè)元素的值。主函數(shù)中用了一個(gè)for循環(huán)調(diào)用move()函數(shù),共循環(huán)三次。當(dāng)i=1時(shí),第一次調(diào)用move()函數(shù),使輸入到數(shù)組的s的字符串“abcde”變?yōu)椤癳abcd”,當(dāng)i=2時(shí),第二次調(diào)用move()函數(shù),使字符串“eabcd”變?yōu)椤癲eabc”,當(dāng)i=3時(shí),第三次調(diào)用move()函數(shù),使字符串“deabc”變?yōu)椤癱deab”,故最后輸出的值為“cdeab”,故該空格處應(yīng)該填“cdeab”。

39.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。

40.棧棧解析:考查考生對(duì)棧和隊(duì)列概念的掌握。按'先進(jìn)后出'原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是棧;按'先進(jìn)先出'原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是隊(duì)列。

41.D

42.C解析:詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),但詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體的編寫程序,而是要設(shè)計(jì)出程序的“藍(lán)圖”,以后程序員將根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的程序代碼,因此,詳細(xì)設(shè)計(jì)階段的結(jié)果基本上就決定了最終的程序代碼的質(zhì)量。

43.B解析:指針是一種用來(lái)存放變量地址的特殊變量。本題中指針變量P用于存放整型變量i的地址,改變*P的值即為改變i的值。又因?yàn)椤?”和“*”兩個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,按自右而左的方向結(jié)合,所以*&j先進(jìn)行&j運(yùn)算,得j的地址,再進(jìn)行*運(yùn)算,取所得地址里面的值,故*&j與j等價(jià)。

44.A解析:本題考核的知識(shí)點(diǎn)是if-else語(yǔ)句的程序分析。我們首先看程序中if-else的匹配,由于C語(yǔ)言中規(guī)定else總是與最近的if搭配,因此程序中else與第二個(gè)訂搭配,即該if-else語(yǔ)句為第一個(gè)if語(yǔ)句的執(zhí)行部分,接著判斷第一個(gè)if后面括號(hào)里的表達(dá)式的值“a>b”為假('3>4'為假),因此不執(zhí)行后面if-else語(yǔ)句,程序?qū)?zhí)行下面的輸出語(yǔ)句輸出d,而d一直未被改變故為原來(lái)的值2,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

45.B解析:外層for循環(huán)的自變量i從1開始,每次循環(huán)后增1,直到i等于3結(jié)束.對(duì)于外層循環(huán)自變量i的每一個(gè)值,內(nèi)層循環(huán)的自變量j每次從i開始,每次循環(huán)后增1,直到j(luò)等于3結(jié)束。所以在每次外循環(huán)開始后,內(nèi)層循環(huán)在一行先打印i*j=兩個(gè)乘數(shù)的積,然后回車換行,下次循環(huán)從下一行開始打印輸出結(jié)果。

46.B解析:第一個(gè)輸入語(yǔ)句只接收一個(gè)字符\'1\';第二個(gè)輸入語(yǔ)句接收一個(gè)整數(shù)23,遇到空格停止;第三個(gè)輸入語(yǔ)句接收一個(gè)字符串'456',遇到空格停止。

47.B解析:sizeof函數(shù)是取變量所占的存儲(chǔ)空間的字節(jié)數(shù),標(biāo)識(shí)a代表常量121;constb=12;,其中數(shù)據(jù)類型可以缺省,默認(rèn)為整型;enumc{a1,a2};定義了—個(gè)枚舉類型enumc,a1,a2為枚舉元素,在C編譯時(shí),對(duì)枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。

48.D解析:構(gòu)造類型數(shù)據(jù)是由基本類型數(shù)據(jù)按一定規(guī)則組成的。C語(yǔ)言中的構(gòu)造類型數(shù)據(jù)只有3種,它們是數(shù)組類型、結(jié)構(gòu)體類型和共用體類型。故應(yīng)該選擇D。

49.B

50.B

51.B解析:題目中fun()函數(shù)的返回表達(dá)式是*p,所以選項(xiàng)C、D不為所選,而應(yīng)該是形參p所指內(nèi)容的值,因?yàn)閜為int型指針,所以該值是一個(gè)整數(shù)。故應(yīng)該選擇B。

52.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。

【知識(shí)拓展】“隊(duì)列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來(lái)后到”,先進(jìn)先出,后進(jìn)后出。

53.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é)。

54.D解析:表達(dá)式a+=a-=a*a看起來(lái)復(fù)雜,其實(shí)將它分成兩個(gè)表達(dá)式來(lái)計(jì)算就簡(jiǎn)單了:①第一個(gè)表達(dá)式(a-=a*a)=(a=a-a*a=-12);②第二個(gè)表達(dá)式(a+=a-=a*a)=(a=a+a=-24)。

55.D解析:通過(guò)定義int*p,p是一個(gè)整型指針,p=&n是使p指向變量n,而p是一個(gè)指針,輸入時(shí)不需再用地址運(yùn)算符。

56.C解析:線性表、棧和隊(duì)列所表達(dá)和處理的數(shù)據(jù)以線性結(jié)構(gòu)為組織形式。棧是一種特殊的線性表,它只能在固定的一端進(jìn)行插入和刪除操作,又稱后進(jìn)先出表(LastInFirstOut);隊(duì)列是插入在一端進(jìn)行,刪除在另一端進(jìn)行的線性表,又稱先進(jìn)先出表(FirstInFirstOut)。

57.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。

58.D

59.D解析:本題中是一個(gè)含有兩個(gè)結(jié)點(diǎn)的循環(huán)鏈表。

C語(yǔ)言中結(jié)構(gòu)體的定義為:

struct結(jié)構(gòu)體類型名

{

成員項(xiàng)表;

};

60.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。

61.A注釋/*和*/,之間計(jì)算機(jī)不參與編譯,所以a、b值仍為0,答案選擇A)。

62.C本題考查數(shù)組的使用。本題定義了兩個(gè)數(shù)組,注意數(shù)組的下標(biāo)是從0開始的,進(jìn)行第1次for循環(huán):當(dāng)i=0時(shí),b[0]為數(shù)組b中第l個(gè)元素,結(jié)果為0,那么a[0]也是數(shù)組a中第l個(gè)元素,結(jié)果為1,所以S的值為1。第2次循環(huán):i此時(shí)自加為l,b[1]為數(shù)組的第2個(gè)元素,值為2,所以可求出a[2](數(shù)組中的第3個(gè)元素)的值為3,s=s+3,所以S的值為4。進(jìn)入第3次for循環(huán),依此類推,第3次for循環(huán)結(jié)束時(shí)s的值為6。第4次for循環(huán),s的值變?yōu)閘0。第5次for循環(huán)時(shí),此時(shí)i的值為4,s的值變?yōu)閘l,i=5不符合題意,所以跳出循環(huán),輸出結(jié)果,所以本題答案為C。

63.D本題主要考查位運(yùn)算。“按位取反”運(yùn)算(~)是單目運(yùn)算符,運(yùn)算對(duì)象應(yīng)置于運(yùn)算符的右邊,其功能是把運(yùn)算對(duì)象的各二進(jìn)制位求反;“按位異或”運(yùn)算(^)是雙目運(yùn)算符,其功能是把參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)制位相異或。該操作通常用來(lái)使一個(gè)數(shù)中某些指定位翻轉(zhuǎn),而另一些位保持不變。

本題中,

溫馨提示

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