江苏省二级VISUAL C++-3
(总分100, 做题时间90分钟)
第一部分 计算机基础知识
选择题
1. 
下列有关通信技术的叙述错误的是______。
A 无论是模拟通信还是数字通信,目前都是通过载波技术实现远距离的信息传输
B 多路复用技术可以降低信息传输的成本,常用的多路复用技术有TDM和FDM
C 卫星通信属于微波通信,它是微波接力通信技术和空间技术相结合的产物
D 目前3G移动通信有多种技术标准,我国三大电信运营商均采用同一标准
2. 
设有补码表示的两个单字节带符号整数a=01001110和b=01001111,则a-b的结果用补码表示为______。
A 11111111
B 10011101
C 00111111
D 10111111
3. 
有关PC中央处理器(CPU)和内存(内存条),下列叙述错误的是______。
A 目前PC所使用的Pentium和Core 2微处理器的指令系统有数百条不同的指令
B 所谓双核CPU或四核CPU,是指CPU由两个或四个芯片组成
C DDR内存条、DDR2内存条在物理结构上有所不同,如它们的引脚数目不同
D 通常台式机中的内存条与笔记本电脑中的内存条不同,不能互换
4. 
蓝光光盘(BD)是全高清影片的理想存储介质,其单层盘片的存储容量大约为______。
A 4.7GB
B 8.5GB
C 17GB
D 25GB
5. 
下列有关计算机软件的叙述错误的是______。
A 软件的主体是程序,单独的数据和文档资料不能称为软件
B 软件受知识产权(版权)法的保护,用户购买软件后仅得到了使用权
C 软件的版权所有者不一定是软件的作者(设计人员)
D 共享软件允许用户对其进行修改,且可在修改后散发
6. 
下列有关算法和程序关系的叙述正确的是______。
A 算法必须使用程序设计语言进行描述
B 算法与程序是一一对应的
C 算法是程序的简化
D 程序是算法的具体实现
7. 
无线局域网是以太网与无线通信技术相结合的产物,其采用的网络协议主要是IEEE制定的______。
A IEEE 802.3
B IEEE 802.11
C IEEE 1394
D IEEE 1394b
8. 
因特网由大量的计算机和信息资源组成,它为网络用户提供了非常丰富的网络服务。下列与WWW服务相关的叙述错误的是______。
A WWW采用客户机/服务器工作模式
B 网页到网页的链接信息由URL指出
C 浏览器是客户端应用程序
D 所有的网页均是HTML文档
9. 
下列与数字图像/图形相关的叙述错误的是______。
A 彩色图像在数字化过程中需进行分色处理,然后对不同的基色进行取样和量化
B 如果某RGB图像的像素深度为12,则可表示的颜色数目为236
C 数码相机常用JPEG格式保存图像文件,该格式的图像大多采用有损压缩编码
D 图形是计算机合成的图像,也称为矢量图形
10. 
下列几种类型的信息系统软件中,不属于计算机集成制造系统(CIMS)范畴(或者说与CIMS无直接关系)的是______。
A GIS
B CAM
C MRP
D ERP
11. 
微电子技术是信息技术领域中的关键技术,它以集成电路为核心。下列有关集成电路的叙述错误的是______。
A 现代集成电路使用的半导体材料只能是硅(Si),不能使用其他任何半导体材料
B 集成度是指集成电路包含的电子元件数目,可分为SSI、MSI、VLSI等
C Moore定律指出,单块集成电路的集成度平均每18~24个月翻一番
D 我国第二代身份证中嵌入了集成电路芯片,可以实现电子防伪和数字管理功能
12. 
所谓“变号操作”,是指将一个整数变成绝对值相同但符号相反的另一个整数。假设使用补码表示的8位整数x=10010101,则经过变号操作后结果为______。
A 01101010
B 00010101
C 11101010
D 01101011
13. 
有关PC中央处理器(CPU)和内存(内存条),下列叙述正确的是______。
A PC所采用的CPU都是Intel公司生产的Pentium系列芯片,其他厂商生产的CPU都与之不兼容
B 目前已有双核的微处理器(如Core 2 Duo),但还没有四核的微处理器
C 通常来说,DRAM的速度比SRAM的存取速度慢
D 一般来说,一个内存条上仅有一个DRAM或SRAM芯片
14. 
下列有关PC常用I/O设备的叙述错误的是______。
A 目前台式机键盘通常有一百零几个按键,笔记本电脑的键盘有八十几个按键
B 目前流行的鼠标是光电鼠标,其与主机的接口有PS/2与USB两种
C 宽屏LCD显示器的宽高比为16:9或16:10
D 打印速度是打印机的重要性能指标,速度单位通常为dpi
15. 
下列有关计算机软件的叙述错误的是______。
A 软件一般是指程序及其相关的数据和文档资料
B 从软件的用途考虑,软件可以分为系统软件和应用软件,主要的系统软件有操作系统、语言处理系统和数据库管理系统等
C 从软件的权益来考虑,软件可以分为商品软件、共享软件和自由软件,共享软件和自由软件均为无版权的免费软件
D Linux是一种系统软件、自由软件
16. 
下列有关Windows XP操作系统功能的叙述错误的是______。
A 系统通过“时间片”轮转策略支持多任务处理
B 系统利用SPOOLing技术进行存储管理
C 在设备管理中引入了缓冲技术,以减少I/O操作的等待时间
D 系统支持PnP功能,并按ACPI标准进行电源管理
17. 
局域网中需要传输的数据必须预先组织成若干数据帧,每一数据帧的格式如下图所示:

