计算机等级考试vc++秋附答案.docx

上传人:b****4 文档编号:24166206 上传时间:2023-05-24 格式:DOCX 页数:20 大小:23.20KB
下载 相关 举报
计算机等级考试vc++秋附答案.docx_第1页
第1页 / 共20页
计算机等级考试vc++秋附答案.docx_第2页
第2页 / 共20页
计算机等级考试vc++秋附答案.docx_第3页
第3页 / 共20页
计算机等级考试vc++秋附答案.docx_第4页
第4页 / 共20页
计算机等级考试vc++秋附答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

计算机等级考试vc++秋附答案.docx

《计算机等级考试vc++秋附答案.docx》由会员分享,可在线阅读,更多相关《计算机等级考试vc++秋附答案.docx(20页珍藏版)》请在冰豆网上搜索。

计算机等级考试vc++秋附答案.docx

计算机等级考试vc++秋附答案

2010秋江苏省二级C++考试真题

绝密★启用前

2010年秋

江苏省高等学校非计算机专业学生

计算机基础知识和应用能力等级考试

二级试卷

试卷语种:

C++语言

说明:

1.本试卷包括计算机基础知识部分和程序设计部分,考试时间共120分钟;

2.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型;

3.计算机基础知识部分全部是选择题(20分),程序设计部分分为选择题(10

分)和填空题(30分)两种;

4.选择题用答题卡答题。

每一项有A、B、C、D四个可供选择的答案,请选

择其中一个你认为正确的答案,用HB铅笔涂写在答题卡的相应答题号内。

每选对一项得1分,不选或选错不得分;

5.填空题用答题纸答题。

请将答案用蓝、黑色钢笔或圆珠笔填写在答题纸的

相应答题号内,每个答案只占一行,不得换行。

每填对一个答案得1分,

不填或填错不得分;

6.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是

否填写正确。

7.考试结束时将试卷、答题卡和答题纸放在桌上,不得带走。

待监考人员收

毕清点后,方可离场。

第一部分计算机基础知识

1.微电子技术是信息技术领域中的关键技术,它以集成电路为核心.下列有关集成电路的叙述中,错误的是___

(1)___

A.现代集成电路使用的半导体材料只能是硅(Si),不能使用其它任何半导体材料

B.集成度是指集成电路包含的电子元件数目,可分为SSI、MSI、VLSI等

C.Moore定律指出,单块集成电路的集成度平均18--24个月翻一番

D.我国第二代身份证中嵌入了集成电路芯片,可以实现电子防伪和数字管理功能

2.数据传输速率是数据通信中重要的性能指标。

Gb/s是数据传输速率的计量单位之一,其正确含义是___

(2)___。

A.每秒兆位

B.每秒千兆位

C.每秒百兆位

D.每秒百万位

3.所谓"变号操作"是指将一个整数变成绝对值相同但符号相反的另一个整数。

假设使用补码表示的8位整数x=10010101,则经过变号操作后结果为___(3)___.

A.01101010

B.00010101

C.11101010

D.01101011

4.下列有关PC机主板的叙述中,错误的是___(4)___。

A.主板的物理尺寸没有标准,各厂家均可自行定义

B.主板上包含芯片组,它是PC机各组成部分相互连接和通信的枢纽

C.主板上包含BIOS和CMOS芯片

D.主板上包含CPU插座、内存条插槽及其它类型的插槽

5.下列有关PC机中央处理器(CPU)和内存(内存条)的叙述中,正确的是__(5)____.

A.PC机所采用的CPU都是Intel公司生产的Pentium系列芯片,其它厂商生产的

CPU都与之不兼容

B.目前已有双核的微处理器(例如Core2Duo),但还没有四核的微处理器

c.通常来说,DRAM的速度比SRAM的存取速度慢

D.一般来说,一个内存条上仅有一个DRAM或SRAM芯片

6.下列有关PC机I/O总线与I/O接口的叙述中,错误的是__(6)____.

A.目前PC机中协调与管理总线操作的总线控制器包含在主板上的芯片组中

B.总线最重要的性能是数据传输速率,其单位通常为MB/s或GB/s

C.SATA接口的数据传输速率通常低于USB2.0的数据传输速率

D.USB连接器有4个引脚,其中一个引脚连接+5V电源

7.下列有关PC机常用I/O设备的叙述中,错误的是__(7)____。

A.目前台式机键盘通常有一百零几个按键,笔记本电脑的键盘有八十几个按键

B.目前流行的鼠标是光电鼠标,其与主机的接口有PS/2与USB两种

C.宽屏LCD显示器的宽高比为16:

9或16:

10

