2007春-2010年秋 江苏省计算机二级visual C++ 历年真题及答案(笔试)

更新时间:2023-06-06 10:25:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

江苏省计算机二级visual C++ 历年真题及答案

2007年春

江苏省高等学校非计算机专业学生 计算机基础知识和应用能力等级考试

二级试卷

试卷语种: Visual 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.比特是组成数字信息的最小单位 B.比特只有“O”和“1”两个符号

C.比特既可以表示数值和文字,也可以表示图像和声音 D. 比特”1”总是大于比特“0”

2. 在下列有关集成电路的叙述中,错误的是 ( 2 ) A.现代集成电路使用的半导体材料主要是硅

B.大觑模集成电路一般以功能部件、子系统为集成对象 C.我国第2代居民身份证中包含有IC芯片

D 目前超大规模集成电路中晶体管的基本线条已小到l纳米左右 3. 在下列有关通信技术的叙述中,错误的是 ( 3 )

A.通信的基本任务是传递信息,因而至少需由信源、信宿和信道组成 B.通信可分为模拟通信和数字通信,计算机网络属于模拟通信

c.在通信系统中,采用多路复用技术的目的主要是提高传输线路龟利用率 ’D 学校的计算机机房一般采甩5类无屏蔽双绞线作为局域网的传输介质 4.下面是关于PC机主存储器的一些叙述,其中正确的是( 4 ) A.主存储器是一种动态随机存取存储器(RAM) B.主存储器的基本编址单位是字(即32个二进位)

C.目前市场上销售的PC机,其内存容量可达数十GB D.所有PC机的内存条都是通用的:可以互换

5. 现行PC机中,IDE(或SATA)接口标准主要用于( 5 ) A.打印机与主机的连接 c.声卡与主机的连接

江苏省计算机二级visual C++ 历年真题及答案

B.显示器与主机的连接 D.硬盘与主机的连接

6. 下列有关PC机的CPU、内存和主板的叙述中,正确的是( 6 ) 。 A.大多数Pc机只存一块CPu芯片,即使是“双核”CPU也是一块芯片 B.所有Pentium系列微机的内存条相同,仅有速度和容量大小之分

C.主板上芯片组的作用是提供存储器控制功能,I/O控制与芯片组无关 D.主板上CMOS芯片用于存储CMOS设置程序和一些软硬件设置信息 7.下列有关目前Pc机辅助存储器的叙述中,错误的是 ( 7 ) A.硬盘的容量越来越大,这是因为硬盘中磁盘碟片的数目越来越多 B.硬盘的内部传输速率一般小于外部传输速率 c.优盘采用Flash存储器技术,属于半导体存储器

D.目前常见COMBO光驱是一种将CD-RW和DVD-ROM组合在一起的光驱 8.下面有关Windows操作系统,(95以后版本)的叙述中,错误的是 ( 8 ) 。 A.Windows操作系统支持系统中多个任务的并发执行

B.利用Whldows附件“系统工具”中的“系统信息”可以查看内存的工作情况 C.系统规定文件名最多由128个字符组成

D.Vista是Microsoft公司推出的Windows XP操作系统的后继版本

9.算法设计是编写程序的基础。下列关于算法的叙述中,正确的是 ( 9 ) 。 A. 算法必须产生正确的结果 C. 算法可以没有输出

B. 算法必须具有确定性 D.算法的表示必须使计算机能理解

10.因特网使用TCP/IP协议实现全球范围的计算机网络互连,连接在因特网上的每一台主机

都有一个IP地址。下面不能作为IP地址的是( 10 ) A. 120.34.0.18 C. 21.18.33.48 B. 201.256.39.68 D. 37.250.68.0

11.常用局域网有以太网、FDDI网等,下面的叙述中错误的是 ( 11 )

A 总线式以太网采用带冲突检测载波侦听多路访问(CSMA/CD)方法进行通信 B. FDDI网和以太网可以直接进行互连

C 交换式集线器比总线式集线器具有更高的性能,它能提高整个网络的带宽. D FDDI网采用光纤双环结构,具有高可靠性和数据传输的保密性

12.某用户在WWW浏览器地址栏内键入一个URL“/index.htm”,其中 的“/ndex.htm”代表( 12 )

A.协议类型 C.路径及文件名 B.主机域名 D.用户名

13.交换式以太网与总线式以太网在技术上有许多相同之处,下面叙述中错误的是( 13 )

A.使用的传输介质相同 C.传输的信息帧格式相同 B.网络拓扑结构相同 D.使用的网卡相同

