2022-2023年安徽省巢湖市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第1页
2022-2023年安徽省巢湖市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第2页
2022-2023年安徽省巢湖市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第3页
2022-2023年安徽省巢湖市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第4页
2022-2023年安徽省巢湖市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022-2023年安徽省巢湖市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.下列程序的运行结果是()。

#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.有以下函数:intfun(char*x,char*y){intn=0;.while((*x==*y)&&*x!="\0){x++;y++;n++;}returnn;}函数的功能是()。

A.将y所指字符串赋给x所指存储空间

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

C.统计x和y所指字符串中最前面连续相同的字符个数

D.统计x和y所指字符串中相同的字符个数

5.下面软件中,属中应用软件的是()

A.UnixB.人事管理系统C.数据库管理理系统D.DOS

6.有以下程序:

程序运行后的输出结果是()。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.数据库设计包括两个方面的设计内容,它们是()

A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计

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));}程序执行后的输出结果是()。A.7B.3C.2D.0

15.设有以下定义则下面语句中错误的是()。A.a++;B.b++C.c++;D.d++;

16.判断一个循环队列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数组值()

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.设有表示学生选课的三张表,学生s(学号,姓名,性别,年龄,身份证号),课程c(课号,课名),选课SC(学号,课号,成绩),则表sc的关键字(键或码)为()。

A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩

19.在软件设计中,不属于过程设计工具的是()。

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

20.在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是()。

A.G中有弧

B.G中有一条从Vi到Vj的路径

C.G中没有弧

D.G中有一条从Vj到Vi的路径

二、2.填空题(20题)21.以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输人数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是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.下列程序的输出结果是【】。

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函数的功能是【】。

24.有以下程序

main()

{intt=1,i=5;

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

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

}

执行后输出结果是______。

25.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,______是用户的数据视图,也就是用户所见到的数据模式。

26.若运行输入:3<回车>,则以下程序的输出结果是()。main(){inta,b;scanf("%d",&A);b=(a>=0)?a:-a;printf("b=%d",B);}

27.解题方案的准确而完整的描述称为______。

28.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【】。

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

30.与结构化需求分析方法相对应的是【】方法。

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

32.某二叉树中度为2的结点有n个,则该二叉树中有【】个叶子结点。

33.以下程序运行后的输出结果是【】。

mam()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2=0)

*p='*';

p++;i++;

}

puts(A);

}

34.数据结构包括数据的逻辑结构、数据的【】以及列数据的操作运算。

35.以下程序的输出结果是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.数据结构包括数据的逻辑结构、数据的【】以及对数据的操作运算。

37.设有以下定义的语句:

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

p=a;

则*(*(P+2)+1)值为【】。

38.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于【】的联系。

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);}程序运行后的输出结果是()。

40.在算法的4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的______特性。

三、1.选择题(20题)41.软件测试与排错是两类相互联系而又性质不同的活动,在下述项目中,不具有排错活动特征的项目是______。

A.修改程序B.运用推理和归纳的方法C.了解程序细节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);

}

程序的运行结果是

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy

43.对线性表进行二分查找,要求线性表为______。

A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且要求数据元素有序D.以链接方式存储,且要求数据元素有序

44.若有如下调用函数:intsub(int*t){return(t);}该函数的返回值是()

A.形参t中存放实参变量的地址值B.形参t自身的地址值C.指针变量t所指的实参变量的值D.随机的值

45.要求通过while循环不断读入字符,当读入字母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;,则以下选项中各程序段执行后,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.当说明一个结构体变量时系统分配给它的内存是()。

A.各成员所需要内存量的总和

B.结构中第一个成员所需的内存量

C.成员中占内存最大者所需的容量

D.结构中最后一个成员所需要的内存量

48.数据的存储结构是指()。

A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示

49.有定义语句:inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,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.当a=1、b=2、c=3、d=4时,执行下面程序段后,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.下面的关键字中,不能够从循环体中跳到循环体外的是______。

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");}程序运行后的输出结果是______。

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);}程序执行后的输出结果是()。

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

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

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

