2021年安徽省淮北市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第1頁
2021年安徽省淮北市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第2頁
2021年安徽省淮北市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第3頁
2021年安徽省淮北市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第4頁
2021年安徽省淮北市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年安徽省淮北市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",'m',85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",'f',95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

程序的運(yùn)行結(jié)果是()。A.A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

2.設(shè)有定義“intk=3,i=2;”,以下選項(xiàng)中,變量k的值與其他3個(gè)不同的是()。

A.k-=i;B.k=--i;C.k=i-1;D.k=i--;

3.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語句是()。

A.fget(f0,ch);

B.foutc(ch,fo);

C.fprinff(fp,”%c”,ch);

D.fwrite(&ch,sizeof(ch),1,fp);

4.下列給字符數(shù)組初始化中,()是正確的。

A.chars2[3]="xyz";

B.chars1[]="abcd";

C.chars3[][3]={'a','x','y'};

D.chars4[2][3]={"xyz","mnp"};

5.可用作C語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

6.

7.設(shè)線性鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為(data,next)。若想刪除結(jié)點(diǎn)p的直接后繼,則應(yīng)執(zhí)行下列()操作。

A.p->next=p->next->next;

B.p=p->nextp->next=p->next->next;

C.p->next=p->next;

D.p=p->next->next;

8.CPU能夠直接訪問的存儲(chǔ)器是

A.軟盤B.硬盤C.RAMD.CD-ROM

9.若一棵二叉樹具有10個(gè)出度為2的結(jié)點(diǎn),則在該二叉樹中,出度為0的結(jié)點(diǎn)個(gè)數(shù)是()

A.9B.11C.12D.不確定

10.設(shè)x,y,t均為int型變量,執(zhí)行語句:

x=y=3;

t=++x||++y;

完成后,y的值為A.A.不確定B.4C.3D.1

11.

12.有下列程序:main{inti,s=0,t[]={1,2,3,4,5,6,7,8,9);for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。A.45B.20C.25D.36

13.若有定義:“inta,b,c,*p=&c;”,接著執(zhí)行以下選項(xiàng)中的語句,則能正確執(zhí)行的語句是()。

A.scanf(“%d”,a,b,c);

B.scanf(“%d%d%d”,a,b,c);

C.scanf(“%d”,p);

D.scanf(“%d”,&p);

14.如果對(duì)線性表的操作只有兩種,即刪除第一個(gè)元素,在最后一個(gè)元素的后面插入新元素,則最好使用()。

A.只有表頭指針沒有表尾指針的循環(huán)單鏈表B.只有表尾指針沒有表頭指針的循環(huán)單鏈表C.非循環(huán)雙鏈表D.循環(huán)雙鏈表

15.

16.有下列程序:#include<stdio.h>voidfun(char*a,char*B){while(*a=='*')a++;while(*b=*A){b++;a++;}}main(){char*s="*****a*b****",t[80];fun(s,t);puts(t);程序的運(yùn)行結(jié)果是()。A.*****a*bB.a*bC.a*b****D.ab

17.下列選項(xiàng)中不是字符常量的是()。

A.'\v'B.'\x2a'C.'a'D."\0"

18.若有定義:typedefint*(*T[10])[10];Tb;則以下選項(xiàng)中所定義的a與上述定義中的b,其類型完全相同的是()。

A.int*(*a[10][10]);

B.int**a[10][10];

C.int*(a[10])[10];

D.int*(*a[10])[10];

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

A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄

B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索

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

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

20.數(shù)據(jù)庫系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員

二、2.填空題(20題)21.執(zhí)行以下程序后的輸出結(jié)果是【】。

main()

{inta=10;

a=(3*5,a+4);printf("a=%d\n",a);

}

22.下面程序執(zhí)行后k的值為【】。

inta=1,b=2,c=3,d=4,k;

k=a>b?a:c>d?c:d

23.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱為______。

24.設(shè)有以下定義和語句,則*(*(p+2)+1)的值為【】。

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

p=a;

25.類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對(duì)象是類的【】。

26.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于______的聯(lián)系。

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

#include<stdio.h>

fun()

{inta=0;

a+=3;

printf("%d",A);

}

main()

{intcc;

for(cc=1;cc<=4;cc++)

fun();

printf("\n");

}

28.下面程序的功能是:計(jì)算110之間的奇數(shù)之和與偶數(shù)之和,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta,b,c,I;

a=c=0;

for(I=0;I<=10;I+=2)

{a+=I;

【】;

c+=b;}

printf("偶數(shù)之和=%d\n",a);

printf("奇數(shù)之和=%d\n",c-11);}