14.下面是关于我国汉字编码标准的叙述,其中正确的是 ( 14 ) A.Unicode是我国最新发布的也是收字最多的汉字编码国家标准 B.不同字型(如宋体、楷体等)的同一个汉字在计算机中的内码不同 C.在GBl8030汉字编码标准中,共有2万多个汉字 D.GBl8030与GB2312、GBK汉字编码标准不能兼容

15.数字图像的文件格式有多种,下列哪一种图像文件能够在网页上发布且可具有动画效 果( 15 )

江苏省计算机二级visual C++ 历年真题及答案

A.BMP B.GIF C.JPEG D.TIF 16.声卡是获取数字声音的重要设备,.在下列有关声卡的叙述中,错误的是 A.声卡既负责声音的数字化(输入),也负责声音的重建(输出) B.声卡既处理波形声音,也负责MIDI音乐的合成 。

C.声卡中的数字信号处理器(DSP)在完成数字声音编码、解码及编辑操作中起着重 要的作用

D.因为声卡非常复杂,所以它们都被做成独立的PCI插卡形式

17.彩色图像所使用的颜色描述方法称为颜色模型。显示器使用的颜色模型为RGB三基色模

型,PAL制式的电视系统在传输图像时所使用的颜色模型为 A.YUV B.HSB C.CMYK

18.在信息系统的结构化生命周期开发方法中,绘制E-R图属于( 18 )阶段的工作 A.系统规划 B. 系统分析 C.系统设计 D. 系统实施

19.在下列有关Microsoft Word 2000/2003(中文版)功能的叙述中,( 19 ) A.起始页的页码可以不为1

B.利用菜单命令,可更改所选英文文本的大小写 C.利用菜单命令“字数统计”,可以统计出当前文档的行数和段落数 D.表格中的数据不可排序,也不能利用公式进行统计计算

20.在下列有关Microsoft PowerPoint 200012003(中文版)功能的叙述中,错误的是( )

A.可通过“另存为”操作,将每张幻灯片保存为一个图片文件 B.幻灯片的大小是固定的,用户不可以对其进行设置 C.在排练计时的基础上,可以将幻灯片设置为循环放映

D.可以对字体进行替换,例如将幻灯片中的“宋体”替换为“楷体”

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

一、选择题(用答题卡答题,答案依次填在21~30答题号内) 21.设有说明语句:int d,e;

以下选项中,存在语法错误的是21 。

A.d=9+e==d+2; B.d=e+=2; C.f=g+f=j*k++; D.(++d)++; 22.设有函数调用语句:fun((x1,x2),x3,(x4,x5,x6)); 该函数调用中实参的个数是22 A.2 B.3 C. 5 D.6

23.以下对二维数组的说明中,存在语法错误的是23

A.int a[][3]={3,2,1,1,2,3}; B.int a[][3]={{3,2,1},{1,2,3}};

C.im a[2][3]={1} D.int a[2][]={{3,2,l},{1,2,3}}; 24.以下选项中,存在语法错误的是24。

A.float x,&j=x; B.int c,&d=c,&e=d; C.char b, &k=b; D.int f,&g;g=f; 25.下述关于抽象类的描述中,错误的是25 。 A.可以通过在类中定义纯虚函数的方式定义抽象类 B 不可以创建抽象类的对象

江苏省计算机二级visual C++ 历年真题及答案

C 不可以创建抽象类的引用 D.可以创建抽象类的指针

26.下列有关函数缺省参数的描述中,正确的是26。

A:设置了缺省值的参数左边不允许出现没有指定缺省值的参数 B.同一个函数在同一个文件中可以提供不同缺省参数值

C.参数缺省值要设置在函数定义语句中,不能设置在函数说明语句中 D. 一个函数具有缺省值的参数只能有一个 。| 27.在以下选项中,C++语言不能重载的运算符是27 A.?: B.+ C.[] D.<= 28.假设a是类E的对象,执行语句: E b=a;

则要调用类E中的28 。

A.缺省构造函数 B.operator=()函数 c.拷贝构造函数 D.对象之间的赋值

29.已知在函数set中,语句this一>ff=5;与语句ff=5;的效果完全相同。根据这一结 论,以下叙述中不正确的是29。

A.ff是某个类的数据成员,Set是该类的友元函数 B.ff是某个类的数据成员,Set是该类的成员函数 C.Set不是该类的静态成员函数 D.ff不是该类的常成员数据