D.打印速度是打印机的重要性能指标,速度单位通常为dpi

8.下列有关PC机外存储器的叙述中,错误的是___(8)___。

A.目前硬盘的盘片大多为3.5、2.5或1.8英寸,一个硬盘中可有一个或多个盘片

B.目前有些u盘可以模拟硬盘和光盘存储器启动操作系统

C.目前光盘存储器主要分为CD、DVD和BD三种,它们均采用红外激光进行读写

D.目前光驱的速率通常用多少倍速表示

9.下列有关计算机软件的叙述中,错误的是___(9)___.

A.软件一般是指程序及其相关的数据和文档资料

B.从软件的用途考虑,软件可以分为系统软件和应用软件,主要的系统软件有操作系统、语言处理系统和数据库管理系统等。

C.从软件的权益来考虑,软件可以分为商品软件、共享软件和自由软件,共享软件和自由软件均为无版权的免费软件

D.Linux是一种系统软件、自由软件

10.到目前以止,Windows系列操作系统已推出多个版本。

在下列版本中,最新的Windows

版本是___(10)___

A.Windows7B.WindowsMeC.WindowsXPD.WindowsVista

11.下列有关WindowsXP操作系统功能的叙述中,错误的是___(11)___.

A.系统通过"时间片”轮转策略支持多任务处理

B.系统利用SPOOLing技术进行存储管理

C.在设备管理中引入了缓冲技术,以减少I/O操作的等待时间

D.系统支持PnP功能,并按ACPI标准进行电源管理

12.在因特网中某台主机的IP地址为20.25.30.8,子网掩码为255.255.255.0,那么该主机

的主机号为___(12)___。

A.20B.25C.30D.8

13.局域网中需要传输的数据必须预先组织成若干数据帧,每一数据帧的格式如下图所示:

上图中最末部分"?

”表示的是___(13)___。

发送计算机地址

目的计算机地址

编号

有效载荷

?

A.协议信息

B.校验信息

C.冗余信息

D.结束标志

14.目前网络用户接入因特网有多种方式,例如ADSL、HFC等。

通过HFC接入因特网时采用的网络是___(14)____。

A.有线电话网B.有线电视网C.无线局域网D.移动电话网

15.下列网络协议中,直接与电子邮件传输相关的网络协议是___(15)___。

A.FTPB.SMTPC.TELNETD.NNTP

16.下列有关计算机中文本与文本处理的叙述中,错误的是___(16)____

A.西文字符主要是采用ASCII字符集,基本ASCII字符集共有256个字符

B.我国最早采用的汉字字符集是GB2312,包含6000多个汉字和若干个非汉字字符

C.无论采用何种方式输入汉字,在计算机中保存时均采用统一的汉字内码

D.简单文本和丰富格式文本中字符信息的表示相同,区别在于格式信息的表示

17.彩色图像所使用的颜色描述方法称为颜色模型(即颜色空间)。

下列四种颜色模型中,

彩色喷墨打印机使用的是___(17)___.

A.RGBB.HSBC.YUVD.CMYK

18.文件的扩展名用于标记文件的类型,用户应该尽可能多地知晓各类文件的扩展名,下

列文件中,属于数字声音的文件是______

A.ABC.RM

B.ABC.WMA

C.ABC.MKV

D.ABC.SWF

19.信息系统软件开发瀑布模型包括系统规划、系统分析、系统设计、系统实施和系统维

护等几个阶段。

下面各项工作中,属于系统实施阶段的是___(19)___

A.问题定义

B.可行性研究

C.系统测试

D.绘制E-R图

20.下列有关MicmsoftWord2003和MicrosoftExcel2003软件的叙述中,错误的是___(20)___

A.利用Word软件编辑文档,可以将其保存为TXT、DOC、RTF和HTM格式文件

B.利用Word软件编辑文档时,可以统计选定文本的字符数

C.在Excel软件中,可以打开(导入)TXT、DBF、HTML格式的文件(数据)

D.Excel文件可以设置打开权限密码,但不可以单独设置修改权限密码

第二部分C++语言程序设计

一、选择题(用答题卡答题,答案依次填在21--30答题号内)

21.对于for和do…while循环语句,以下描述正确的是___(21)___。

A.for语句中的循环体至少执行一次B.两个语句中的循环体可能都不执行

C.do...while语句中的循环体至少执行一次D.两个语句中的循环体至少执行一次

22.设有说明语句;inthh[4]={2,3,4},*p=hh;则以下选项中存在语法错误的是___(22)___

A.p++;B.hh++;C.(*p)++;D.(*hh)++

23.以下说明语句中,不存在语法错误的是___(23)___。