29.在面向?qū)ο蠓椒ㄖ校愔g共享屬性和操作的機(jī)制稱為______。

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

31.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,

否則返回0。請(qǐng)?zhí)羁铡?/p>

intisprime(inta)

{inti;

for(i=2;i<=a/2;i++)

if(a%i==0)【】;

【】;

}

32.若有定義:inta=4,b=5,c=6;然后順序執(zhí)行下列語句后,變量b中的值是()。c=(a-=(b-5));c=(a%3)+(b=1);

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

#include<stdio.h>

main()

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

for(i=0;i<3;i++)s+=a[i][i]+a[i][3-i-1];

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

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

#definePOW(r)(r)*(r)

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

35.以下程序運(yùn)行結(jié)果是【】。

#include<stdio.h>

longfib(intg)

{switch(g)

{case0:return0;

case1:

case2:return1;}

return(fib(g-1)+fib(g-2));}

main()

{longk;

k=fib(5);

printf("k=%5ld\n",k);}

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

fun(intx)

{staticinta=3;

a+=x;

return(a);

}

main()

{intk=2,m=1,n;

n=fun(k);

n=fun(m);

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

}

37.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。

#include"stdio.h"

main()

{charfun(char,int);

chara=′A′;

intb=13;

a=fun(a,b);

putchar(a);}

charfun(chara,intb)

{chark;

k=a+b;

returnk;}

38.若有說明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數(shù)strcmp(s1,s2)后,結(jié)果是______。

39.函數(shù)fun的返回值是【】

fun(char*a,char*b)

{intnum=0,n=0;

while(*(a+num)!='\0')mm++;

while(b[n]){*(a+num)=b[n];num++;n++;}

returnnum;

}

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

main()

{char*p=“abodefgh”,*r;

long*q;

q=(long*)p;

q++;

r=(char*)q;

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

}

三、1.選擇題(20題)41.若有代數(shù)式“ex+y2+y/x”,則正確的C語言表達(dá)式是()

A.ex+y*y+y/x

B.expx+pow(y,2)+y/x

C.exp(x)+pow(y,2)+y/x

D.ex+y2+y/x

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

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

43.已知inta=1,b=3則a^b的值為

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

44.在以下各標(biāo)識(shí)符中,合法的用戶標(biāo)識(shí)符是()

A.1B.table__1C.0__tD.k%

45.計(jì)算機(jī)系統(tǒng)的組成是______。

A.主機(jī)、外設(shè)B.運(yùn)算器、控制器C.硬件系統(tǒng)和軟件系統(tǒng)D.CPU、內(nèi)存儲(chǔ)器

46.若有說明:inta[][3]={0,0};則不正確的敘述是()。

A.數(shù)組a的每個(gè)元素的初值都是0

B.數(shù)組a的第一維大小為1

C.數(shù)組a的行數(shù)為1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

47.有以下程序

main()

{inti=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

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

}

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

A.123

B.234

C.223

D.233

48.下列程序的輸出結(jié)果是#include"stdio.h"#defineN3#defineM3voidfun(inta[M][N]){printf("%d\n",*(a[1]+2));}main(){inta[M][N];inti,j;for(i=0;i<M;i++)for(j=0;j<N;j++)a[i][j]=i+j-(i-j);fun(a);}

A.3B.4C.5D.6