30.以下对派生类的描述中,不正确的是30 。 A.一个派生类可以作为另一个派生类的基类 B.派生类至少有一个基类

C.派生类的成员除了它自己的成员以外,还包含它的基类的成员 D.派生类中,从基类继承来的成员的访问权限在派生类中保持不变 二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行) ●基本概念题(共5分)

1.重载函数必须有不同的参数个数或(1 ) 。

2.在派生类中如果没有重载基类中的纯虚函数,则该派生类是(2 ) 类 3.设有以下程序: 、 #include <iostream.h> #define S(X) X*X void main(void) {

int k=2;

cout<<++S(k+k)<<'\n'; }

执行该程序后,输出的结果为( 3n ) ,k的值为( 4 ) 。

4.在多重派生中,若要使公共基类在派生类中只有一个拷贝,则必须将该基类说明 为 ( 5 ) 。

●阅读程序题(共13分) 5.[程序](2分)

#include<iostream.h> void main(void)

江苏省计算机二级visual C++ 历年真题及答案

{

static int a[7]={1},i,j; for(i=1;i<=6;i++) for(j=i;j>0;j--) a[j]+=a[j-1]; for(j=0;j<7;j++)。 cout<<a[j]<<endl; }

程序输出第三行是__6_____,第四行是_____7_______ 6.[程序](3分)

#include<iostream.h> void main(void) {

char s[]="I am a student.You are a student too."; int a[26]={0}; char *P=s:

while(*P++!='A' && *P<='Z') a[*p-'A']++; else if(*P>='a' && *P<='z') a[*p-'a']++; }

for(int i=0;i<26;i++)

if(a[i]!=0) cout<<(char)(i+'a')<<":"<<a[i]<<endl; } 、

程序的第一行输出为 ( 8 ) ,第三行输出为 ( 9 ) 7.[程序](2分)

#include<iostream.h> int f(int n) {

int s=1; if(n==1) s=1; else{

if(n==3) cout<<s<<'\n'; s=n*f(n-1); }

return s; }

void main(void) {

int s; s=f(5);

cout<<"s="<<s<<endl; }

程序的第一行输出为( 10 ),第二行输出为( 11 )

江苏省计算机二级visual C++ 历年真题及答案

8.[程序](2分)

#include <iostream.h> char *f( char *s) {

for(char *p=s, *q=s; *q=*p;p++) if(*q>='0' && *q<='9') q++; return s; }

void main(void) {

char s1[]="It's 4 p.m.", s2[]="3米=3000毫米"; cout<<f(s1)<<endl; cout<<f(s2)<<endl; }

程序输出的第一行是( 12 ),第二行是( 13 ) 9.[程序](3分)

#include <iostream.h> void main(void) {

int a[10]={73,86,89,28,87,69,88,84,64,90}; int b[4]={60,70,90,101}; int c[4]={0};

for(int i=0;i<10;i++){ int j=0;

while(a[i]>=b[j]) j++; c[j]++; }

for(i=0;i<4;i++) cout<<c[i]<<"\n"; cout<<endl: }

程序输出的第一行是__________,第三行是_____________,最后一行是_________ 10.[程序](2分)

#include<iostream.h> class A{

int a; . public:

void seta(int aa){a=aa;}

virtual void print() //第六行 {cout<<a<<'\t';} };

江苏省计算机二级visual C++ 历年真题及答案

class B:public A{ int b; public:

void setb(int bb){b=bb;} void print()

{cout<<b<<'\t';} };

void main(void) {

A a,*P; B b; a.seta(5); b.seta(10); b.setb(20); P=&a: P->print(); P=&b: P->print(); }

程序输出的是( 17 )。如果在第六行中去掉Virtual,则程序输出的是( 18 )。

11. 一个数的各位数字倒过来所得到的新数叫原数的反序数.如果一个数等于它的反序数,则称它为对称数或回文数。求10000—11000之间的二进制对称数

算法说明:先将正整数n的二进制字符形式放在字符数组s2中,二进制字符形式的反序放在字符数组s1中,然后,比较这两个字符串,若相等,则是二进制对称数 #include <iostream.h> #include <string.h> int func(int n, char *s1) {

char ch, s2[33], *p,*q; p=s1; q=s2+32; *q- -=( 19 ) while(n){

ch=( 20 ) //求n的最低二进制位的字符表示形式 n/=2; *p++=ch; *q- -=ch; } *p=0; q++;

if( 21 ) return true; else return false; }