上图中最末部分“?”表示的是______。
A 协议信息
B 校验信息
C 冗余信息
D 结束标志
18. 
下列网络协议中,直接与电子邮件传输相关的网络协议是______。
A FTP
B SMTP
C Telnet
D NNTP
19. 
彩色图像所使用的颜色描述方法称为颜色模型(即颜色空间)。下列四种颜色模型中,彩色喷墨打印机使用的是______。
A RGB
B HSB
C YUV
D CMYK
20. 
信息系统软件开发瀑布模型包括系统规划、系统分析、系统设计、系统实施和系统维护等几个阶段。下面各项工作中,属于系统实施阶段的是______。
A 问题定义
B 可行性研究
C 系统测试
D 绘制E-R图
第二部分 Visual C++
一、选择题
1. 
在C++中,没有this指针的函数是______。
A 静态成员函数
B 构造函数
C 析构函数
D 非静态的内联成员函数
2. 
C++的break语句______。
A 可用在能出现语句的任意位置
B 只能用在循环体内
C 只能用在循环体内或switch语句中
D 能用在任一复合语句中
3. 
在C++中,用非成员函数重载双目运算符时,其参数表中的参数个数为______。
A 0个
B 1个
C 2个
D 3个
4. 
下列关于C++标识符的描述错误的是______。
A 标识符必须以字母或下划线开头
B 标识符可以用任何字符开头
C 标识符区分大小写字母
D 用户定义的标识符不能与关键字相同
5. 
下列关于C++类的叙述错误的是______。
A 类可以动态地描述和动态地产生
B 虚基类可以解决多重继承中的二义性
C 类是具有相同行为的若干对象的统一抽象
D 类是创建对象的一个样板
6. 
下列关于C++变量的存储类型和作用域的叙述正确的是______。
A 可将变量分为:auto、static、extern、register和array五种存储类型
B 自动变量的作用域为整个程序文件
C 函数内定义的静态变量的作用域为整个程序文件
D 以某花括号“{”开头定义的变量,其作用域为该开花括号至对应的闭花括号内
7. 
设有变量说明“char a[20],*pa=a;”,以下语句没有语法错误的是______。
A a[20]="Hello";
B a="Hello";
C *pa="Hello";
D pa="Hello";
8. 
下列有关C++构造函数的叙述正确的是______。
A 构造函数的名字可与类名不同
B 可定义构造函数的返回值类型
C 构造函数可由系统自动调用
D 可以存在没有构造函数的类
9. 
在C++派生类中定义虚函数时,可以与基类中相应的虚函数不同的是______。
A 参数类型
B 函数体
C 参数个数
D 函数返回值的类型
10. 
下列关于C++函数的叙述错误的是______。
A 函数必须有返回值
B 在不同的函数中可定义同名的变量
C 一个函数中可有多条return语句
D 函数的定义不能嵌套,但函数的调用可嵌套
二、填空题
1. 
以下程序运行时输出到屏幕的结果中,第一行是______,第二行是______。
#include<iostream.h>
#define M 3
#define N 4
void fun(int a[M][N])
{
int i,j,p;
for(i=0;i<M;i++)
{
p=0;
for(j=1;j<N;j++)
if(a[i][p]>a[i][j])
p=j;
cout<<a[i][p]<<endl;
}
}
void main()
{
int a[M][N]={{-1,5,7,4},{5,2,4,3},{8,2,3,0}};
fun(a);
}
2. 
以下程序运行时输出到屏幕的结果中,第一行是______,第二行是______。
#include<iostream.h>
void swap(int *p1,int *p2)
{
int *p;
p=p1;
p1=p2;
p2=p;
}
void main(void)
{
int x=50,y=100;
cout<<"x="<<x<<"\t"<<"y="<<y<<endl;
swap(&x,&y);
cout<<"x="<<x<<"\t"<<"y="<<y<<endl;
}
3. 
以下程序运行时输出到屏幕的结果中,第二行是______,第四行是______,第六行是______。
#include<iostream.h>
void fun(int *a,int i,int j)
{
int t;
if(i<=j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
fun(&a[i+1],i+2,j-1);
}
}
void main()
{
int a[]={1,2,3,4,5,6},i;
fun(a,0,5);
for(i=0;i<6;i++)
cout<<a[i]<<endl;
}
4. 
以下程序运行时输出到屏幕的结果中,第一行是______,第二行是______,第三行是______。
#include<iostream.h>
#include<string.h>
class Person{
public:
Person(char *s)
{
name=new char[strlen(s)+1];
strcpy(name,s);
}
virtual void print()
{
cout<<"我的名字是:"<<name<<"\n";
}
protected:
char *name;
};
class Student:public Person
{
public:
Student(char *s,char *p):Person(s)
{
strcpy(num,p);
}
void print(char *s)
{
cout<<s;
cout<<"我的名字是:"<<name<<",学号是:"<<num<<". \n";
}
private:
char num[10];
};
class Professor:public Person
{
public:
Professor(char *s,int n):person(s)
{
publs=n;
}
void print()
{
cout<<"我的名字是:"<<name<<",发表论文数为:"<<publs<<"篇
\n";
}
private:
int publs;
};
void main()
{
Person *p;
Person x("张明");
Student y("王海","20120501");
Professor z("李涛",5);
p=&x;
p->print();
p=&y;
p->print();
p=&z;
p->print();
}
5. 
以下程序运行时输出到屏幕的结果中第一行是______,第二行是______。
#include<iostream.h>
void fun(int *a,int b)
{
while(b>0)
{
*a+=b:
b--;
}
}
void main()
{
int x=0,y=3;
fun(&x,y);
cout }
6. 
以下程序运行时输出到屏幕的结果中第一行是______,第二行是______。
#include<iostream.h>
void main(void)
{
char *s="2473",c;
while(c=*s++)
{
switch(c-"2")
{
case 0:
case 1:
cout<<(char)(c+4)<<"\t";
case 2:
cout<<(char)(c+4)<<"\t";
break;
case 3:
cout<<(char)(c+3)<<"\t";
default:
cout<<(char)(c+2)<<"\n";
}
}
cout<<endl;
}
7. 
以下程序运行时输出到屏幕的结果中第一行是______,第二行是______,第三行是______。
#include<iostream.h>
int f(int n,int x)
{
x+=1;
if(n==3)
return x;
else
return x+f(n+1,x);
}
void main()
{
cout<<f(3,1)<<endl;
cout<<f(2,1)<<endl;
cout<<f(1,1)<<endl;
}
8. 
以下程序运行时输出到屏幕的结果中第一行是______,第二行是______,最后一行是______。
#include<iostream.h>
class B
{
public:
B(int a=0)
{
cout<<"B class"<<endl:
}
~B()
{
cout<<"~B class:<<endl;
}
};
class A:public B
{
public:
A()
{
cout<<"A class"<<endl;
}
};
void f()
{
static A a;
cout<<"f()"<<"\n";
}
void main()
{
f();
f();
}
答题卡