49.以下敘述中錯(cuò)誤的是

A.gets函數(shù)用于從終端讀入字符串

B.getehar函數(shù)用于從磁盤文件讀入字符

C.fputs函數(shù)用于把字符串輸出到文件

D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件

50.請(qǐng)選出以下程序的輸出結(jié)果______。#include<stdio.h>sub(x,y,z)intx,y*z;{*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}

A.5,23B.-5,-12,7C.-5,-12,-17D.5,2,-7

51.有以下程序:main(){inta[3][3],*P,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);}程序運(yùn)行后的輸出結(jié)果是()。

A.012B.123C.234D.345

52.程序流程圖(PFD)中的箭頭代表的是

A.數(shù)據(jù)流B.控制流C.調(diào)用關(guān)系D.組成關(guān)系

53.有以下程序main()}inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d/n",s);}程序的輸出結(jié)果是

A.409B.277C.1D.91

54.有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;┆}程序在執(zhí)行了c=&b;b=&a;語句后,表達(dá)式**c的值是()。

A.變量a的地址B.變量b中的值C.變量a中的值D.變量b的地址

55.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.structv2;v2.x=10

D.structexamplev2={10};

56.以下程序的輸出結(jié)果是_______。main(){inti;for(i=1;i<6;i++){if(i%2)(printf("#");continue;}printf("*");}printf("\n");}

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

57.下列關(guān)于關(guān)系運(yùn)算的敘述中正確的是()。

A.投影、選擇、連接是從二維表的行的方向來進(jìn)行運(yùn)算

B.并、交、差是從二維表的列的方向來進(jìn)行運(yùn)算

C.投影、選擇、連接是從二維表的列的方向來進(jìn)行運(yùn)算

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

58.有以下程序:#include<stdio.h>main(){chara:'a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序運(yùn)行后的輸出結(jié)果是()。

A.b,bB.b,cC.a,bD.a,c

59.有以下程序voidfun(int*a,inti,intj){int;if(i<j){t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}}main(){inta[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}執(zhí)行后輸出結(jié)果是

A.654321B.432156C.456123D.123456

60.下列關(guān)于線性鏈表的描述中,正確的是()。Ⅰ、只含有一個(gè)指針域來存放下一個(gè)元素地址Ⅱ、指針域中的指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)Ⅲ、結(jié)點(diǎn)由兩部分組成:數(shù)據(jù)域和指針域。

A.僅Ⅰ、ⅡB.僅Ⅰ、ⅢC.僅Ⅱ、ⅢD.全部

四、選擇題(20題)61.以下程序的輸出結(jié)果是()。

A.20B.24C.25D.15

62.

有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",f,95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

63.下列敘述中錯(cuò)誤的是()。A.A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容

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

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

64.以下選項(xiàng)中非法的字符常量是()。

A.\101B.\65C.\xffD.\019

65.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法

66.

67.下面的程序段運(yùn)行后,輸出結(jié)果是()。

A.9B.不確定值C.0D.18

68.(3)在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是______。

A.8

B.16

C.32

D.15

69.

有以下程序,其中函數(shù)f的功能是將多個(gè)字符串按字典順序排序()。

#include<string.h>

voidf(char*p[],intn)

