计算机二级笔试强化练习5.docx

上传人:b****5 文档编号:8029498 上传时间:2023-01-28 格式:DOCX 页数:22 大小:46.80KB
下载 相关 举报
计算机二级笔试强化练习5.docx_第1页
第1页 / 共22页
计算机二级笔试强化练习5.docx_第2页
第2页 / 共22页
计算机二级笔试强化练习5.docx_第3页
第3页 / 共22页
计算机二级笔试强化练习5.docx_第4页
第4页 / 共22页
计算机二级笔试强化练习5.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

计算机二级笔试强化练习5.docx

《计算机二级笔试强化练习5.docx》由会员分享,可在线阅读,更多相关《计算机二级笔试强化练习5.docx(22页珍藏版)》请在冰豆网上搜索。

计算机二级笔试强化练习5.docx

计算机二级笔试强化练习5

 

一、选择题

在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)算法的空间复杂度是指

A)算法程序的长度

B)算法程序中的指令条数

C)算法程序所占的存储空间

D)执行算法需要的内存空间

(2)在结构化程序设计中,模块划分的原则是

A)各模块应包括尽量多的功能

B)各模块的规模应尽量大

C)各模块之间的联系应尽量紧密

D)模块内具有高内聚度、模块间具有低耦合度

(3)下列叙述中,不属于测试的特征的是

A)测试的挑剔性

B)完全测试的不可能性

C)测试的可靠性

D)测试的经济性

(4)下面关于对象概念的描述中,错误的是

A)对象就是C语言中的结构体变量

B)对象代表着正在创建的系统中的一个实体

C)对象是一个状态和操作(或方法)的封装体

D)对象之间的信息传递是通过消息进行的

(5)下列关于队列的叙述中正确的是

A)在队列中只能插入数据

B)在队列中只能删除数据

C)队列是先进先出的线性表

D)队列是先进后出的线性表

(6)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是

A)acbed

B)decab

C)deabc

D)cedba

(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为

A)n+1

B)n-1

C)2n

D)n/2

(8)设有如下三个关系表

RST

ABCABC

m13m13

nn13

下列操作中正确的是

A)T=R∩S

B)T=R∪S

C)T=R×S

D)T=R/S

 

(9)下列叙述中,正确的是

A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系

B)用E-R图只能表示实体集之间一对一的联系

C)用E-R图只能表示实体集之间一对多的联系

D)用E-R图表示的概念数据模型只能转换为关系数据模型

(10)下列有关数据库的描述,正确的是

A)数据处理是将信息转化为数据的过程

B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变

C)关系中的每一列称为元组,一个元组就是一个字段

D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字

(11)C语言规定,在一个源程序中,main函数的位置

A)必须在最开始

B)必须在系统调用的库函数的后面

C)可以任意

D)必须在最后

(12)以下叙述中错误的是

A)计算机不能直接执行用C语言编写的源程序

B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件

C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件

D)后缀为.obj和.exe的二进制文件都可以直接运行

(13)下列选项可以正确表示字符型常量的是

A)′\r′

B)"a"

C)"\897"

D)296

(14)以下叙述中正确的是

A)构成C程序的基本单位是函数

B)可以在一个函数中定义另一个函数

C)main()函数必须放在其他函数之前

D)C函数定义的格式是K&R格式

(15)设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

以下所示的输入形式中正确的是(注:

□代表空格字符)

A)10□X□20□Y<回车>

B)10□X20□Y<回车>

C)10□X<回车>

20□Y<回车>

D)10X<回车>

20Y<回车>

(16)若有说明:

int*p,m=5,n;,以下正确的程序段是

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

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

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

D)p=&n;*p=m;

(17)在执行下述程序时,若从键盘输入6和8,则结果为

main()

{inta,b,s;

scanf("%d%d",&a,&b);

s=a

if(a

s=b;

s*=s;

printf("%d",s);}

A)36

B)64

C)48

D)以上都不对

(18)若执行下面的程序时,从键盘输入5和2,则输出结果是

main()

{inta,b,k;

scanf("%d,%d",&a,&b);

k=a;

if(a

elsek=b%a;

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

A)5

B)3

C)2

D)0

(19)在C语言中,函数返回值的类型最终取决于

A)函数定义时在函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时主调函数所传递的实参类型

D)函数定义时形参的类型

(20)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。

以下不能将变量c中的大写字母转换为对应小写字母的语句是

A)c=(c-′A′)%26+′a′

B)c=c+32

C)c=c-′A′+′a′

D)c=(′A′+c)%26-′a′

(21)以下选项中,当x为大于l的奇数时,值为0的表达式是