A.ints=26,this=30;B.int_s1=25,-s2=100;

C.intn;cin>>n;intarr[n];D.charstr[]={"Iamastudent"};

24.设有语句;inta=10,b=20,c=30;则执行语句;cout<<(a,b,c);其输出结果是___(24)___

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

25.以下关于运算符重载的叙述中,正确的是___(25)___。

A.c++已有的任何运算符都可以重载B.可以重载C++中没有的运算符

C.运算符重载时可改变其优先级D.运算符重载时可改变其实现的功能

26.设有函数原型说明;float*f(int,float);,则函数f的返回值为___(26)___.

A.一个实数B.指向一个实数的指针C.该函数的地址D.指向一个函数的指针

27.下列有关构造函数的叙述中,不正确的是___(27)___.

A.可以定义没有构造函数的类B.任何一个类必定有构造函数

C.类的构造函数可以重载D.构造函数没有返回值

28.下列有关类成员的叙述中,不正确的是___(28)___。

A.当不指定类成员的访问权限时则为私有成员B.友元函数可访问类中的任一成员

C.指定为public的成员不允许在类外访问D.成员函数可访问类中的任一成员

29.以下关于类和对象的叙述中,不正确的是___(29)___.

A.不同的类可以产生相同类型的对象B.类是一种类型,它定义了数据和操作

C.对象是类的实例D.任一对象必属于某一个类

30.以下关于指针运算的叙述中,不正确的是___(30)___

A.可以将NULL赋给任一指针变量

B.两个同类型的指针变量可进行相等或不等的比较运算

C.指针变量的值加上整常数n,可使该指针指向当前元素后的第n个元素

D-指向同一数组的两个指针变量,在任何情况下,两指针变量相减都是无意义的

二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)

●基本概念题,共5分

1.每一个类均有构造函数和析构函数,这两个函数中不可以定义为虚函数的是___

(1)___

2.定义了宏;#defineF(x,y,z)x/y*z

执行语句;b=F(3+4,2+2,4+4);后变量b的值为___

(2)___

3.函数重载和运算符重载实现的多态性属于___(3)___多态性.

4.为使函数不返回任何值,定义函数时应在函数名前加保留字(关键字)___(4)___.

5.C++存储类型的四种说明符分别是;auto,static,extern和___(5)___。

●阅读程序题,共13分

6.[程序](2分)

#include

voidmain(void)

{

intc2,c3,c5,m=20;

c2=c3=c5=0;

for(inti=1;i<=m;i++){

if(i==15||i==14)continue;

if(i%2==0)c2++;

if(i%3==0)c3++;

if(i%7==0)c5++;

}

cout<

}

执行程序后输出的第一行是___(6)___,第三行是___(7)___

7.[程序](2分)

#include

intf(inta,int&b,int*c)

{

a+=b;b+=*c;*c+=a;

return(a+b+*c);

}

voidmain(void)

{

intx=5,y=5,z=6,sum;

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

sum=f(x,y,&z);

cout<

}

}

执行程序后输出的第一行是___(8)___,第二行是___(9)___。

8.[程序](2分)

#include

voidf(ints[],int*y)

{

staticintt=3;

*y=s[t];

s[t]*=2;

t--;

}

voidmain(void)

{

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

intx=0;

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

f(a,&x);

cout<

}

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

cout<<'\n';

}

执行程序后输出的第二行为___(10)___,最后一行为___(11)___。

9.[程序](3分)

#include

voidf(intx,inty)

{

charres[10]={0};

inti=0,rem;

do{

rem=x%y;

x=x/y;

if(rem<10)res[i]='0'+rem;elseres[i]='A'+rem-10;

i++;

}while(x!

=0);

i--;

for(;i>=0;i--)cout<

cout<

}

voidmain(void)

{

f(23,10);

f(45,8);

f(50,16);

}

执行程序后输出的第一行是___(12)___,第二行是___(13)___,第三行是___(14)___.

10.[程序](2分)

#include

charst[]="Yourfriend!

";

voidf2(int);

voidf1(inti)

{

cout<<(st+i)<

if(i<3){

i+=2;

f2(i);

}

}

voidf2(inti)

{

cout<

if(i<3){

i+=2;

f1(i);

}

}

voidmain(void)

{

inti=0;

f1(i);

}

执行程序后输出的第一行是___(15)___,第二行是___(16)___.

11.[程序](2分)

#include