55.有三个关系R、s和T如下:

由关系R和s通过运算得到关系T,则所使用的运算为()。

A.并B.自然连接C.笛卡尔积D.交

56.有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是()。

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);则输出结果是()。

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

58.下列模式中,能够给出数据库物理存储结构与物理存取方法的是A.内模式B.外模式C.概念模式D.逻辑模式

59.有以下程序main(){intm=0256,n=256;printf("%o%o\n",m,n);}程序运行后的输出结果是

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

60.下列程序的输出结果是()。#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.以下程序段中的变量已正确定义:

程序段的输出结果是()。

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.有以下函数:

该函数的功能是()。

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

B.比较两个字符串的大小

C.计算s所指字符串占用内存字节的个数

D.将s所指字符串复制到字符串t中

64.以下不合法的数值常量是()。

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

65.有以下程序:

在VC6.0平台上编译运行,程序运行后的输出结果是()。

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

66.(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是()

A.内模式

B.外模式

C.概念模式

D.逻辑模式

67.

68.串的长度是______。A.A.串中不同字符的个数

B.串中不同字母的个数

C.串中所含字符的个数且字符个数大于零

D.串中所含字符的个数

69.若有定义:“int*P,x=0,*p,p=&x;”,则语句“printf("%d\n",*p);”的输出结果是()。

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<回车>

则输出结果是()。

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

71.以下叙述中错误的是()。

A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B.数组名代表的是数组所占存储区的首地址,其值不可改变

C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D.可以通过赋初值的方式确定数组元素的个数

72.

73.以下定义语句中正确的是()。

74.在HTML页面中哪些部分能够插入JavaScript?

A.<body>部分

B.<head>部分

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

D.<title>部分

75.(47)在结构化方法中,软件功能分解属于下列软件开发中的阶段是()

A.详细设计

B.需求分析

C.总体设计

D.编程调试

76.

77.数据流程图(DFD)是()。

A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具

78.下列叙述中错误的是()。

A.数据库管理系统是数据库的核心

B.数据库系统由数据库、数据库管理系统、数据库管理员三部分组成

C.数据共享最好的是数据库系统阶段

D.数据库中的数据独立于应用程序而不依赖于应用程序

79.

当执行下面的程序时,如果输入ABC,则输出结罘是()。

#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.下列给定程序中,函数proc()的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下:

x1=(xO+a/xO)/2

例如,3的平方根为1.732051。

请修改程序中的错误,使它能得出正确的结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

试题程序:

六、程序设计题(1题)82.规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为“****A*BC*DEF*G****”,删除后,字符串中的内容应当是“ABCDEFG”。注意:部分源程序给出如下。请勿改动maini)函数和其他函数中的任何内容,仅在函数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语句,先判断条件,发现a<b条件成立,执行下列的语句;第2个if语句,先判断条件,发现b!=3条件成立,执行下列的语句:第3个if语句,先判断条件,c=5,则!c条件不成立,执行与其配对的else语句:第4个if语句,先判断条件,d=0,条件不成立,则x=-1,结束循环。

2.C解析:本题考查的知识点是赋值语句的基本知识。在表达式的运算中,双目赋值运算符的格式为“变量二表达式”,单目运算符一般形式为“运算符表达式”或“表达式运算符”。常量和表达式是不能被赋值的。选项A为复合表达式,首先计算(i=2,++i)的值,然后赋值给n,故选项A正确;选项B为简单自加运算,故选项B正确;选项C在表达式++(i+1);中,(i+1)不是变量,该表达式的值为常量,而在++运算中,其运算对象必须为变量,故选项C错误;选项D中为复合赋值表达式,正确.所以应当选择C。

3.A解析:以下几种算法的时间复杂度分别为:冒泡排序(n2);选择排序(n2);快速排序(nlog2n);归并排序(nlog2n)。当排序元素序列基本有序的情况下,冒泡排序的交换次数为0,只是顺序扫描数据而已,所以其效率是最高的。

4.C本题中由循环条件可知遇到“0或x与y所指的字符的值不等中的一个条件时就结束,所以功能是统计x和y所指字符串中最前面连续相同的字符个数。

