秋江苏C++考试试题.docx

上传人:b****8 文档编号:10796044 上传时间:2023-02-23 格式:DOCX 页数:19 大小:22.42KB
下载 相关 举报
秋江苏C++考试试题.docx_第1页
第1页 / 共19页
秋江苏C++考试试题.docx_第2页
第2页 / 共19页
秋江苏C++考试试题.docx_第3页
第3页 / 共19页
秋江苏C++考试试题.docx_第4页
第4页 / 共19页
秋江苏C++考试试题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

秋江苏C++考试试题.docx

《秋江苏C++考试试题.docx》由会员分享,可在线阅读,更多相关《秋江苏C++考试试题.docx(19页珍藏版)》请在冰豆网上搜索。

秋江苏C++考试试题.docx

秋江苏C++考试试题

2009秋

二级VisualC++笔试试卷

第一部分:

计算机基础知识

1.下列关于个人移动通信的叙述中,错误的是____

A.第1代个人移动通信(简称1G)采用的通信技术是数字通信技术

B.目前广泛使用的GSM手机采用的通信技术属于第2代移动通信技术(简称2G)

c.第3代移动通信技术(简称3G)将无线通信与互联网、多媒体通信相结合

D.3G有多个国际技术标准,其中也有我国自主制定的3G技术标准。

2.在下列有关集成电路的叙述中,正确的是2。

A.现代集成电路所使用的半导体材料都是硅

B.所有的集成电路都是数字集成电路

C.Moore定律认为单块集成电路的集成度平均每年翻一番

D.Intel公司微处理器产品Core2Duo,其集成度已高达数千万个电子元件

3.与十六进制数AB等值的八进制数是3。

A.253B.254C.171D.172

4.在下列有关PC机CPU的叙述中,错误的是4。

A.CPU中包含几十个甚至上百个寄存器,用来临时存放数据、指令和控制信息

B.所有PC机的CPU都具有相同的指令系统,因而PC机可使用相同的软件

C.一台计算机至少包含1个CPU,也可以包含2个、4个、8个甚至更多个CPU

D.Intel公司是国际上研制和生产CPU的主要公司,我国也能生产CPU

5.在下列有关PC机主板上部件的叙述中,错误的是5。

A.BIOS保存在主板上的一个闪存中,其内容在关机后通常不会改变

B.CMOS中保存有用户设置的开机口令,关机后主板上的电池继续给CMOS供电

C.启动CMOS设置程序可以重新设置CMOS中的数据,该程序是BIOS的组成部分

D.网卡通常集成在主板上,由主板上独立的IC实现其功能,与芯片组无关

6.从PC机存储器的层次结构来看,下列存储器中存取速度最快的是6。

A.Cache存储器B.RAM和ROMC.寄存器D.硬盘和优盘

7.在下列4种PC机常用I/O接口中,数据传输速率最高的是7。

A.PS/2B.SATAC.IEEE-1394bD.USB2.0

8.在下列有关I/O操作、I/O总线和I/O接口的叙述中,错误的是8。

A.I/O操作的任务是在I/O设备与内存的指定区域之间传送信息

B.I/O总线传送的只能是数据信号,它不能传送控制信号和地址信号

C.不同类型的I/O接口,其插头/插座以及相应的通信规程和电气特性通常各不相同

D.并行总线的数据传输速率不一定比串行总线高

9.在下列有关PC机I/0设备的叙述中,错误的是9。

A.数码相机的成像芯片可以为CCD器件或CMOS芯片,目前大多数用CCD器件

B.平板式扫描仪的分辨率通常远远高于胶片扫描仪和滚筒式扫描仪

C.常见的宽屏液晶显示器的宽度与高度之比为16:

9(或16:

10)

D.目前在银行、超市等商业部门一般采用针式打印机来打印存折和票据

10.在下列有关计算机软件的叙述中,错误的是10。

A.程序设计语言处理系统和数据库管理系统被归类为系统软件

B.共享软件是一种具有版权的软件,它允许用户买前免费试用

C.机器语言和汇编语言与特定的计算机类型有关,取决于CPU

D.目前PC机只能使用Windows系列操作系统,均不能使用UNIX和Linux操作系统

11.在下列常用的PC机软件中,编辑的文档(内容)能直接保存为图片类型(例如JPEG

文件类型)的是11。

A.MicrosoftWordB.MicrosoftExcel

C.MicrosoftPowerPointD.MicrosoftFrontPage