{char*t;inti,j;

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

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

if(strcmp(p[i],p[j]>0){t=p[i];p[i]=p[j];p[j]

=t;}

}

main

{char*P[5]={"abe","aabdfg","abbd","dcd-

be","cd"};

f(p,5);

printf("%d\n",strlen(p[1]));

}

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

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

70.

71.有以下程序:main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}

A.16B.10C.8D.6

72.若已包括頭文件<string.h>且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語句錯(cuò)誤的是()。A.A.strcpy(s1,s2)

B.strcpy(s1,"ABCDE");

C.sl="ABCDE";

D.for(i=0;i<6;i++)sl[i]=s2[i]

73.有下列程序:intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i]:returnsum;}main(){inta[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;s=fun(a,5)+fun(b,4);printf(“%d\n”,s);}程序執(zhí)行后的輸出結(jié)果是()。A.45B.50C.60D.55

74.下列不屬于過程設(shè)計(jì)工具中圖形工具的是()。

A.N—SB.PADC.程序流程圖D.PDL

75.有以下程序

main()

{inti=010,j=0X10;

pirntf("%d,%d\n",i,j);

}

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

A.10,10B.8,10

C.8,16D.10,16

76.設(shè)有定義:

77.執(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

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

A.PDL(過程設(shè)計(jì)語言B.PAD圖C.N—S圖D.DFD圖

79.

已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字堪的表達(dá)式是()。

A.isupper(c)

B.A<=c<=Z

C.A<=c&&c<=Z

D.c<=(z-32)&&(a-32)<=c

80.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為()。

A.20B.0或35C.15D.16

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

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),該函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。

例如,若一維數(shù)組中的數(shù)據(jù)是:

1122234456666778

9910101010

刪除后,數(shù)組中的內(nèi)容應(yīng)該是:

12345678910

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

請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。

試題程序:

參考答案

1.Cf函數(shù)的功能是對(duì)形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。

2.D選項(xiàng)A是復(fù)合的賦值運(yùn)算符,等價(jià)于“k=k-i”,所以k的值為1;選項(xiàng)B中前綴自減運(yùn)算符首先將i的值自減1,然后將自減后的值賦給k,所以k和i的值都是1;選項(xiàng)C中k的值為1;選項(xiàng)D中后綴自減運(yùn)算符將i的值先賦給k,然后i自減1,所以k的值為2。故本題答案為D選項(xiàng)。

3.A函數(shù)fgete()從文件讀入一個(gè)字符到指定變量。函數(shù)fputc()將指定字符寫入審文件中,函數(shù)fprinff(),fwrite()均是寫入文件操作函數(shù)。因此選項(xiàng)B,c。D錯(cuò)誤。答案為A選項(xiàng)。

4.A

5.B

6.B

7.A

8.C解析:CPU讀取和寫人數(shù)據(jù)都是通過內(nèi)存來完成的。

9.B

10.Ct=++x或++y,當(dāng)++x不為0的時(shí)候,即++x為真,則不需要再繼續(xù)判斷++y,那么y就不再執(zhí)行自加,因此y=3.

11.D

12.C在for循環(huán)語句中自變量i從0開始,每次自加2,執(zhí)行s+=*(t+i)語句,因?yàn)镃語言規(guī)定數(shù)組名做表達(dá)式相當(dāng)于數(shù)組的首地址,也就是第一個(gè)元素的地址。因此,*(t+i)代表數(shù)組的第i+1個(gè)元素。所以程序運(yùn)行的結(jié)果是1+3+5+7+9=25,即變量S的值等于25。

13.Cscanf函數(shù)要求為:輸入的變量為地址形式。4個(gè)選項(xiàng)中,C選項(xiàng)符合要求。故本題答案為C選項(xiàng)。

14.B

15.B

16.C解析:主函數(shù)main()定義了指向字符串的指針和一個(gè)字符數(shù)組,接著調(diào)用fun(s,t)函數(shù),進(jìn)行實(shí)參向形參傳遞,函數(shù)fun()第一個(gè)while語句判斷*a中的值為“*”時(shí)繼續(xù)掃描,當(dāng)遇到不是“*”時(shí)結(jié)束,接著第二個(gè)while循環(huán)語句,將*a中從“a”開始的后續(xù)所有字符都賦予*b,也就是t[80]中的內(nèi)容為“a*b****”,所以此題的運(yùn)行結(jié)果為選項(xiàng)C)。

17.Dc語言規(guī)定,一個(gè)字符常量代表ASCII碼字符集里的一個(gè)字符,在群序中用單引號(hào)括起來,以便區(qū)分。'\v'表示的是豎向跳格:'kx2a'表示的是兩位十六迸制數(shù);'a'表示的是字符a對(duì)應(yīng)的ASCII碼值。"\0"用雙引號(hào)故不正確。