5.B

6.D条件表达式形式:表达式1?表达式2:表达式3。当表达式1的值为非零值时,整个表达式的值是表达式2的值;当表达式1的值为零值时,整个表达式的值是表达式3的值。题干中的表达式是嵌套的条件表达式w﹤x?w:z﹤y?z:x,等价于w﹤x?w:(z﹤y?z:x)。由于w取值为4,x取值为3,所以w﹤x的值为零值,整个表达式的值为z﹤y?z:x,z取值为1,y取值为2,所以z﹤y的值为非零值,整个表达式的值为z的值1。本题答案为D选项。

7.B

8.BA选项去掉花括号后,赋值正确;C选项和D选项应在定义时赋初值,因为数组名相当于常量,不能重新赋值。故本题答案为B选项。

9.D

10.A解析:模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计,从而实现从逻辑结构到物理结构的转换。从系统开发的角度来看,结构特性设计和行为特性-设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式(静态特性):行为特性的设计,改变实体及其特性,决定数据库系统的功能(动态特性)。

11.A本题综合考查字符数组的赋值和strcpy函数的用法。C语言不允许用赋值表达式对字符数组赋值,如下面的语句就是非法的:str1='China',如果想把“China”这5个字符放到数组str1中,除了逐个输入外,还能使用strcpy函数,该函数的功能是将一个字符串复制到一字符数组中。例如,strcpy(str1,'China');或strcpy(str1,str2);注意,不能企图用以下语句来实行赋值(将str2的值传给str1):str1=str2;不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。

strcpy函数的结构是:strcpy(字符数组1,字符串2)

其中,需要注意的是,字符数组1的长度不应小于字符串2的长度,“字符数组1”必须写成数组名形式,如(str1),“字符串2”可以是字符数组名,也可以是字符串常量,不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。

12.D

13.A

14.C在函数funlintx)中,有个if语句判断,如果参数x等于0或1时,返回值,否则进入下面的p=x-fun(x-2)递归函数。当在主函势中调用fun(7)时,其过程为:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的输出结果为2。

15.D

16.B

17.A

18.C学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C项。

19.B常见的过程设计工具有图形土具(程序流程图、N—S图、PAD图、HIP0图)、表格工具(判定表)和语言工具(PDL)。DFD是数据流图,是描述数据处理过程的工具。

20.D若G中有一条从Vj到Vi的路径,则图的拓扑序列中顶点Vj在顶点Vi之前。设G(V,E)是一个具有n个顶点的有向图,V中顶点的序列v1,v2,…,vn称为一个拓扑序列,当且仅当该顶点满足下列条件:若在有向图G中,从顶点vi在vj有一条路径,则在拓扑序列中顶点vi必须排在顶点vj之前。

21.structlist*q

22.5656解析:本题中a,b,c,d足实参,x,y,cp,dp是形参。C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。因此,程序的输出结果是56。

23.字符串的比较strcmp函数的原型是intstrcmp(char*s1,char*s2);功能是对s1和s2所指字符串进行比较,若s1<s2返回负数,若s1==s2返回0,若s1>s2返回正数。

24.00解析:本题中的for循环共执行了6次,每执行一次将相应i的值相乘,最后当i=-1时停止循环.该for循环执行完后t的值为5*4*3*2*1*0=0,故最后输出I的值为0。

25.外模式外模式解析:数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物理模式给出了数据库的物理存储结构和存取方法;概念模式是数据库系统中全局数据逻辑结构的描述;外模式是用户的数据视图,也就是用户所见到的数据模式。

26.b=3b=3解析:条件表达式的基本格式为:“表达式1?表达式2:表达式3”;其功能是:表达式1的值若非0,则计算表达式2的值,且为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。因为a=3,则a>=0成立,所以b=a=3。

27.算法算法解析:算法是指对解题方案的准确而完整的描述。

28.物理独立性物理独立性解析:数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为物理独立性。