12.在下列关于以太网(局域网)的叙述中,错误的是12。

A.在共享式以太网中,任何时间只允许一对计算机进行通信

B.在交换式以太网中,每台计算机均独享相同的带宽,其带宽仅由交换机决定

c.无论是共享式以太网还是交换式以太网,网络中的所有计算机都要安装以太网网卡

D.无论是共享式以太网还是交换式以太网,它们的数据帧和MAC地址格式均相同

13.连接在因特网上的每一台主机都有一个IP地址。

下面不能作为IP地址的是13。

A.211.256.49.68B.21.18.33.48C.120.34.0.18D.37.251.68.0

14.为了将异构的计算机网络互相连接起来,必须使用的网络设备是14。

A.调制解调器B.以太网集线器c.以太网交换机D.路由器

15.下列网络协议中,与发送电子邮件有关的是15。

A.HttpB.FTPC.SMTPD.TELNET

16.在下列有关字符集及其编码的叙述中,错误的是16。

A.基本的ASCII字符集共有128个字符,每个字符使用7个二进位进行编码

B.GB2312字符集中收录了6千多个汉字,每个字符在机内通常使用双字节编码

C.GBK字符集中的字符也采用双字节编码,且该字符集收录了部分繁体汉字

D.GB18030字符集中所有的字符均采用4字节编码,因此该字符集的代码空间很大

17.目前数码相机拍摄的照片在保存时通常采用的文件类型是17。

A.BMPB.GIFC.JPEGD.TIF

18.MP3是数字波形声音的一种压缩编码文件格式,它采用的压缩编码标准属于18。

A.MPEG-1B.MPEG-2C.MPEG-4D.DolbvAC-3

19.使用Macromedia公司的Flash软件制作的动画是一种矢量图形,在保存为动画文件

时其文件扩展名通常为19。

A.GIFB.SWFC.AVID.MPG。

20.在计算机应用中,CAD和CAM是典型的信息系统。

它们属于20。

A.管理业务系统B.辅助技术系统

c.信息检索系统D.信息分析系统

第二部分VisualC++程序设计

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

21.以下关于C++函数的描述中,正确的是21。

A.内联函数就是定义在另一个函数体内部的函数

B.函数体的最后一条语句必须是return语句

C.c++要求在调用一个函数之前,该函数已定义或已有该函数的原型说明

D.编译器会根据函数的返回值类型区分函数的不同重载形式

22.以下关于c++运算符重载的描述中,正确的是22。

A.任何运算符均可重载B.运算符重载可以改变运算符的优先级

C.运算符重载可创造新的运算符D.运算符重载可以改变运算符的功能

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

A.int10long;B.int_2int;

C.floatX3-Dmax;D.charX.txt[20];

24.以下关于C++函数重载的描述中,正确的是。

A.重载函数必须具有不同类型的返回值

B.重载函数的形参个数必须不同

C.重载函数的形参个数不同或形参类型不同

D.重载函数名可以不同

25.以下if语句的表达不正确的是25。