18.D“typedefint*(*T[10])[10];”使用typedef定義一種新類型名T,T的類型是二維數(shù)組指針,指向10個(gè)元素的數(shù)組。其中數(shù)組元素類型為int*[10],即數(shù)組的每個(gè)元素又是包含10個(gè)元素的數(shù)組,數(shù)組的元素是整型指針類型。故本題答案為D選項(xiàng)。

19.B#include”文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。

20.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。

21.a=14a=14解析:逗號(hào)表達(dá)式的值是以逗號(hào)分隔的最后一個(gè)表達(dá)式的值。所以題目中的語句a=(3*5,a+4);就等價(jià)于a=a+4;。故本題輸出結(jié)果是a=14。

22.44解析:本題首先判斷a>b的真假,結(jié)果是1>2為假,所以表達(dá)式“a>b?a:c>d?c:d”的值為子表達(dá)式“c>d?c:d”的值。再判斷c>d的真假,結(jié)果是3>4為假,所以最終k被賦的值為d的值,故應(yīng)該填4。

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

24.6060解析:程序中定義a是一個(gè)3行2列的二維數(shù)組,p是指向兩個(gè)元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。

25.實(shí)例將屬性、操作相似的對(duì)象歸為類,也就是說,類是具有共同屬性、共同方法的對(duì)象的集合。所以,類是對(duì)象的抽象,對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。

26.1對(duì)多(或1:N)1對(duì)多(或1:N)

27.33333333解析:本題考查for循環(huán),for(cc=1;cc<=4;cc++)表示循環(huán)4次,a+=3表示每次a的值增加3,但是子函數(shù)中沒有將變量a定義為static類型,所以每次調(diào)用完子函數(shù)之后,變量a所做的改變都不能保存,這樣在下一次調(diào)用子函數(shù)時(shí),a的初值仍是0,所以不管調(diào)用多少次,子函數(shù)輸出始終是3。

28.b=I+1b=I+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2后的和累加至a,所以a的值就是110之間的偶數(shù)之和;b的值是111之間的奇數(shù)和,但在輸出b值時(shí),c去掉多加的11,即為110之間的奇數(shù)之和。

29.繼承繼承

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

31.return0return1return0,return1解析:如果a能被i整除,則a是素?cái)?shù),返回值為0。如果a不能被i整除,則a不是素?cái)?shù),返回值為1。

32.11解析:本題考查的是基本賦值運(yùn)算符和賦值表達(dá)式。a-=(b-5)等價(jià)于a=a-(b-5)=4,c=a=4;a%3=1,c=(a%3)+(b=1)=2,其中b的值被b=1確定為1。

33.3030解析:當(dāng)i=0時(shí),s=0+a[0][0]+a[0][2]=10;i=1時(shí),s=10+a[1][1]+a[1][1]=18;i=2時(shí),s=18+a[2][2]+a[2][0]=30。

34.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=POW(x+y)=(2+3)*(2+3)=25。

35.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或g=1或g=2是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。

36.6

37.NN解析:函數(shù)說明語句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符'A'的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。

38.-1-1解析:strcmp(s1,s2)函數(shù)的作用是:對(duì)字符數(shù)組s2和字符數(shù)組s1進(jìn)行比較。如果s1<s2,則返回負(fù)數(shù);如果s1==s2,則返回0;如果s1>s2,則返回正數(shù)。

39.字符串a(chǎn)和b的長度之和字符串a(chǎn)和b的長度之和解析:本題首先通過第一個(gè)while循環(huán)計(jì)算字符串a(chǎn)的長度,再通過第二個(gè)循環(huán),將字符串a(chǎn)和b相連,最后返回連接后的總長度。