29.1020010200解析:本题考查的是混合运算。“(a/b<1)&&(a%b<1)”的运算顺序为:括号>算术运算符>关系运算符>逻辑运算符。其中a%b=10,a,b=0,所以a%b<1的值为0,a/b<1的值为1,故整个表达式的结果为0,所以输出的a,b,c的值为10200。

30.结构化设计结构化设计解析:与结构化需求分析方法相对应的是结构化设计方法。结构化设计就是采用最佳的可能方法设计系统的各个组成部分以及各个成分之间的内部联系的技术。

31.JD

32.n+1n+1解析:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为0的结点多一个。

33.*2*4*6*8**2*4*6*8*解析:程序中定义了一个字符数组a,并初始化为123456789,接着定义了一个指针p并让它指向数组a,紧接着执行了一个while循环,此循环的作用是:当i为偶数时,将“*”赋给a[i],p指向数组末尾,循环结束,此时数组中a[0]、a[2]、a[4]、a[6]和a[8]的值都为“*”,所以最后调用puts()函数输出的a的值为*2*4*6*8*

34.存储结构存储结构解析:数据结构包括3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。

35.4.44.4解析:a/2=9/2=4,1/2=0,于是根据输出结果就有下列等式:z=4+2*x/1.1=12.0,化简后,为x/1.1=4,x=4.4。

36.存储结构数据结构包括3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。

37.6060解析:p是指向整型数组的指针变量,p=a使得p指向数组a的第1行。p+2是数组a第3行的地址,*(p+2)是数组a第3行{50,60},其实*(p+2)为数组a第3行的首地址,*(p+2)+1为数组a第3行第2个元素的地址,那么*(*(P+2)+1)就是数组a第3行第2个元素,即60。

38.一对多(或1∶N)一对多(或1∶N)解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有3种,即一对一(1∶1)的联系、一对多(1∶N)或多对一(N∶1)的联系和多对多(N∶N)的联系。

39.23

40.有穷性有穷性解析:算法的4个基本特性包括:可靠性、确定性、有穷性和拥有足够的情报,其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。

41.D解析:测试和排错是互相联系但又是性质不同的两类活动,排错的主要特征包括;修改程序错误,推理和归纳,了解程序细节。而“运用测试实例”是具有测试活动的特征。

42.D解析:本题中fun函数实现丁字符串函数str-eat的功能,将字符串aa连接到字符串ss的末尾。调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结束符的位置,第二个while循环将字符串aa中的字符(包括结束符'\\0')逐个复制到字符串ss的末尾处。

43.C解析:二分查找的前提是线性表以顺序存储,且数据元素有序。

44.A

45.A解析:因为while是以条件为假时结束循环,因此选项C、D不正确。“!=”的优先级比“=”高,因此“ch=getchar()!='N'”相当于“ch=(getchar!='N')”,ch并不能得到输入的字符,只能得到true或者false值。

46.C解析:选项A中表达式c<a(即3<1)的值为假,所以执行elseif(b<a),因b<a不成立,结果为假,因此执行else语句x=3;,得x=3;选项B中表达式a<3(即1<3)成立,故执行语句x=3;,else后的语句不再执行,故x=3;选项D中首先执行if(a<b),因a<b即1<2成立。得x=b=2,然后执行if(b<c),因2<3成立,得x=c=3,执行if(c<a),因3<1不成立,语句x=a;不被执行,敞x=3;选项C中因a<3成立,故得x=3,执行if(a<2)因a<2成立,得x=2,执行if(a<1),因a<1不成立,故语句x=1;不被执行,所以x=2。

47.A解析:本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。

48.D数据的逻辑结构是指数据元素之间的逻辑关系的数据结构。数据的存储结构则是数据的逻辑结构在计算机中的物理实现,有时也称作数据的物理结构。两者的区别是数据的逻辑结构只涉及到数据之间抽象的数学关系。存储结构则涉及到如何在计算机中通过对数据的物理存储进行组织来表达数据元素之间的逻辑关系。比如在线性表的顺序存储中是利用物理存储空间上的连续性来表达线性表中数据的前后件关系;在线性表的链式存储中是通过指针域构成的逻辑链条来表达数据的前后件关系。一般的,一种数据的逻辑结构对应的物理实现,即数据的存储结构不止一种。因此选项D正确。