江苏省计算机二级visual C++ 历年真题及答案

void main(void) {

char s[33]={0}; int count=0;

cout<<‖二进制对称数如下:\n‖; for(int n=10000; n<11000; n++) {

if( 22 ){

cout<<‖n=‖<<n<<‖\t二进制形式为:‖<<s<<endl; count++;} }

cout<<‖对称数的个数为:‖<<count<<‘\n‘; }

12.以下程序中的函数fun(int *a, int n)的功能是:把形参a所指向的数组中的最小值放在a[0]中,接着把形参a所指数组中的最大值放在a[1]中;把a所指数组中的次小值放在a[2]中,把a所指数组中的次大值放在a[3]中,其余依次类推,直至将数组中数据依次处理完为止 例如:把a所指向数组中的数据最初排列为:5,1,3,2,9,7,6,8,4.按以上规则移动数组中的数据后,数据的排列为:1,9,2,8,3,7,4,6,5 #include <iostream.h> #define N 9

void fun(int *a, int n) {

int max, min, px, pn, t;

for( int i=0; i<n-1; ___23______){ max=min=a[i]; px=pn=i;

for(int j=i+1; j<n; j++){ if(max<a[j]){ max=a[j]; px=j; }

if(min>a[j]){ min=a[j]; pn=j; } }

if(pn!=i){ t=a[i]; a[i]=min; ____24_____

if(px==i) px=pn; }

if( 25 ){ t=a[i+1];

江苏省计算机二级visual C++ 历年真题及答案

a[i+1]=max; ( 26 ) } } }

void main(void) {

int b[N]={5,1,3,2,9,7,6,8,4};

cout<<‖数组中的数据依次为:‖<<endl; for(int i=0; i<N; i++) cout<<b[i]<<‘\t‘; cout<<endl; fun(b,N);

cout<<‖处理后数组中的数据依次为:‖<<endl; for(i=0; i<N; i++) cout<<b[i]<<‘\t‘; cout<<endl; }

13.下列程序中的函数change(node *pa,int x)的功能是:调整pa指向的链表中结点的 位置。根据参数X的值,使链表中各结点数据域小于X的结点放在链表的前半部,大于等于x

的结点放在链表的后半部,并将X插人这两部分结点之间。

例如,原链表上各结点的数据依次为:3,4,2,1,9,6,5,0,10,6 输入:X=7

经插入新结点后,新链表的各结点数据依次为:3,4,2,1,6,5,0,6,7,9,10 [程序](4分)

#include <iostream.h> struct node{ int data; node *next; };

node *change(node *pa,int x) {

node *pl,*p2,*P,*q; pl=p2=pa;

p=new node; //生成新结点 p->data=x:

while(p2一>data<x && p2一>next!=0){ //找到x应插入的位置 pl=p2;

( 27 ) ; }

if(p2一>next!=0)

p一>next=p2: //插入以X为数据域的结点

江苏省计算机二级visual C++ 历年真题及答案

pl一>next=p: q=pl;

while( 28 ){ //通过循环,将插入结点之后所有数据域小于x的结点前移 if(p2一>data<x){ //数据域小于x的结点插入以x为数据域的新结点之前 pl一>next=( 29 ); p2一>next=p; q一>next=p2; q=p2;

p2=pl一>next; } else {

pl= p2;

p2=p2一>next: } } }

else{ //如果链表中所有结点数据域均小于x,则在链尾插入以x为数据域的新结点 p2一>next=p; ( 30 ) ; }

return pa; }

void main(void) {

node a[10]={{3},{4},{2},{1},{9},{6},{5},{0},{10},{6}},*head=a, *p; int i,x;

for(i=0;i<9;i++) a[i].next=&a[i+1]; a[9].next=NULL;

cout<<"输入x的值:"; cin>>x;

head=change(head,x); p=head; . while(p){

cout<<p一>data<<'\t'; p=p一>next; }

cout<<endl; }

23.D 一、选择题

21.C 24.D 22.B 25.C

江苏省计算机二级visual C++ 历年真题及答案

26.B 27.A 28.C 29.A 30.D

二、填空题

(1)不同的参数类型或者参数类型 (2)抽象 (3)15,3 (4)3

(5)虚基类 (6)15 (7)20 (8)a:4 (9)e:3 (10)1 (11)s=120 (12)4 (13)33000 (14)1 (15)6 (16)1 (17)5 20 (18)5 10 (19)'\0'或0

(20)n%2+'0';或n%2+48