A)x%2==1

B)x/2

C)x%2!

=0

D)x%2==0

(22)有以下程序

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:

n+=1;k--;break;

default:

n=0;k--;

case2:

case4:

n+=2;k--;break;

}

printf("%d",n);

}while(k>0&&n<5);

}

程序运行后的输出结果是

A)235

B)0235

C)02356

D)2356

(23)有如下程序

main()

{intn=9;

while(n>6){n--;printf("%d",n);}}

该程序的输出结果是

A)987

B)876

C)8765

D)9876

(24)有以下程序

#include

main()

{intc;

while((c=getchar())!

=′\n)

{switch(c-′2′)

{case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

case4:

putchar(c+3);break;}}

printf("\n")}

从第一列开始输入以下数据代表一个回车符。

2743

程序的输出结果是

A)66877

B)668966

C)6677877

D)6688766

(25)有以下程序

main()

{intx=0,y=0,i;

for(i=1;;++i)

{if(i%2==0){x++;continue;}

if(i%5==0){y++;break;}}

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

程序的输出结果是

A)2,1

B)2,2

C)2,5

D)5,2

(26)有以下程序

main()

{inta[4][4]={{l,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;

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

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

for(k=j+1;k<4;k++)

if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/

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

}

程序运行后的输出结果是

A)1,6,5,7,

B)8,7,3,1,

C)4,7,5,2,

D)1,6,2,1,

(27)有以下程序

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)+1;}

main()

{inti,j=0;

for(i=1;i<3;i++)j+=f(i);

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

程序运行后的输出结果是

A)4

B)3

C)2

D)1

(28)当运行以下程序时,从键盘输入AhaMA(空格)Aha,则下面程序的运行结果是

#include

main()

{chars[80],c=′a′;

inti=0;

scanf("%s",s);

while(s[i]!

=′

{if(s[i]==c)s[i]-32;

elseif(s[i]==c-32)s[i]=s[i]+32;

i++;}

puts(s);}

A)ahaMa

B)AbAMa

C)AhAMa[空格]ahA

D)ahAMa[空格]ahA

(29)下面程序输出的结果是

main()

{inti;

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

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

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

A)159

B)753

C)357

D)591

(30)现有如下程序段

#include"stdio.h"

main()

{inta[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};

inti=0,j=5;

printf("%d\n",*(&a[0][0]+2*i+j-2));}

则程序的输出结果为

A)21

B)78

C)23

D)28

(31)请选出正确的程序段

A)int*p;

scanf("%d",p);

B)int*s,k;

*s=100;

C)int*s,k;

char*p,c;

s=&k;

p=&c;

*p=′a′;

D)int*s,k;

char*p,e;

s=&k;

p=&c;

s=p;

*s=1;

(32)下面程序段的运行结果是

chara[]="lanuage",*p;

p=a;

while(*p!

=′u′){printf("%c",*p-32);p++;}

A)LANGUAGE

B)language

C)LAN

D)langUAGE

(33)以下程序的输出结果是

#include

inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;

main()

{p=(int*)malloc(sizeof(int));

f(p,a);

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

free(p);}

f(int*s,intp[][3])

{*s=p[1][1];}

A)1

B)4

C)7

D)5

(34)有以下程序

voidf(int*q)

{inti=0;

for(;i<5;i++)(*q)++;

}

main()

{inta[5]={1,2,3,4,5},i;

f(a);

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

}

程序运行后的输出结果是

A)2,2,3,4,5,

B)6,2,3,4,5,

C)1,2,3,4,5,

D)2,3,4,5,6,

(35)以下合法的字符型常量是

A)′\x13′

B)′\081′

C)′65′

D)"\n"

(36)有以下语句,则对a数组元素的引用不正确的是

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

A)a[p-a]

B)*(&a[i])

C)p[i]

D)*(*(a+i))

(37)有以下程序

#include

main()

{charp[20]={′a′,′b′,′c′,′d′},q[]="abc",r[]="abcde";

strcat(p,r);strcpy(p+strlen(q),q);

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

}

程序运行后的输出结果是

A)9

B)6

C)11

D)7

(38)在C语言中,变量的隐含存储类别是

A)auto

B)static

C)extern

D)无存储类别

(39)以下程序的输出结果是

main()

{intc=35;printf("%d\n",c&c);}

A)0

B)70

C)35

D)1

(40)有以下程序

#include

main()

{FILE*fp;inti=20,j=30,k,n;

fp=fopen("d1.dat","w");

fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);

fclose(fp);

fp=fopen("d1.dat","r");

fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);

fclose(fp);}