classA{

public:

A(char*s){cout<

A(){};

};

classB:

publicA{//L1

public:

B(char*s1,char*s2):

A(s1)

{cout<

};

classC:

publicA{//L2

public:

C(char*s1,char*s2):

A(s1)

{cout<

};

classD:

publicB,publicC{

public:

D(char*s1,char*s2,char*s3,char*s4):

B(s1,s2),C(s1,s3)

{cout<

};

voidmain(void)

{

D*ptr=newD("students","study","C++","hard");

deleteptr;

}

执行程序后共输出___(17)___行.

若分别将L1行改为;classB:

virtualpublicA{//L1

L2行改为:

classC:

virtualpublicA{//L2

则执行程序后共输出___(18)___行。

●完善程序题,共12分

12.以下程序的功能是;从键盘上输入一个大于等于3的整数,将其分解为质因子的乘积并输

出.例如,输入50时,则输出;50;2*5*5;输入45时,则输出;45=3*3*5;输入37时.则出;37=37.

[程序](4分)

#include

intprime(intx)//求大于x的最小质数(素数)

{

intflag=1;

x++;

while(___(19)___){

inti=2;

while(i

if(___(20)___)break;

i++;

}

if(i

}

returnx;

}

voidf(intn)//将n分解为若干个质数之积

{

intflag=1;

inti=2;//保证i为质数

do{

while(___(21)___){

if(flag==1){

cout<

flag=0;

}

elsecout<<'*'<

n=n/i;

}

___(22)___

}while(i

if(n!

=1)

if(flag==1)cout<

}

voidmain(void)

{

intx;

do{

cout<<"请输入一个整数,若小于3则重输;";

cin>>x;

}while(x<3);

cout<

f(x);

cout<

}

13.以下程序的功能是:

实现两个字符串拼接,函数strcat(char*s1,char*s2)先将s1所指向的字符串拷贝到s所指向的动态申请的存储空间,接着将s2所指向的字符串拼接s所指向的字符串后面,函数返回拼接后的字符串。

[程序](4分)

#include

char*strcat(char*s1,char*s2)

{

char*s,*p,*q;

intlen1=0,len2=0;

p=s1;

while(*p!

='\0'){

len1++;

p++;

}

p=s2;

while(*p!

='\0'){

len2++;

p++;

}

s=q=___(23)___;

p=s1;

for(inti=0;i

p=s2;

while(___(24)___);

___(25)___;

}

voidmain(void)

{

chars1[]="visual";

chars2[]="isesay";

char*s;

s=___(26)___;

cout<

delete[]s;

}

14.下面程序的功能是;将两个有序链表(降序排序)合并为一个有序链表,函数merge(node*h1,node*h2)将由h1和h2分别指向的己排序的两个链表,合并为一个依然有序的链表。

注意;对于数据大小相同的结点,都要保留在合并后的链表上。

主函数产生两条已降序排序的链表,并输出合并后链表上的数据值。

.

例如,原链表上各结点的数据依次为;

h1:

15,9,8,7,3

h2:

15,12,10,7,3,2

合并后得到的新链表为;15,15,12,10,9,8,7,7,3,3,2

【程序](4分)

#include

structnode{

intdata;

node*next;

};

node*merge(node*h1,node*h2)

{

if(h1==NULL)returnh2;

if(h2==NULL)returnh1;

node*h=NULL;

if(___(27)___){

h=h1;

h1=h1->next;

}

else{

h=h2;

h2=h2->next;

}

node*p=h;

while(___(28)___){

if(h1->data>=h2->data){

p->next=h1;

p=h1;

h1=h1->next;

}

else{

p->next=h2;

p=h2;

h2=h2->next;

}

}

if(h1!

=NULL)___(29)___;

else

if(h2!

=NULL)p->next=h2;

returnh;

}

voidmain(void)

{

nodea[5]={{15},{9},{8},{7},{3}};

nodeb[6]={{15},{12},{10),{7},{3},{2}};

node*h,*h1,*h2,*p;

inti;

h1=a;

h2=b;

for(i=0;i<4;i++)a[i].next=&a[i+1];//形成a链表

a[4].next=NULL;

for(i=0;i<5;i++)b[i].next=&b[i+1];//形成b链表

b[5].next=NULL;

___(30)___;

p=h;

while(p){

cout<data<<'\t';

p=p->next;

}

cout<

}

答案:

1.A2.B3.D4.A5.C6.C7.D8.C9.C10.A

11.B12.D13.B14.B15.B16.A17.D18.B19.C20.D

(21)C(22)B(23)D(24)C(25)D(26)B(27)A(28)C(29)A(30)D

二:

填空

(1)构造

(2)17(3)编译(4)void(5)register

(6)9(7)1(8)5111637(9)5273275

(10)3(11)2468(12)23(13)55(14)32(15)Yourfriend!

(1

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

当前位置:首页 > 人文社科 > 设计艺术

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

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