(21)strcmp(sl,q)==0或者!strcmp(sl,q) (22)func(n,s) (23)i+=2或i=i+2 (24)a[pn]=t

(25)px!=i+1或者px—i一1 (26)a[px]=t

(27)p2=p2一>next或p2=pl一>next (28)p2或p2!=0 (29)p2一>next

(30)p一>next=NULL或P一>next=0或P一>next='\0

江苏省计算机二级visual C++ 历年真题及答案

2007年秋

第一部分计算机基础知识

1. 下面关于比特的叙述中,错误的是( 1 ) A.比特是组成数字信息的最小单位 B.比特只有“O”和“1”两个符号

C.比特既可以表示数值和文字,也可以表示图像和声音 D. 比特”1”总是大于比特“0”

2. 在下列有关集成电路的叙述中,错误的是 ( 2 ) A.现代集成电路使用的半导体材料主要是硅

B.大觑模集成电路一般以功能部件、子系统为集成对象 C.我国第2代居民身份证中包含有IC芯片

D 目前超大规模集成电路中晶体管的基本线条已小到l纳米左右 3. 在下列有关通信技术的叙述中,错误的是 ( 3 )

A.通信的基本任务是传递信息,因而至少需由信源、信宿和信道组成 B.通信可分为模拟通信和数字通信,计算机网络属于模拟通信

c.在通信系统中,采用多路复用技术的目的主要是提高传输线路龟利用率 ’D 学校的计算机机房一般采甩5类无屏蔽双绞线作为局域网的传输介质 4.下面是关于PC机主存储器的一些叙述,其中正确的是( 4 ) A.主存储器是一种动态随机存取存储器(RAM) B.主存储器的基本编址单位是字(即32个二进位)

C.目前市场上销售的PC机,其内存容量可达数十GB D.所有PC机的内存条都是通用的:可以互换

5. 现行PC机中,IDE(或SATA)接口标准主要用于( 5 ) A.打印机与主机的连接 c.声卡与主机的连接 B.显示器与主机的连接 D.硬盘与主机的连接

6. 下列有关PC机的CPU、内存和主板的叙述中,正确的是( 6 ) 。 A.大多数Pc机只存一块CPu芯片,即使是“双核”CPU也是一块芯片 B.所有Pentium系列微机的内存条相同,仅有速度和容量大小之分

C.主板上芯片组的作用是提供存储器控制功能,I/O控制与芯片组无关 D.主板上CMOS芯片用于存储CMOS设置程序和一些软硬件设置信息 7.下列有关目前Pc机辅助存储器的叙述中,错误的是 ( 7 ) A.硬盘的容量越来越大,这是因为硬盘中磁盘碟片的数目越来越多 B.硬盘的内部传输速率一般小于外部传输速率 c.优盘采用Flash存储器技术,属于半导体存储器

D.目前常见COMBO光驱是一种将CD-RW和DVD-ROM组合在一起的光驱 8.下面有关Windows操作系统,(95以后版本)的叙述中,错误的是 ( 8 ) 。 A.Windows操作系统支持系统中多个任务的并发执行

B.利用Whldows附件“系统工具”中的“系统信息”可以查看内存的工作情况 C.系统规定文件名最多由128个字符组成

D.Vista是Microsoft公司推出的Windows XP操作系统的后继版本

9.算法设计是编写程序的基础。下列关于算法的叙述中,正确的是 ( 9 ) 。

江苏省计算机二级visual C++ 历年真题及答案

A. 算法必须产生正确的结果 C. 算法可以没有输出

B. 算法必须具有确定性 D.算法的表示必须使计算机能理解

10.因特网使用TCP/IP协议实现全球范围的计算机网络互连,连接在因特网上的每一台主机

都有一个IP地址。下面不能作为IP地址的是( 10 ) A. 120.34.0.18 C. 21.18.33.48 B. 201.256.39.68 D. 37.250.68.0

11.常用局域网有以太网、FDDI网等,下面的叙述中错误的是 ( 11 )

A 总线式以太网采用带冲突检测载波侦听多路访问(CSMA/CD)方法进行通信 B. FDDI网和以太网可以直接进行互连

C 交换式集线器比总线式集线器具有更高的性能,它能提高整个网络的带宽. D FDDI网采用光纤双环结构,具有高可靠性和数据传输的保密性

12.某用户在WWW浏览器地址栏内键入一个URL“/index.htm”,其中 的“/ndex.htm”代表( 12 )

A.协议类型 C.路径及文件名 B.主机域名 D.用户名

