2023年12月7日发(作者:文城)
江苏省二级VISUAL C++-2
(总分:100.00,做题时间:90分钟)
一、第一部分 计算机基础知识(总题数:0,分数:0.00)
二、选择题(总题数:20,分数:40.00)
1.下列有关信息产业、信息化、信息社会等相关的叙述错误的是______。
(分数:2.00)
A.信息产业是指生产制造信息设备的制造业,不包含信息服务行业 √
B.信息化是一个推动人类社会从工业社会向信息社会转变的过程
C.在信息社会中,信息将借助材料和能源的力量产生重要价值而成为社会进步的基本要素
D.目前我国还处于工业化的中期阶段,需要大力推进信息化与工业化的融合式发展
解析:
2.下列有关计算机发展与分类的叙述错误的是______。
(分数:2.00)
A.人们通常根据计算机采用的主要电子元器件的不同,将计算机的发展划分为四代
B.由于20世纪90年代计算机网络的发展,计算机应用进入了“网络计算模式”
C.目前所有的服务器产品均为小型计算机、大型计算机或巨型计算机,PC不能作为网络服务器使用 √
D.美国的HP、DELL和我国的联想、方正、同方等均是知名的PC品牌
解析:
3.下列有关PC主板上CMOS和BIOS的叙述错误的是______。
(分数:2.00)
A.主板上的CNOS芯片是一种易失性存储器,它通常使用电池供电
是存储在主板上闪烁存储器中的一组程序,每次机器加电时总是首先执行其中的程序
设置程序存储在CMOS存储器中,它与BIOS无关 √
芯片中存储了许多配置信息,包括当前的日期与时间、开机密码等
解析:
4.下列有关扫描仪与数码相机的叙述错误的是______。
(分数:2.00)
A.扫描仪分为平板扫描仪、手持扫描仪、滚筒扫描仪等多种类型,相对来说使用平板扫描仪的较多
B.光学分辨率是扫描仪的主要性能指标,其单位为dpi
C.目前数码相机的成像芯片为CCD或CMOS,它可以将光信号转换为电信号
D.数码相机所拍摄的数字图像以GIF格式存储在存储卡中 √
解析:
5.通用的应用软件可以分为若干类型,例如文字处理软件、信息检索软件、媒体播放软件等。在下列软件中,不属于文字处理软件的是______。
(分数:2.00)
Acrobat
√
解析:
6.下列有关算法的叙述错误的是______。
(分数:2.00)
A.算法的设计一般采用由细到粗、由具体到抽象的方法 √
B.算法设计方法有多种,例如枚举法、迭代法、递归法等
C.算法的表示可以有多种形式,例如文字说明、流程图表示、伪代码等
D.一个问题的解决往往可以有多种不同的算法 解析:
7.下列有关调制解调技术、多路复用技术的叙述错误的是______。
(分数:2.00)
A.调制与解调技术中使用的“载波”信号,通常是低频正弦波信号 √
B.调制技术可以分为幅度调制、频率调制和相位调制
C.多路复用技术的作用主要是提高传输线路的利用率,降低通信成本
D.多路复用技术可以分为时分复用、频分复用等类型
解析:
8.下列与IP地址相关的叙述错误的是______。
(分数:2.00)
地址由三个部分组成,从左到右分别代表类型号、网络号和主机号
B.因特网上的每台在线主机都必须有IP地址
C.通过ADSL上网时,用户主机的IP地址通常是由因特网服务提供者动态分配的
D.网络中的路由器不需要设置IP地址 √
解析:
9.目前有线电视(CATV)系统已经广泛采用数字技术传输电视节目。下列是有关数字有线电视的相关叙述,其中错误的是______。
(分数:2.00)
A.数字有线电视采用光纤同轴电缆混合网,其主干线部分采用光纤连接到“小区”
B.数字有线电视网络依赖于时分多路复用技术 √
C.借助数字有线电视网络接入因特网,需要专用的Cable Modem或互动式机顶盒
D.借助数字有线电视网络接入因特网的多个终端用户共享连接段线路的带宽
解析:
10.在未压缩的情况下,存储一幅分辨率为1024×1024的24位彩色数字图像需要的存储空间大约为______。
(分数:2.00)
A.24KB
B.3MB √
C.8MB
D.24MB
解析:
11.下列有关信息、信息处理、信息技术的叙述错误的是______。
(分数:2.00)
A.信息与物质、能量是客观世界的三大构成要素
B.与信息处理相关的行为和活动主要指信息的分类、计算、分析等,但不包含信息的收集和传递 √
C.现代信息技术的主要特征之一是以数字技术为基础
D.计算机技术、通信技术均属于信息技术
解析:
12.下列有关计算机发展与分类的叙述错误的是______。
(分数:2.00)
A.数字电子计算机诞生于20世纪40年代,个人计算机(微型计算机)诞生于20世纪80年代初 √
B.第4代计算机的CPU主要采用中小规模集成电路,第5代计算机采用超大规模集成电路
C.计算机分类有多种方法,按其内部逻辑结构通常分为16位机、32位机或64位机等,目前使用的PC大多是32位机或64位机
D.巨型计算机一般采用大规模并行处理的体系结构,我国国防科技大学研制的“天河一号”巨型计算机,其性能可在全球巨型机排行榜中位居前10名
解析:
13.下列有关PC主板与芯片组的叙述错误的是______。
(分数:2.00)
A.台式PC主板的物理尺寸已经标准化 B.有些主板将声卡、网卡、显卡的功能均集成在其中 √
C.芯片组是PC各组成部分相互连接和通信的枢纽,它们与CPU芯片以及I/O接口同步发展
主板上可安装的内存条类型及内存最大容量与芯片组无关
解析:
14.下列有关显示器、显示卡、打印机的叙述错误的是______。
(分数:2.00)
A.目前常见的“宽屏”LCD显示器,其屏幕的宽度与高度之比为4:3
B.对于集成显卡来说,显卡的功能主要由主板上的芯片组来实现 √
C.无论是针式打印机,还是激光/喷墨打印机,均有黑白打印机与彩色打印机之分
D.打印机的主要性能指标之一是打印速度,其单位为PPM
解析:
15.按照软件著作权益的处置方式,软件可以分为商品软件、共享软件、自由软件等类型。下列相关叙述错误的是______。
(分数:2.00)
A.商品软件需要用户付费才能得到其使用权
B.共享软件是具有版权的软件,允许用户有条件地使用
C.自由软件允许使用者随意拷贝、传播,允许修改其源代码但必须公开修改内容 √
D.共享软件、自由软件均属于免费软件
解析:
16.下列有关算法的叙述错误的是______。
(分数:2.00)
A.通俗地说,算法就是解决问题的方法和步骤
B.算法总是在执行了有限步的操作后终止
C.程序是算法的实现,程序与算法是一一对应的 √
D.算法解决的往往是一类问题而不是一个特定的问题
解析:
17.下列是与通信传输介质相关的叙述,其中错误的是______。
(分数:2.00)
A.目前家用的电话线属于五类双绞线 √
B.目前入户的有线电视电缆属于宽带同轴电缆
C.光纤是光导纤维的简称,光纤的纤芯是细石英玻璃丝
D.微波是一种电磁波,它具有类似光波的特性,在空间主要以直线传播
解析:
18.下列有关IP地址与域名的叙述错误的是______。
(分数:2.00)
A.目前使用的IP协议主要是IPv4协议,其IP地址长度为32位
B.因特网是多个网络互联而成的,不同网络中的主机可以具有相同的IP地址 √
C.域名是IP地址的文字表述形式,但不是所有的IP地址都有相应的域名
D.一个IP地址可以有多个对应的域名
解析:
19.下列有关采用ADSL技术接入因特网的叙述错误的是______。
(分数:2.00)
A.计算机中需要安装(集成)以太网网卡
B.需要使用专用的ADSL Modem设备
C.上行与下行传输速率相同,传输速率可达100Mbps √
D.可传送数据、音频、视频等信息
解析: 20.语音在数字化时常用的取样频率为8kHz、量化位数为8bits。若声道数为2,则每分钟的数字语音数据量在未压缩时大约为______。
(分数:2.00)
A.64KB
B.128KB
C.1MB √
D.2MB
解析:
三、第二部分 Visual C++(总题数:0,分数:0.00)
四、选择题(总题数:10,分数:20.00)
21.设有说明语句“int a=1,b=2;float x=3,y=4;”,以下赋值存在语法错误的是______。
(分数:2.00)
A.a=++x;
B.y=++b;
C.b++=x++; √
D.b+=x+++y++
解析:
22.设有说明语句“float f(int &a,int b);int x,y;”,以下对函数f的调用语句正确的是______。
(分数:2.00)
A.f(x,y); √
B.f(&x,y);
C.f(15,20);
D.f(*=x,y);
解析:
23.下列关于函数重载的描述错误的是______。
(分数:2.00)
A.两个或两个以上的函数取相同的函数名,但形参的个数不同
B.两个或两个以上的函数取相同的函数名,各函数的返回值的类型必须不同 √
C.两个或两个以上的函数取相同的函数名,形参的个数相同但类型不同
D.两个或两个以上的函数取相同的函数名,形参的个数不同或类型不同
解析:
24.用友元函数进行双目运算符重载时,该友元函数的参数表中应定义______个参数。
(分数:2.00)
A.0
B.1
C.2 √
D.3
解析:
25.下列有关this指针的叙述错误的是______。
(分数:2.00)
A.当调用对象的非静态成员时,总存在一个this指针
B.非静态成员函数调用类中的成员时,可直接使用this指针
指针隐含地指向要用到的当前对象
D.静态成员函数也存在this指针 √
解析:
26.下列关于switch语句的描述错误的是______。
(分数:2.00)
语句中的default子句可以没有,也可以有一个
语句中的每一个case子句中必须有一个break语句 √ 语句中的default子句可放在switch语句中的任何位置
语句中的case子句后面的表达式只能是整型、字符型或枚举类型常量
解析:
27.设有说明语句“char ss[]={"I am a student."};static float x[20];”,下列选项存在语法错误的是______。
(分数:2.00)
<<ss;
>>ss;
<<x;
>>x; √
解析:
28.设有说明语句“int a=10,b=15,c;”,执行语句“c=a || (a+=b) || (++b);”后a、b、c的值分别为______。
(分数:2.00)
A.10、15、1 √
B.25、16、1
C.10、15、10
D.25、15、1
解析:
29.在C++的集成环境中,系统约定C++源程序文件缺省的扩展名为______。
(分数:2.00)
B.C++
++
√
解析:
30.下列有关抽象类的叙述正确的是______。
(分数:2.00)
A.抽象类不能含有纯虚函数
B.可以定义抽象类的对象
C.在抽象类中至少含有一个没有函数体的虚函数 √
D.抽象类不能作为基类派生出新的类
解析:
五、填空题(总题数:8,分数:40.00)
31.以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2。
#include<iostream.h>
void main(void)
{
int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20};
int sum1,sum2,i,j;
for(sum1=0,sum2=0,i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(i==j)
sum1 +=a[i][j];
if(i+j==3)
sum2+=a[i][j];
} }
cout<<"sum1="<<sum1<<endl;
cout<<"sum2="<<sum2<<endl;
}
(分数:5.00)
解析:sum1=38、sum2=34
32.以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2。
#include<iostream.h>
void fun(int x,int *y)
{
x+=*y;
*y+=x;
}
void main(void)
{
int x=5,y=10;
fun(x,&y);
fun(y,&x);
cout<<"x="<<x<<endl;
cout<<"y="<<y<<endl;
}
(分数:5.00)
解析:x=35、y=25
33.以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2,第四行是 3。
#include<iostream.h>
void f(char *p1,char *p2)
{
int count1=0,count2;
while(p1[count1]!="/0")
{
count2=0;
while(p2[count2]!="/0")
{
if(p1[count1]==p2[count2])
{
cout<<count2<<"/t"<<p1[count1]<<endl;
break;
}
count2 ++;
}
count1 ++;
}
}
void main(void)
{
char *str1="abcdefghijk";
char *str2="123i4bc78h9"; f(str1,str2);
}
(分数:5.00)
解析:5 b、6 c、3 i
34.以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2,第三行是 3。
#include<iostream.h>
class Bclass{
public:
Bclass(int i,int j)
{
x=i;
y=j;
}
virtual int fun()
{
return x*y;
}
virtual int fun(int i)
{
return x+y;
}
int get(int &a)
{
a=x;
return y;
}
private:
int x,y;
};
class Iclass:public Bclass
{
public:
Iclass(int i,int j,int k):Bclass(i,j)
{
z=i+j+k;
}
int fun()
{
int a,b;
b=get(a);
return(a+b+z)/3;
}
private:
int z;
};
void main(void)
{
Iclass obj(2,4,10); Bclass p1=obj;
cout<<()<<endl;
Bclass *p3=&obj;
cout<<p3->fun()<<endl;
cout<<p3->fun(2)<<endl;
}
(分数:5.00)
解析:8、7、6
35.以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2。
#include<iostream.h>
#include<math.h>
int fun(int a,int b)
{
int n;
while(a!=b)
{
n=abs(a-b);
a=(a>b)?b:a;
b=n;
}
return a;
}
void main()
{
cout<<fun(9,15)<<"/n"<<fun(9,5)<<endl;
}
(分数:5.00)
解析:3、1
36.以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2。
#include<iostream.h>
void main(void)
{
int x=0,y=0,i,j;
for(i=0;i<4;i++)
{
x++;
for(j=0;j<5;j++)
{
if(j%2)
{
y++;
continue;
}
x++;
}
}
cout<<"x="<<x<<endl; cout<<"y="<<y<<endl;
}
(分数:5.00)
解析:x=16、y=8
37.以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2,第三行是 3。
#include<iostream.h>
int func(int a,int b)
{
static int k;
int result;
k=k+1;
if(a%b==0)
result=a;
else
result=func(a+a/k,b);
cout<<a<<"/t"<<k<<endl:
return result;
}
void main(void)
{
cout<<func(3,9)<<endl;
}
(分数:5.00)
解析:9 3、6 3、3 3
38.以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2,第三行是 3。
#include<iostream.h>
class Base
{
public:
Base(int a,int b)
{
x=a;
y=b;
}
void display();
virtual void f1()
{
cout<<x+y<<"/n";
}
virtual void f2()
{
cout<<x-y<<"/n";
}
void f3()
{
cout<<x*y<<"/n";
} private:
int x,y;
};
void Base ::display()
{
f1();
f2();
f3();
}
class Sclass:public Base
{
public:
Sclass(int a,int b,int c,int d):Base(a,b)
{
m=c;
n=d;
}
void f2()
{
cout<<m-n<<"/n";
}
void f3()
{
cout<<m*n<<"/n";
}
private:
int m,n;
};
void main(void)
{
Sclass s1(20,10,60,20);
Base *p=&s1;
p->display();
}
(分数:5.00)
解析:30、40、200
2023年12月7日发(作者:文城)
江苏省二级VISUAL C++-2
(总分:100.00,做题时间:90分钟)
一、第一部分 计算机基础知识(总题数:0,分数:0.00)
二、选择题(总题数:20,分数:40.00)
1.下列有关信息产业、信息化、信息社会等相关的叙述错误的是______。
(分数:2.00)
A.信息产业是指生产制造信息设备的制造业,不包含信息服务行业 √
B.信息化是一个推动人类社会从工业社会向信息社会转变的过程
C.在信息社会中,信息将借助材料和能源的力量产生重要价值而成为社会进步的基本要素
D.目前我国还处于工业化的中期阶段,需要大力推进信息化与工业化的融合式发展
解析:
2.下列有关计算机发展与分类的叙述错误的是______。
(分数:2.00)
A.人们通常根据计算机采用的主要电子元器件的不同,将计算机的发展划分为四代
B.由于20世纪90年代计算机网络的发展,计算机应用进入了“网络计算模式”
C.目前所有的服务器产品均为小型计算机、大型计算机或巨型计算机,PC不能作为网络服务器使用 √
D.美国的HP、DELL和我国的联想、方正、同方等均是知名的PC品牌
解析:
3.下列有关PC主板上CMOS和BIOS的叙述错误的是______。
(分数:2.00)
A.主板上的CNOS芯片是一种易失性存储器,它通常使用电池供电
是存储在主板上闪烁存储器中的一组程序,每次机器加电时总是首先执行其中的程序
设置程序存储在CMOS存储器中,它与BIOS无关 √
芯片中存储了许多配置信息,包括当前的日期与时间、开机密码等
解析:
4.下列有关扫描仪与数码相机的叙述错误的是______。
(分数:2.00)
A.扫描仪分为平板扫描仪、手持扫描仪、滚筒扫描仪等多种类型,相对来说使用平板扫描仪的较多
B.光学分辨率是扫描仪的主要性能指标,其单位为dpi
C.目前数码相机的成像芯片为CCD或CMOS,它可以将光信号转换为电信号
D.数码相机所拍摄的数字图像以GIF格式存储在存储卡中 √
解析:
5.通用的应用软件可以分为若干类型,例如文字处理软件、信息检索软件、媒体播放软件等。在下列软件中,不属于文字处理软件的是______。
(分数:2.00)
Acrobat
√
解析:
6.下列有关算法的叙述错误的是______。
(分数:2.00)
A.算法的设计一般采用由细到粗、由具体到抽象的方法 √
B.算法设计方法有多种,例如枚举法、迭代法、递归法等
C.算法的表示可以有多种形式,例如文字说明、流程图表示、伪代码等
D.一个问题的解决往往可以有多种不同的算法 解析:
7.下列有关调制解调技术、多路复用技术的叙述错误的是______。
(分数:2.00)
A.调制与解调技术中使用的“载波”信号,通常是低频正弦波信号 √
B.调制技术可以分为幅度调制、频率调制和相位调制
C.多路复用技术的作用主要是提高传输线路的利用率,降低通信成本
D.多路复用技术可以分为时分复用、频分复用等类型
解析:
8.下列与IP地址相关的叙述错误的是______。
(分数:2.00)
地址由三个部分组成,从左到右分别代表类型号、网络号和主机号
B.因特网上的每台在线主机都必须有IP地址
C.通过ADSL上网时,用户主机的IP地址通常是由因特网服务提供者动态分配的
D.网络中的路由器不需要设置IP地址 √
解析:
9.目前有线电视(CATV)系统已经广泛采用数字技术传输电视节目。下列是有关数字有线电视的相关叙述,其中错误的是______。
(分数:2.00)
A.数字有线电视采用光纤同轴电缆混合网,其主干线部分采用光纤连接到“小区”
B.数字有线电视网络依赖于时分多路复用技术 √
C.借助数字有线电视网络接入因特网,需要专用的Cable Modem或互动式机顶盒
D.借助数字有线电视网络接入因特网的多个终端用户共享连接段线路的带宽
解析:
10.在未压缩的情况下,存储一幅分辨率为1024×1024的24位彩色数字图像需要的存储空间大约为______。
(分数:2.00)
A.24KB
B.3MB √
C.8MB
D.24MB
解析:
11.下列有关信息、信息处理、信息技术的叙述错误的是______。
(分数:2.00)
A.信息与物质、能量是客观世界的三大构成要素
B.与信息处理相关的行为和活动主要指信息的分类、计算、分析等,但不包含信息的收集和传递 √
C.现代信息技术的主要特征之一是以数字技术为基础
D.计算机技术、通信技术均属于信息技术
解析:
12.下列有关计算机发展与分类的叙述错误的是______。
(分数:2.00)
A.数字电子计算机诞生于20世纪40年代,个人计算机(微型计算机)诞生于20世纪80年代初 √
B.第4代计算机的CPU主要采用中小规模集成电路,第5代计算机采用超大规模集成电路
C.计算机分类有多种方法,按其内部逻辑结构通常分为16位机、32位机或64位机等,目前使用的PC大多是32位机或64位机
D.巨型计算机一般采用大规模并行处理的体系结构,我国国防科技大学研制的“天河一号”巨型计算机,其性能可在全球巨型机排行榜中位居前10名
解析:
13.下列有关PC主板与芯片组的叙述错误的是______。
(分数:2.00)
A.台式PC主板的物理尺寸已经标准化 B.有些主板将声卡、网卡、显卡的功能均集成在其中 √
C.芯片组是PC各组成部分相互连接和通信的枢纽,它们与CPU芯片以及I/O接口同步发展
主板上可安装的内存条类型及内存最大容量与芯片组无关
解析:
14.下列有关显示器、显示卡、打印机的叙述错误的是______。
(分数:2.00)
A.目前常见的“宽屏”LCD显示器,其屏幕的宽度与高度之比为4:3
B.对于集成显卡来说,显卡的功能主要由主板上的芯片组来实现 √
C.无论是针式打印机,还是激光/喷墨打印机,均有黑白打印机与彩色打印机之分
D.打印机的主要性能指标之一是打印速度,其单位为PPM
解析:
15.按照软件著作权益的处置方式,软件可以分为商品软件、共享软件、自由软件等类型。下列相关叙述错误的是______。
(分数:2.00)
A.商品软件需要用户付费才能得到其使用权
B.共享软件是具有版权的软件,允许用户有条件地使用
C.自由软件允许使用者随意拷贝、传播,允许修改其源代码但必须公开修改内容 √
D.共享软件、自由软件均属于免费软件
解析:
16.下列有关算法的叙述错误的是______。
(分数:2.00)
A.通俗地说,算法就是解决问题的方法和步骤
B.算法总是在执行了有限步的操作后终止
C.程序是算法的实现,程序与算法是一一对应的 √
D.算法解决的往往是一类问题而不是一个特定的问题
解析:
17.下列是与通信传输介质相关的叙述,其中错误的是______。
(分数:2.00)
A.目前家用的电话线属于五类双绞线 √
B.目前入户的有线电视电缆属于宽带同轴电缆
C.光纤是光导纤维的简称,光纤的纤芯是细石英玻璃丝
D.微波是一种电磁波,它具有类似光波的特性,在空间主要以直线传播
解析:
18.下列有关IP地址与域名的叙述错误的是______。
(分数:2.00)
A.目前使用的IP协议主要是IPv4协议,其IP地址长度为32位
B.因特网是多个网络互联而成的,不同网络中的主机可以具有相同的IP地址 √
C.域名是IP地址的文字表述形式,但不是所有的IP地址都有相应的域名
D.一个IP地址可以有多个对应的域名
解析:
19.下列有关采用ADSL技术接入因特网的叙述错误的是______。
(分数:2.00)
A.计算机中需要安装(集成)以太网网卡
B.需要使用专用的ADSL Modem设备
C.上行与下行传输速率相同,传输速率可达100Mbps √
D.可传送数据、音频、视频等信息
解析: 20.语音在数字化时常用的取样频率为8kHz、量化位数为8bits。若声道数为2,则每分钟的数字语音数据量在未压缩时大约为______。
(分数:2.00)
A.64KB
B.128KB
C.1MB √
D.2MB
解析:
三、第二部分 Visual C++(总题数:0,分数:0.00)
四、选择题(总题数:10,分数:20.00)
21.设有说明语句“int a=1,b=2;float x=3,y=4;”,以下赋值存在语法错误的是______。
(分数:2.00)
A.a=++x;
B.y=++b;
C.b++=x++; √
D.b+=x+++y++
解析:
22.设有说明语句“float f(int &a,int b);int x,y;”,以下对函数f的调用语句正确的是______。
(分数:2.00)
A.f(x,y); √
B.f(&x,y);
C.f(15,20);
D.f(*=x,y);
解析:
23.下列关于函数重载的描述错误的是______。
(分数:2.00)
A.两个或两个以上的函数取相同的函数名,但形参的个数不同
B.两个或两个以上的函数取相同的函数名,各函数的返回值的类型必须不同 √
C.两个或两个以上的函数取相同的函数名,形参的个数相同但类型不同
D.两个或两个以上的函数取相同的函数名,形参的个数不同或类型不同
解析:
24.用友元函数进行双目运算符重载时,该友元函数的参数表中应定义______个参数。
(分数:2.00)
A.0
B.1
C.2 √
D.3
解析:
25.下列有关this指针的叙述错误的是______。
(分数:2.00)
A.当调用对象的非静态成员时,总存在一个this指针
B.非静态成员函数调用类中的成员时,可直接使用this指针
指针隐含地指向要用到的当前对象
D.静态成员函数也存在this指针 √
解析:
26.下列关于switch语句的描述错误的是______。
(分数:2.00)
语句中的default子句可以没有,也可以有一个
语句中的每一个case子句中必须有一个break语句 √ 语句中的default子句可放在switch语句中的任何位置
语句中的case子句后面的表达式只能是整型、字符型或枚举类型常量
解析:
27.设有说明语句“char ss[]={"I am a student."};static float x[20];”,下列选项存在语法错误的是______。
(分数:2.00)
<<ss;
>>ss;
<<x;
>>x; √
解析:
28.设有说明语句“int a=10,b=15,c;”,执行语句“c=a || (a+=b) || (++b);”后a、b、c的值分别为______。
(分数:2.00)
A.10、15、1 √
B.25、16、1
C.10、15、10
D.25、15、1
解析:
29.在C++的集成环境中,系统约定C++源程序文件缺省的扩展名为______。
(分数:2.00)
B.C++
++
√
解析:
30.下列有关抽象类的叙述正确的是______。
(分数:2.00)
A.抽象类不能含有纯虚函数
B.可以定义抽象类的对象
C.在抽象类中至少含有一个没有函数体的虚函数 √
D.抽象类不能作为基类派生出新的类
解析:
五、填空题(总题数:8,分数:40.00)
31.以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2。
#include<iostream.h>
void main(void)
{
int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20};
int sum1,sum2,i,j;
for(sum1=0,sum2=0,i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(i==j)
sum1 +=a[i][j];
if(i+j==3)
sum2+=a[i][j];
} }
cout<<"sum1="<<sum1<<endl;
cout<<"sum2="<<sum2<<endl;
}
(分数:5.00)
解析:sum1=38、sum2=34
32.以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2。
#include<iostream.h>
void fun(int x,int *y)
{
x+=*y;
*y+=x;
}
void main(void)
{
int x=5,y=10;
fun(x,&y);
fun(y,&x);
cout<<"x="<<x<<endl;
cout<<"y="<<y<<endl;
}
(分数:5.00)
解析:x=35、y=25
33.以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2,第四行是 3。
#include<iostream.h>
void f(char *p1,char *p2)
{
int count1=0,count2;
while(p1[count1]!="/0")
{
count2=0;
while(p2[count2]!="/0")
{
if(p1[count1]==p2[count2])
{
cout<<count2<<"/t"<<p1[count1]<<endl;
break;
}
count2 ++;
}
count1 ++;
}
}
void main(void)
{
char *str1="abcdefghijk";
char *str2="123i4bc78h9"; f(str1,str2);
}
(分数:5.00)
解析:5 b、6 c、3 i
34.以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2,第三行是 3。
#include<iostream.h>
class Bclass{
public:
Bclass(int i,int j)
{
x=i;
y=j;
}
virtual int fun()
{
return x*y;
}
virtual int fun(int i)
{
return x+y;
}
int get(int &a)
{
a=x;
return y;
}
private:
int x,y;
};
class Iclass:public Bclass
{
public:
Iclass(int i,int j,int k):Bclass(i,j)
{
z=i+j+k;
}
int fun()
{
int a,b;
b=get(a);
return(a+b+z)/3;
}
private:
int z;
};
void main(void)
{
Iclass obj(2,4,10); Bclass p1=obj;
cout<<()<<endl;
Bclass *p3=&obj;
cout<<p3->fun()<<endl;
cout<<p3->fun(2)<<endl;
}
(分数:5.00)
解析:8、7、6
35.以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2。
#include<iostream.h>
#include<math.h>
int fun(int a,int b)
{
int n;
while(a!=b)
{
n=abs(a-b);
a=(a>b)?b:a;
b=n;
}
return a;
}
void main()
{
cout<<fun(9,15)<<"/n"<<fun(9,5)<<endl;
}
(分数:5.00)
解析:3、1
36.以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2。
#include<iostream.h>
void main(void)
{
int x=0,y=0,i,j;
for(i=0;i<4;i++)
{
x++;
for(j=0;j<5;j++)
{
if(j%2)
{
y++;
continue;
}
x++;
}
}
cout<<"x="<<x<<endl; cout<<"y="<<y<<endl;
}
(分数:5.00)
解析:x=16、y=8
37.以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2,第三行是 3。
#include<iostream.h>
int func(int a,int b)
{
static int k;
int result;
k=k+1;
if(a%b==0)
result=a;
else
result=func(a+a/k,b);
cout<<a<<"/t"<<k<<endl:
return result;
}
void main(void)
{
cout<<func(3,9)<<endl;
}
(分数:5.00)
解析:9 3、6 3、3 3
38.以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2,第三行是 3。
#include<iostream.h>
class Base
{
public:
Base(int a,int b)
{
x=a;
y=b;
}
void display();
virtual void f1()
{
cout<<x+y<<"/n";
}
virtual void f2()
{
cout<<x-y<<"/n";
}
void f3()
{
cout<<x*y<<"/n";
} private:
int x,y;
};
void Base ::display()
{
f1();
f2();
f3();
}
class Sclass:public Base
{
public:
Sclass(int a,int b,int c,int d):Base(a,b)
{
m=c;
n=d;
}
void f2()
{
cout<<m-n<<"/n";
}
void f3()
{
cout<<m*n<<"/n";
}
private:
int m,n;
};
void main(void)
{
Sclass s1(20,10,60,20);
Base *p=&s1;
p->display();
}
(分数:5.00)
解析:30、40、200