江苏省计算机二级考试真题C++秋文档格式.docx

上传人:b****6 文档编号:18372913 上传时间:2022-12-15 格式:DOCX 页数:15 大小:21.95KB
下载 相关 举报
江苏省计算机二级考试真题C++秋文档格式.docx_第1页
第1页 / 共15页
江苏省计算机二级考试真题C++秋文档格式.docx_第2页
第2页 / 共15页
江苏省计算机二级考试真题C++秋文档格式.docx_第3页
第3页 / 共15页
江苏省计算机二级考试真题C++秋文档格式.docx_第4页
第4页 / 共15页
江苏省计算机二级考试真题C++秋文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

江苏省计算机二级考试真题C++秋文档格式.docx

《江苏省计算机二级考试真题C++秋文档格式.docx》由会员分享,可在线阅读,更多相关《江苏省计算机二级考试真题C++秋文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

江苏省计算机二级考试真题C++秋文档格式.docx

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

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

DC

A.MicrosoftWordB.MicrosoftExcel

C.MicrosoftPowerPointD.MicrosoftFrontPage

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

AB

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

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

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

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

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

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

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。

BC

A.HttpB.FTPC.SMTPD.TELNET

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

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

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

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

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

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

A.BMPB.GIFC.JPEGD.TIF

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

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

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

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

DB

A.GIFB.SWFC.AVID.MPG。

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

它们属于20B。

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<

b)a=0,elseb=0;

B.if(a==b)a=0,b++;

C.if(a<

b);

D.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。

DA

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

B.纯虚函数的说明以"

=0;

"

结束

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

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

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

●基本概念题,共5分

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

缺省成员函数包括:

(1)、

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

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

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

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

●阅读程序题,共13分

5.[程序](3分)

#include<

iostream.h>

intx,y;

intf2(inta,intb)

{x=a+b;

y=a-b;

cout<

<

x="

x<

\t"

y="

y<

endl;

returnx+y;

}

voidf1(intm,intn)

{intx,y;

x=m+n;

y=m-n;

m=f2(x,y);

n=n+m:

m="

m<

n="

n<

}

voidmain(void)

{inta=3,b=5;

f1(a,b);

a="

a<

b="

b<

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

6.[程序](3分)

intf(int&

n,int&

m)

{staticintk=10;

n+=m;

k+=n;

m+=k;

k="

k<

endl:

return(n+m);

{inta=3,b=4,k;

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

'

\t’<

\t'

}’

运行程序后输出的第一行是(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);

t;

{f(-234);

\n'

f(123);

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

8.[程序](3分)

voidfun(intx[],intn)

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

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

i<

n;

i++){

if(max<

x[i])max=x[i],k=i;

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++)cout<

x[k]<

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

fun(a,5);

print(a,5);

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

9.[程序](2分)

classB{

public:

voidf1(){cout<

B类中的函数f1\n"

virtualvoidf2(){cout<

B类中的函数f2\n"

};

classD:

publicB{

D类中的函数f1\n"

voidf2(){cout<

D类中的函数f2\n"

{Ba,*p;

Db1;

p=&

a;

p->

f2();

b1;

p->

f1();

运行程序后输出的第二行是(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分)

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

intsum(imnum[],int&

{ints,i,idx,flag=0;

for(i=0;

N;

s=0;

n=i;

idx=i;

while(s<

720&

&

idx<

N)

(19);

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

(20);

flag=1;

break;

returnflag;

{intnum[N],q,a;

inti,m,n;

a=3;

q=2;

num[0]=a;

num[i]<

720;

i++){//初始化等比数列

(21);

num[i+1]=a;

if((22)){

第"

项--第"

项的和是720:

for(;

=m;

n++)cout<

nun[n]<

\n"

elsecout<

没有满足条件的项!

}11.以下程序的功能是:

按每一个学生的成绩总分(数学、物理和英语成绩之和)进行排序(降序排序),若总分相同时,再按数学成绩进行降序排序;

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

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

试完善程序。

string.h>

#defineN50

structstu{

charname[10];

//学生姓名

intmath;

//存放数学成绩

intphy,eng;

//物理和英语成绩

intsum;

voidinput(stus[],intn)

{

for(inti=O;

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

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;

n-1;

i++){//降序排序

k=i;

for(j=i+1;

j<

j++)

if(s[k].sum<

s[j].sum)k=j;

elseif((23))k=j;

elseif((24))k=j;

if((25)){

t=s[i];

s[i]=s[k];

s[k]=t;

{intn;

stus[N];

输入学生的人数:

input(s,n);

(26);

for(inti=0;

i++)

s[i].name<

s[i].sum<

s[i].math<

s[i].phy<

s[i].eng<

12.下面程序的功能是:

首先,成员函数build()建立一条无序链表,由成员函数Print()输出无序链表中各结点的值;

再由成员函数sort()对已建的链表根据链表结点值的大小按升序进行排序,由成员函数print()输出有序链表中各结点的值。

structNode{

doublenum;

Node*next;

classChain{

private:

Node*h;

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){

nun<

p=p->

voidChain:

:

build(void)

Node*p,*p1;

doublex;

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

x;

while(x!

=0){

p=newNode;

P->

num=x;

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

else{

p1->

next=p;

p1=p;

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

next=0:

sort(void)

if(h==0)return;

Node*h1,*p;

h1=0;

(27);

Node*p1,*p2;

if(h1==0){

h1=p;

(28);

elseif(h1->

num>

=p->

num){

(29);

p2=p1=h1;

while(p2->

next&

p2->

num<

p1=p2;

p2=p2->

if(p2->

(30);

next=0;

else{

next=p2;

h=hl;

{Chainx;

x.build();

排序前的链表为:

x.print();

x.sort();

\n排序后的链表为:

}参考答案

一、选择题

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<

s[j].math

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

s[k].eng<

s[j].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

 

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

当前位置:首页 > 高中教育 > 英语

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

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