13.交换式以太网与总线式以太网在技术上有许多相同之处,下面叙述中错误的是( 13 )

A.使用的传输介质相同 C.传输的信息帧格式相同 B.网络拓扑结构相同 D.使用的网卡相同

14.下面是关于我国汉字编码标准的叙述,其中正确的是 ( 14 ) A.Unicode是我国最新发布的也是收字最多的汉字编码国家标准 B.不同字型(如宋体、楷体等)的同一个汉字在计算机中的内码不同 C.在GBl8030汉字编码标准中,共有2万多个汉字 D.GBl8030与GB2312、GBK汉字编码标准不能兼容

15.数字图像的文件格式有多种,下列哪一种图像文件能够在网页上发布且可具有动画效 果( 15 )

A.BMP B.GIF C.JPEG D.TIF 16.声卡是获取数字声音的重要设备,.在下列有关声卡的叙述中,错误的是 A.声卡既负责声音的数字化(输入),也负责声音的重建(输出) B.声卡既处理波形声音,也负责MIDI音乐的合成 。

C.声卡中的数字信号处理器(DSP)在完成数字声音编码、解码及编辑操作中起着重 要的作用

D.因为声卡非常复杂,所以它们都被做成独立的PCI插卡形式

17.彩色图像所使用的颜色描述方法称为颜色模型。显示器使用的颜色模型为RGB三基色模

型,PAL制式的电视系统在传输图像时所使用的颜色模型为 A.YUV B.HSB C.CMYK

18.在信息系统的结构化生命周期开发方法中,绘制E-R图属于( 18 )阶段的工作 A.系统规划 B. 系统分析 C.系统设计 D. 系统实施

19.在下列有关Microsoft Word 2000/2003(中文版)功能的叙述中,( 19 ) A.起始页的页码可以不为1

B.利用菜单命令,可更改所选英文文本的大小写

江苏省计算机二级visual C++ 历年真题及答案

C.利用菜单命令“字数统计”,可以统计出当前文档的行数和段落数 D.表格中的数据不可排序,也不能利用公式进行统计计算

20.在下列有关Microsoft PowerPoint 200012003(中文版)功能的叙述中,错误的是( )

A.可通过“另存为”操作,将每张幻灯片保存为一个图片文件 B.幻灯片的大小是固定的,用户不可以对其进行设置 C.在排练计时的基础上,可以将幻灯片设置为循环放映

D.可以对字体进行替换,例如将幻灯片中的“宋体”替换为“楷体”

Visual C-I-+笔试试卷

第二部分Visual C++语言程序设{

一、选择题(用答题卡答题,答案依次填在21~30答题号内) 21.设有说明语句:int d,e;

以下选项中,存在语法错误的是21 。

A.d=9+e==d+2; B.d=e+=2; C.f=g+f=j*k++; D.(++d)++; 22.设有函数调用语句:fun((x1,x2),x3,(x4,x5,x6)); 该函数调用中实参的个数是22 A.2 B.3 C. 5 D.6

23.以下对二维数组的说明中,存在语法错误的是23

A.int a[][3]={3,2,1,1,2,3}; B.int a[][3]={{3,2,1},{1,2,3}};

C.im a[2][3]={1} D.int a[2][]={{3,2,l},{1,2,3}}; 24.以下选项中,存在语法错误的是24。

A.float x,&j=x; B.int c,&d=c,&e=d; C.char b, &k=b; D.int f,&g;g=f; 25.下述关于抽象类的描述中,错误的是25 。 A.可以通过在类中定义纯虚函数的方式定义抽象类 B 不可以创建抽象类的对象 C 不可以创建抽象类的引用 D.可以创建抽象类的指针

26.下列有关函数缺省参数的描述中,正确的是26。

A:设置了缺省值的参数左边不允许出现没有指定缺省值的参数 B.同一个函数在同一个文件中可以提供不同缺省参数值

C.参数缺省值要设置在函数定义语句中,不能设置在函数说明语句中 D. 一个函数具有缺省值的参数只能有一个 。| 27.在以下选项中,C++语言不能重载的运算符是27 A.?: B.+ C.[] D.<= 28.假设a是类E的对象,执行语句: E b=a;

则要调用类E中的28 。

A.缺省构造函数 B.operator=()函数 c.拷贝构造函数 D.对象之间的赋值

29.已知在函数set中,语句this一>ff=5;与语句ff=5;的效果完全相同。根据这一结 论,以下叙述中不正确的是29。

江苏省计算机二级visual C++ 历年真题及答案

A.ff是某个类的数据成员,Set是该类的友元函数 B.ff是某个类的数据成员,Set是该类的成员函数 C.Set不是该类的静态成员函数 D.ff不是该类的常成员数据

30.以下对派生类的描述中,不正确的是30 。 A.一个派生类可以作为另一个派生类的基类 B.派生类至少有一个基类

C.派生类的成员除了它自己的成员以外,还包含它的基类的成员 D.派生类中,从基类继承来的成员的访问权限在派生类中保持不变 二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行) ●基本概念题(共5分)