40.efghefgh解析:本題定義了一個(gè)字符型指針變量p并通過賦初值讓它指向了一個(gè)字符串,定義了另一個(gè)字符型指針變量r和一個(gè)長整型指針變量q。首先通過語句“q=(long*)p;”把P的地址值強(qiáng)制轉(zhuǎn)換為長整型地址值并賦值給q,然后執(zhí)行“q++;”,地址值增加了4,執(zhí)行語句“r=(char*)q;”,把長整型指針變量q的值再強(qiáng)制轉(zhuǎn)換成字符型地址值并賦給r,r的值應(yīng)為字符串中字符“e”的地址,最后輸出,指向的字符中,是“efgh”。

41.C

42.CC?!窘馕觥繑?shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DBS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺(tái)和軟件平臺(tái)五個(gè)部分組成,可見DB和DBMS都是DBS的組成部分。

43.C解析:^是按位異或運(yùn)算,如果對(duì)應(yīng)位不同則結(jié)果為1,相同則為0。

44.B

45.C

46.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大小;當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。

47.D解析:根據(jù)優(yōu)先級(jí)順序,先計(jì)算內(nèi)層括號(hào)的值。j自加1等于3,所以++j==3成立,表達(dá)式為1,由于1“|”任何數(shù)都為1,所以不用計(jì)算“||”后面的表達(dá)式,所以k=3,最后計(jì)算“&&”之前的表達(dá)式,i先進(jìn)行判斷再自加1,所以i++==1成立,自加1后i=2。if語句的條件為“1”,所以輸出i、j、k的值分別是2,3,3。

48.B解析:若有以下定義:inta[3][4],i,j;且當(dāng)0<=i<3,0<=j<4,則可以有以下幾種方式來引用數(shù)組中的第i行,第j列的元素:

a[a][j],*(a[i]+j),*(*(a+i)+j),(*(a+i)[j],*(&a[0][0]+4*i+j)”。

49.B

50.B解析:sub()函數(shù)的作用是將形參y和x的差賦給了z指向的那個(gè)內(nèi)存地址,所以在sub(10,5,&a),10和5屬于值傳遞,a是屬于地址傳遞,也就是a與z指向了同一個(gè)存儲(chǔ)單元,在執(zhí)行函數(shù)后,a的值隨*z變化,所以此次函數(shù)被調(diào)用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化其值為-5-7=-12,在sub(a,b,&c)后,c的值發(fā)生變化,其值為-12-(-5)=-7。

51.D解析:本題的考點(diǎn)是C語言的指針。p指向二維數(shù)組a的首地址,而二維數(shù)組是按行存放的。因此“。for(i=0;i<9;i++)p[i]=i;”的結(jié)果是等價(jià)于a[3][3]={0,1,2,3,4,5,6,7,8},也就是a[3][3]={{0,1,2),{3,4,5),{6,7,8}}。因此a[1][i](i=0,1,2)的結(jié)果是3、4、5。輸出結(jié)果應(yīng)該是:345。

52.B解析:程序流程圖(PFD)是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計(jì)表示工具,通常也稱為程序框圖,其箭頭代表的是控制流。

53.D解析:本題是計(jì)算50之內(nèi)的自然數(shù)相加之和,題中if語句括號(hào)中的條件表達(dá)式!(i%5)&&!(i%3)表明只有能同時(shí)被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個(gè)條件的只有15、30和45,因?yàn)閟的初始值為1,所以s=1+15+30+45=91。

54.C解析:本題考查指向指針的指針。*c表示c間接指向的對(duì)象的地址,而**c是c間接指向的對(duì)象的值。在c*&b中,已經(jīng)把b的地址存放在c里了,*c就指向了b的地址,而b里存放的就是a的地址,那么**c應(yīng)該是變量a的值。也可以用排除法排除選項(xiàng)A),B)。由b=&a可知,這兩個(gè)選項(xiàng)是同一個(gè)意思,變量b中的值就是變量a的地址。所以可以排除。

55.D解析:在定義結(jié)構(gòu)體變量時(shí),不能只用結(jié)構(gòu)體名example或關(guān)鍵字struct進(jìn)行定義,必需要用結(jié)構(gòu)缽類型名structexample定義,在引用結(jié)構(gòu)體成員變量時(shí),需要用結(jié)構(gòu)體變量名進(jìn)行引用,所以選D。