49.C解析:选项A首先判断if语句条件中表达式的值“3<1”为假,然后执行最近的else后面的语句,该else后面又为if-else语句,在这个if-else语句中首先判断该if语句条件中表达式的值“2<1”为假,程序执行其最近的else后面的语句,将3赋值给x。

选项B中首先判断if语句条件中表达式的值“1<3”为真,然后执行最近的else后面的语句“x=3”,后面的else不再执行,最后x的值为3。

选项C中,首先执行第一条if语句,由于“1<3”为真,执行此if后面的语句“x=3”,接着执行第二条if语句,由于“1<2”为真,执行此if后面的语句“x=2”,接着执行第三条if语句,由于“1<1为假,后面的语句不执行,所以最后的x值为2不为3。

选项D中;首先执行第一条if语句,由于“a<b”为真,执行此if后面的语句“x=b”;接着执行第二条if语句,由于“b<c”,为真,执行此if后面的语句“x=c”,接着执行第三条if语句,由于“c<a”为假,后面的语句不执行,所以最后的x值为c即为3。

50.A

51.B解析:在C语言中,可以用break语句和continue语句跳出本层循环和结束本次循环。goto语句可跳出多层循环,如果在函数的循环体内使用return语句,就会直接结束循环返回函数值。

52.A解析:本题中第一次执行for循环后,数组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;第二次执行for循环后,数组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()函数,函数中定义了一个临时字符变量t,然后将形参指针x所指内容存入t,再将形参指针y所指内容存入到x所指内容中,最后将临时变量t的内容存入到y所指内容中。所以该函数实现的是:交换两个字符指针所指向的内容。在主函数中,首先定义了两个字符指针s1和s2,同时用字符串'abc'和'123”来初始化它们,此时它们指向的是两个字符串的第1个字符。所以,在调用完swap()函数后,彼此交换了两个字符串的第1个字符,最后输出结果为1bc,a23。故应该选择C。

54.B解析:考查指向字符串的指针变量。在该题中,指针变量p指向的应该是该字符串中的首地址,p+3指向的是字符串结束标志'\\0'的地址,因而。(p+3)的值为0。

55.D关系R与s经交运算后所得到的关系是由那些既在R内又在S内的共有元组组成的,记为RnS。

56.C解析:本题在定义字符数组时没有定义数组长度,但用字符常量给数组赋了初值,这时初值的个数即为数组的长度,故数组长度为6(包括'\\0')。字符串的长度为有效字符的个数5。strlen(s)返回值为串中字符的个数(不计最后的'\\0'),则输出值为5。sizeof(s)计算数组所占的字节数,包含'\\0',则输出值为6。因此,C选项正确。

57.D解析:本题考查指针变量的赋值。

**pp是定义了一个指向指针的指针变量,语句pp=&p的意思是将pp指向指针p,*p和**pp都是指针p所指的内存空间的内容,即b的值。

58.A数据库管理系统的三级模式结构由外模式、模式和内模式组成。

外模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式,或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。外模式是模式的一一部分。内模式,或存储模式,或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。

59.C解析:程序中定义了两个整型变量,一个用八进制表示,一个用十进制表示,输出语向中要求m,n都为八进制输出,显然m原样输出为256,n的值转换为八进制输出(256的八进制为400),故输出400.所以,4个选项中选项C符合题意。

60.A解析:转义字符'\\n'表示换行,'\\\\'表示反斜杠,函数strlen()是计算字符串的长度,不包括文件结束标志('\\0'),函数sizeof()统计字符串所占的字节数。

61.D本题考察for循环语句,注意第二个for语句的后面有一个分号,即printf函数不属于循环体,无论循环执行多少次,printf(”*”)语句只执行一次。因此,本题正确答案为D)。

62.A%取余操作数只能是整数,x+n和数值5不能作为赋值的左值,NC2B)、C)、D)错误。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论