1.重载函数必须有不同的参数个数或(1 ) 。

2.在派生类中如果没有重载基类中的纯虚函数,则该派生类是(2 ) 类 3.设有以下程序: 、 #include <iostream.h> #define S(X) X*X void main(void) {

int k=2;

cout<<++S(k+k)<<'\n'; }

执行该程序后,输出的结果为( 3n ) ,k的值为( 4 ) 。

4.在多重派生中,若要使公共基类在派生类中只有一个拷贝,则必须将该基类说明 为 ( 5 ) 。

●阅读程序题(共13分) 5.[程序](2分)

#include<iostream.h> void main(void) {

static int a[7]={1},i,j; for(i=1;i<=6;i++) for(j=i;j>0;j--) a[j]+=a[j-1]; for(j=0;j<7;j++)。 cout<<a[j]<<endl; }

程序输出第三行是__6_____,第四行是_____7_______ 6.[程序](3分)

#include<iostream.h> void main(void) {

char s[]="I am a student.You are a student too."; int a[26]={0}; char *P=s:

江苏省计算机二级visual C++ 历年真题及答案

while(*P++!='A' && *P<='Z') a[*p-'A']++; else if(*P>='a' && *P<='z') a[*p-'a']++; }

for(int i=0;i<26;i++)

if(a[i]!=0) cout<<(char)(i+'a')<<":"<<a[i]<<endl; } 、

程序的第一行输出为 ( 8 ) ,第三行输出为 ( 9 ) 7.[程序](2分)

#include<iostream.h> int f(int n) {

int s=1; if(n==1) s=1; else{

if(n==3) cout<<s<<'\n'; s=n*f(n-1); }

return s; }

void main(void) {

int s; s=f(5);

cout<<"s="<<s<<endl; }

程序的第一行输出为( 10 ),第二行输出为( 11 )

8.[程序](2分)

#include <iostream.h> char *f( char *s) {

for(char *p=s, *q=s; *q=*p;p++) if(*q>='0' && *q<='9') q++; return s; }

void main(void) {

char s1[]="It's 4 p.m.", s2[]="3米=3000毫米"; cout<<f(s1)<<endl; cout<<f(s2)<<endl; }

江苏省计算机二级visual C++ 历年真题及答案

程序输出的第一行是( 12 ),第二行是( 13 ) 9.[程序](3分)

#include <iostream.h> void main(void) {

int a[10]={73,86,89,28,87,69,88,84,64,90}; int b[4]={60,70,90,101}; int c[4]={0};

for(int i=0;i<10;i++){ int j=0;

while(a[i]>=b[j]) j++; c[j]++; }

for(i=0;i<4;i++) cout<<c[i]<<"\n"; cout<<endl: }

程序输出的第一行是__________,第三行是_____________,最后一行是_________ 10.[程序](2分)

#include<iostream.h> class A{

int a; . public:

void seta(int aa){a=aa;}

virtual void print() //第六行 {cout<<a<<'\t';} };

class B:public A{ int b; public:

void setb(int bb){b=bb;} void print()

{cout<<b<<'\t';} };

void main(void) {

A a,*P; B b; a.seta(5); b.seta(10); b.setb(20);

江苏省计算机二级visual C++ 历年真题及答案

P=&a: P->print(); P=&b: P->print(); }

程序输出的是( 17 )。如果在第六行中去掉Virtual,则程序输出的是( 18 )。

11. 一个数的各位数字倒过来所得到的新数叫原数的反序数.如果一个数等于它的反序数,则称它为对称数或回文数。求10000—11000之间的二进制对称数

算法说明:先将正整数n的二进制字符形式放在字符数组s2中,二进制字符形式的反序放在字符数组s1中,然后,比较这两个字符串,若相等,则是二进制对称数 #include <iostream.h> #include <string.h> int func(int n, char *s1) {