A.if(a

C.if(a

=b)a=b;

26.以下关于指针变量的叙述中,不正确的是26。

A.指针变量可赋值为0B.指针变量中存放的是地址值

C.指针可以进行加、减等算术运算D.指针变量不占用存储空间

27.以下说明语句中,没有语法错误的是27。

A.inta,*pa=&a,*pb=*pa;B.intaa,&b=aa,*pc=&b;

C.intc[10],&pc=c;D.intdd,&u=&dd,*v=u;

28.以下关于类的友元函数的描述中,不正确的是28。

A.一个类的友元函数要用"friend"说明。

B.友元函数在类体中说明时,不受类中访问权限的限制

C.友元函数的作用域与类中成员函数的作用域相同

D.友元函数体的定义通常放在类定义之外

29.以下关于派生类的叙述中,不正确的是29。

A.公有派生时基类中的public成员在派生类中仍是public成员

B.私有派生时基类中的protected成员在派生类中仍是protected成员

C.私有派生时基类中的public成员在派生类中改变成private成员

D.保护派生时基类中的public成员在派生类中改变成protected成员

30.以下关于纯虚函数的叙述中,不正确的是30。

A.纯虚函数定义时要定义函数体

B.纯虚函数的说明以"=0;"结束

C.派生类中最终要定义纯虚函数的函数体

D.含纯虚函数的类不能定义其对象

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

●基本概念题,共5分

1.在定义一个类时,如果仅定义了数据成员,而没有定义成员函数,则由系统自动生成的

缺省成员函数包括:

(1)、

(2)、重载赋值运算符和拷贝构造函数。

2.如果使用数组名作为函数的实参,则形参与实参结合时,传递的是(3)。

3.C++中,编译时的多态性是通过程序设计中使用(4)来实现的。

4.程序中使用new运算符动态分配的内存空间,必须用(5)来释放。

●阅读程序题,共13分

5.[程序](3分)

#include

intx,y;

intf2(inta,intb)

{x=a+b;y=a-b;

cout<<"x="<

returnx+y;

}

voidf1(intm,intn)

{intx,y;

x=m+n;y=m-n;

m=f2(x,y);

n=n+m:

cout<<"m="<

}

voidmain(void)

{inta=3,b=5;

f1(a,b);

cout<<"a="<

cout<<"x="<

}

运行程序后输出的第二行是(6),第三行是(7),第四行是(8)。

6.[程序](3分)

#include

intf(int&n,int&m)

{staticintk=10;

n+=m;k+=n;m+=k;

cout<<"k="<

return(n+m);

}

voidmain(void)

{inta=3,b=4,k;

k=f(a,b)+f(a,b);

cout<<"k="<

}’

运行程序后输出的第一行是(9),第二行是(10),第三行是(11)

7.[程序](2分)

#include

voidf(intx)

{intt;

if(x<0){cout<<"-";x=-x;}

t=x%10;X=x/lO;

if(x!

=0)f(x);

cout<

}

voidmain(void)

{f(-234);

cout<<'\n';

f(123);

cout<<'\n';

}

运行程序后输出的第一行是(12),第二行是(13)。

8.[程序](3分)

#include

voidfun(intx[],intn)

{inti,max,min,k,p,t;

for(k=p=0,max=min=x[0],i=1;i

if(max

if(min>x[i])min=x[i],p=i;

}

t=x[0];x[0]=x[p];x[p]=t;

if(k==0)k=p;

t=x[n-1];x[n-1]=x[k];x[k]=t;

}

voidprint(int*x,intn)

{for(intk=0;k

voidmain(void)

{inta[5]={12,16,19,15,11};

fun(a,5);

print(a,5);

}

运行程序后输出的第一行是(14),第三行是(15),第五行是(16)。

9.[程序](2分)

#include

classB{

public:

voidf1(){cout<<"B类中的函数f1\n";}

virtualvoidf2(){cout<<"B类中的函数f2\n";}

};

classD:

publicB{

voidf1(){cout<<"D类中的函数f1\n";}

voidf2(){cout<<"D类中的函数f2\n";}

};

voidmain(void)

{Ba,*p;

Db1;

p=&a;p->f2();

p=&b1;

p->f1();p->f2();

}

运行程序后输出的第二行是(17),第三行是(18)。

完善程序题,共12分

10以下程序的功能是:

首先初始化一个等比数列,改数列的首项为3,公比为2,直到某

以下程序的功能是:

首先初始化一个等比数列,该数列的再坝力j,公比刀z,且到禾

一项的数值大于720为止;然后基于此等比数列计算满足条件的n值和m值,使得从第n项

到第m项的和为720(和值包含第n项及第m项)。

试完善程序

等比数列的定义:

数列的第0项为一个初值,从数列的第1项起,每一项与它的前一项的

比等于一个常数,这种数列称为等比数列。

该常数称为等比数列的公比。

等比数列表

示为:

A0=a,A1=A0*q,......,An=An-1-1*q;其中a,q均为常数,且q!

=0。

[程序](4分)

#include

#defineN20//只要检查数列的前20项,其后各项值均大于720

intsum(imnum[],int&n,int&m)

{ints,i,idx,flag=0;

for(i=0;i

s=0;n=i;

idx=i;

while(s<720&&idx

(19);

if(s==720){//找到符合条件的项,记录位置

(20);

flag=1;

break;

}

}

returnflag;

}

voidmain(void)

{intnum[N],q,a;

inti,m,n;

a=3;q=2;

num[0]=a;

for(i=0;num[i]<720;i++){//初始化等比数列

(21);

num[i+1]=a;

}

if((22)){

cout<<"第"<

"<

for(;n<=m;n++)cout<

cout<<"\n";

elsecout<<"没有满足条件的项!

\n";

}

11.以下程序的功能是:

按每一个学生的成绩总分(数学、物理和英语成绩之和)进行排序

(降序排序),若总分相同时,再按数学成绩进行降序排序;若总分和数学成绩相同,再按英语

成绩进行降序排序。

程序中先输入学生的人数,再依次输入每一个学生的成绩,然后按降序排

列后输出结果。

试完善程序。

[程序](4分)

#include

#include

#defineN50

structstu{

charname[10];//学生姓名

intmath;//存放数学成绩

intphy,eng;//物理和英语成绩

intsum;

};

voidinput(stus[],intn)

{

for(inti=O;i

cout<<"依次输入姓名,数学,物理和英语成绩:

";

cin>>s[i].name>>s[i].math>>s[i].phy>>s[i].eng;

s[i].sum=s[i].math+s[i].phy+s[i].eng;

}

}

voidsort(stus[],intn)

{

inti,j,k;

stut;

for(i=0;i

k=i;

for(j=i+1;j

if(s[k].sum

elseif((23))k=j;

elseif((24))k=j;

if((25)){

t=s[i];

s[i]=s[k];

s[k]=t;

}

}

}

voidmain(void)

{intn;

stus[N];

cout<<"输入学生的人数:

";

cin>>n;

input(s,n);

(26);

for(inti=0;i

cout<

<

}

12.下面程序的功能是:

首先,成员函数build()建立一条无序链表,由成员函数Print()输

出无序链表中各结点的值;再由成员函数sort()对已建的链表根据链表结点值的大小按升序

进行排序,由成员函数print()输出有序链表中各结点的值。

试完善程序。

[程序](4分)

#include

structNode{

doublenum;

Node*next;

};

classChain{

private:

Node*h;

public:

voidsort(void);

Chain(){h=0;}

~Chain()

{

Node*p;

while(h){

p=h;

h=h->next;

deletep;

}

}

voidbuild(void);

voidprint(void)

{

Node*p=h;

while(p){

cout<nun<<'\t';

p=p->next;

}

cout<<'\n':

}

};

voidChain:

:

build(void)

{

Node*p,*p1;

doublex;

cout<<"输入一个实数,以0结束:

";

cin>>x;

while(x!

=0){

p=newNode;

P->num=x;

if(h==0)h=p1=p;

else{

p1->next=p;

p1=p;

}

cout<<"输入一个实数,以O结束:

";

cin>>x;

}

p->next=0:

}

voidChain:

:

sort(void)

{

if(h==0)return;

Node*h1,*p;

h1=0;

while(h){

p=h;

(27);

Node*p1,*p2;

if(h1==0){

h1=p;

(28);

}

elseif(h1->num>=p->num){

(29);

h1=p;

}

else{

p2=p1=h1;

while(p2->next&&p2->numnum){

p1=p2;p2=p2->next;

}

if(p2->numnum){

(30);

p->next=0;

}

else{

p->next=p2;p1->next=p;

}

}

}

h=hl;

}

voidmain(void)

{Chainx;

x.build();’

cout<<"排序前的链表为:

";

x.print();

x.sort();

cout<<"\n排序后的链表为:

";

x.print();

}

参考答案

一、选择题

1.A2.D3.A4.B5.D6.C7.B8.B9.B10.D11.C12.B13.A14.D

15.C16.D17.C18.A19.B20.B

21.C22.D23.B24.C25.A26.D27.B28.C29.B30.A

二、填空题

(1)构造函数(或析构函数)

(2)析构函数(或构造函数)

(3)数组所代表的地址或地址或数组名

(4)函数重载或运算符重载(5)delete或delete运算符(6)m=16n=21

(7)a=3b=5(8)x=6y=10(9)k=17

(10)k=45(11)k=122a=28b=66(12)-234

(13)123(14)11(15)12

(16)19(17)B类中的函数f1(18)D类中的函数f2

(19)s+=num[idx++](20)m=idx-1或m=--idx(21)a=a*q或a=a*2

(22)sum(num,n,m)或sum(num,n,m)==1

(23)s[k].sum==s[j].sum&&s[k].math

(24)s[k].sum==s[j].sum&&s[k].eng

(25)i!

=k

(26)sort(s,n)

(27)h=h->next或h=p->next

(28)p->next=0或h1->next=O或p->next=NULL或hl->next=NULL

(29)p->next=h1

(30)p2->next=p

1788

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

当前位置:首页 > 医药卫生 > 预防医学

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

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