程序运行后的输出结果是

A)2030

B)2050

C)3050

D)3020

 

二、填空题

请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。

(1)设一棵完全二叉树共有700个结点,则在该二叉树中有【1】个叶子结点。

(2)常用的黑箱测试有等价类划分法、【2】和错误推测法3种。

(3)数据库管理系统常见的数据模型有层次模型、网状模型和【3】3种。

(4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【4】。

(5)数据库保护分为:

安全性控制、【5】、并发性控制和数据的恢复。

(6)执行以下程序后的输出结果是【6】。

main()

{inta=10;

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

}

(7)以下程序的输出结果是【7】。

#include

main()

{printf("%d\n",strlen("IBM\n012\1\\"));}

(8)已定义charch=′$′;inti=1,j;,执行j!

=ch&&i++以后,i的值为【8】。

(9)以下程序的运行结果是【9】。

#include

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);}

(10)下面程序的功能是输出数组s中最大元素的下标,请填空。

main()

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

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

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

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

(11)以下程序的功能是:

求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。

请填空。

main()

{intx[10],a[9],I;

for(I=0;I<10;I++)scanf("%d",&x[I]);

for(【11】;I<10;I++)

a[I-1]=x[I]+【12】;.

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

printf("");

}

(12)设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。

(注:

try_me()函数在a:

\myfile.txt中有定义。

【13】

main()

{printf("\n");

try_me();

printf("\n");}

(13)以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。

#include

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:

\n");

scanf("%d",&a);

while(a!

=-1)

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

【14】=a;q->next=p;【15】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

 

一、选择题

(1)D

【解析】算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。

所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存空间。

(2)D

【解析】在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。

(3)C

【解析】软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。

它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。

其中,没有测试的可靠性这一说法。

(4)A

【解析】对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C++、Java等语言中,因此A)错误。

(5)C

【解析】队列是一种操作受限的线性表。

它只允许在线性表的一端进行插入操作,另一端进行删除操作。

其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。

队列具有先进先出的特点,它是按"先进先出"的原则组织数据的。

(6)D

【解析】依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,如下图所示,求得该二叉树的前序遍历序列为选项D)。

(7)A

【解析】对于任何一棵二叉树T,如果其终端结点(叶子)数为n1,度为2的结点数为n2,则n1=n2+1,所以该二叉树的叶子结点数等于n+1。

(8)C

【解析】对于两个关系的合并操作可以用笛卡尔积表示。

设有n元关系R和m元关系S,它们分别有p和q个元组,则R与S的笛卡儿积记为R×S它是一个m+n元关系,元组个数是p×q由题意可得,关系T是由关系R与关系S进行笛卡尔积运算得到的。

(9)A

【解析】两个实体之间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种,即一对一的联系、一对多(或多对一)的联系和多对多的联系;概念模型便于向各种模型转换。

由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。

(10)D

【解析】数据处理是指将数据转换成信息的过程,故选项A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C)叙述错误。

(11)C

【解析】不论main函数在整个过程中的位置如何,一个C程序总是从main函数开始执行的。

(12)D

【解析】一个C语言的源程序(后缀名为.c)在经过编译器编译后,先生成一个汇编语言程序,然后由编译程序再将汇编语言程序翻译成机器指令程序,即目标程序(后缀名为.obj),目标程序不可以直接运行,它要和库函数或其他目标程序连接成可执行文件(后缀名为.exe)后方可运行。

(13)A

【解析】C语言中,一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号括起来作为字符常量,字符常量的的范围是0~127。

由于字符常量用单引号括起来,所以选项B),C)错误,选项D)超过了字符常量的表示范围。

(14)A

【解析】本题考查C语言的综合基础知识。

构成C程序的基本单位是函数,不论main函数在整个程序中的位置如何,一个C程序总是从main函数开始执行,C语言的函数定义都是互相平行、独立的,在定义函数时,一个函数内不能定义另一个函数。

C函数定义的一般格式有两种:

传统格式和现代格式。

传统格式也称K&R格式,是早期编译系统使用的格式;现代格式又称ANSI格式,是现代编译系统使用的格式。

(15)D

【解析】本题中,scanf函数的格式控制没有空格,所以,对于选项A)、B)、C),输入的第一个空格会作为字符赋值给变量c1,而不会被解释成分隔符。

(16)D

【解析】"&"是求址运算符,"*"是指变量说明符。

选项A)、B)应改为scanf("%d",p);选项C)中指针变量p未指向一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。

(17)B

【解析】本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于s=s*s。

(18)C

【解析】本题考查简单的if卐lse语句。

先执行条件if(a

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1