char ch, s2[33], *p,*q; p=s1; q=s2+32; *q- -=( 19 ) while(n){

ch=( 20 ) //求n的最低二进制位的字符表示形式 n/=2; *p++=ch; *q- -=ch; } *p=0; q++;

if( 21 ) return true; else return false; }

void main(void) {

char s[33]={0}; int count=0;

cout<<‖二进制对称数如下:\n‖; for(int n=10000; n<11000; n++) {

if( 22 ){

cout<<‖n=‖<<n<<‖\t二进制形式为:‖<<s<<endl; count++;} }

cout<<‖对称数的个数为:‖<<count<<‘\n‘; }

12.以下程序中的函数fun(int *a, int n)的功能是:把形参a所指向的数组中的最小值放在a[0]中,接着把形参a所指数组中的最大值放在a[1]中;把a所指数组中的次小值放在a[2]中,

江苏省计算机二级visual C++ 历年真题及答案

把a所指数组中的次大值放在a[3]中,其余依次类推,直至将数组中数据依次处理完为止 例如:把a所指向数组中的数据最初排列为:5,1,3,2,9,7,6,8,4.按以上规则移动数组中的数据后,数据的排列为:1,9,2,8,3,7,4,6,5 #include <iostream.h> #define N 9

void fun(int *a, int n) {

int max, min, px, pn, t;

for( int i=0; i<n-1; ___23______){ max=min=a[i]; px=pn=i;

for(int j=i+1; j<n; j++){ if(max<a[j]){ max=a[j]; px=j; }

if(min>a[j]){ min=a[j]; pn=j; } }

if(pn!=i){ t=a[i]; a[i]=min; ____24_____

if(px==i) px=pn; }

if( 25 ){ t=a[i+1]; a[i+1]=max; ( 26 ) } } }

void main(void) {

int b[N]={5,1,3,2,9,7,6,8,4};

cout<<‖数组中的数据依次为:‖<<endl; for(int i=0; i<N; i++) cout<<b[i]<<‘\t‘; cout<<endl; fun(b,N);

cout<<‖处理后数组中的数据依次为:‖<<endl;

江苏省计算机二级visual C++ 历年真题及答案

for(i=0; i<N; i++) cout<<b[i]<<‘\t‘; cout<<endl; }

13.下列程序中的函数change(node *pa,int x)的功能是:调整pa指向的链表中结点的 位置。根据参数X的值,使链表中各结点数据域小于X的结点放在链表的前半部,大于等于x

的结点放在链表的后半部,并将X插人这两部分结点之间。

例如,原链表上各结点的数据依次为:3,4,2,1,9,6,5,0,10,6 输入:X=7

经插入新结点后,新链表的各结点数据依次为:3,4,2,1,6,5,0,6,7,9,10 [程序](4分)

#include <iostream.h> struct node{ int data; node *next; };

node *change(node *pa,int x) {

node *pl,*p2,*P,*q; pl=p2=pa;

p=new node; //生成新结点 p->data=x:

while(p2一>data<x && p2一>next!=0){ //找到x应插入的位置 pl=p2;

( 27 ) ; }

if(p2一>next!=0)

p一>next=p2: //插入以X为数据域的结点 pl一>next=p: q=pl;

while( 28 ){ //通过循环,将插入结点之后所有数据域小于x的结点前移 if(p2一>data<x){ //数据域小于x的结点插入以x为数据域的新结点之前 pl一>next=( 29 ); p2一>next=p; q一>next=p2; q=p2;

p2=pl一>next; } else {

pl= p2;

p2=p2一>next: }

江苏省计算机二级visual C++ 历年真题及答案

} }

else{ //如果链表中所有结点数据域均小于x,则在链尾插入以x为数据域的新结点 p2一>next=p; ( 30 ) ; }

return pa; }

void main(void) {

node a[10]={{3},{4},{2},{1},{9},{6},{5},{0},{10},{6}},*head=a, *p; int i,x;

for(i=0;i<9;i++) a[i].next=&a[i+1]; a[9].next=NULL;

cout<<"输入x的值:"; cin>>x;

head=change(head,x); p=head; . while(p){

cout<<p一>data<<'\t'; p=p一>next; }

cout<<endl; }

参考答案 、选择题 21.C 22.B 23.D 24.D 25.C 26.B 27.A 28.C 29.A 30.D

二、填空题

(1)不同的参数类型或者参数类型 (2)抽象 (3)15,3 (4)3

本文来源:https://www.bwwdw.com/article/fo11.html

Top