56.A解析:i從i到5循環(huán)5次,i為1時(shí),滿足條件,打印輸出“#”;i為2時(shí),條件為假,打印輸出“*”。也就是說,當(dāng)i為奇數(shù)時(shí),條件為真,程序打印輸出“#”,否則,輸出:“*”。

57.C解析:在關(guān)系模型的數(shù)據(jù)語言中,一般除了運(yùn)用常規(guī)的集合運(yùn)算(并、交、差、笛卡爾積等)外,還定義了一些專門的關(guān)系運(yùn)算,如投影、選擇、連接等運(yùn)算。前者是將關(guān)系(即二維表)看成是元組的集合,這些運(yùn)算主要是從二維表的行的方向來進(jìn)行的;后者主要是從二維表的列的方向來進(jìn)行運(yùn)算。因此,選項(xiàng)A與B中的說法都是錯(cuò)誤的,而選項(xiàng)C中的說法是正確的。

58.A解析:程序中pdntf('%c',++a)是先將a加1,再輸a,因此輸出的是\'b\',而pfintf('%c\\n',b=a++)是先將a的值賦給b,a再加1,所以輸出的也是\'b\'。

59.A解析:函數(shù)fun()中有3個(gè)參數(shù),參數(shù)。為一個(gè)指針變量,接收的實(shí)參可以是數(shù)組名,參數(shù)i和j分別表示數(shù)組元素的下標(biāo),當(dāng)下標(biāo)i小于下標(biāo)j時(shí),a[i]和a[j]交換,然后對(duì)自身進(jìn)行調(diào)用,可見這是一個(gè)遞歸函數(shù)。其實(shí)現(xiàn)的功能是把數(shù)組a,從下標(biāo)為i的元素到下標(biāo)為j的元素之間的所有元素反序存放。在主函數(shù)中調(diào)用fun()函數(shù),把a(bǔ)數(shù)組從a[0]到a[5]之間的所有元素反序存放,最后輸出從a[1]到a[5]的值,因此輸出的值為6、5、4、3、2、1。

60.D解析:在定義的鏈表中,若只含育一個(gè)指針域來存放下一個(gè)元素地址,稱這樣的鏈表為單鏈表或線性鏈表。在鏈?zhǔn)酱鎯?chǔ)方式中,要求每個(gè)結(jié)點(diǎn)由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域:另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)。

61.D第一次循環(huán)結(jié)束:a=1,i=1;第二次循環(huán)結(jié)束:a=3,i=2;第三次循環(huán)結(jié)束:a=6,i=3;第四次循環(huán)結(jié)束:a=10,i=4;第五次循環(huán)結(jié)束:a=15,i=5;結(jié)束:a=15;

62.Cf函數(shù)的功能是對(duì)形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。

63.A如果是static修飾的靜態(tài)變量,不是每次調(diào)用賦初值。

64.D在選項(xiàng)中,\\019,以0開頭的數(shù)都為八進(jìn)制數(shù),而八進(jìn)制的表示數(shù)字是0~7,所以答案選擇D。

65.B在計(jì)算機(jī)中,算法被定義為對(duì)一個(gè)問題求解步驟的一種描述,是求解問題的方法,它是指令的有限序列,其中每條指令表示一個(gè)或者多個(gè)操作。算法具有有窮性、確定性、可行性、輸入和輸出五大特點(diǎn)。

在本題中,選項(xiàng)A、C、D的說法明顯偏離了算法的定義,因此正確答案選B。

66.C

67.C本題主要考查的是用二維數(shù)組首地址和

下標(biāo)來引用二維數(shù)組元素的方法。通過分析可知,程序中的雙重循環(huán)定義了一個(gè)如下的二維數(shù)組:

012

234

456

簪由于數(shù)組的下標(biāo)是從0開始的,所

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論