2009春江苏省VC++笔试试卷及答案_第1页
2009春江苏省VC++笔试试卷及答案_第2页
2009春江苏省VC++笔试试卷及答案_第3页
2009春江苏省VC++笔试试卷及答案_第4页
2009春江苏省VC++笔试试卷及答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一部分计算机基础知识1在下列有关现代信息技术的一些叙述中,正确的是 1 。 A. 集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生 B集成电路的集成度越来越高,目前集成度最高的已包含几百个电子元件 C目前所有数字通信均不再需要使用调制解调技术和载波技术 D光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量2最大的10位无符号二进制整数转换成八进制数是 2 。 A1023 B1777 C1000 D10243 在下列有关目前PC机CPU的叙述中,错误的是 3 。 ACPU芯片主要是由Intel公司和AMD公司提供的 B“双核”是指PC机主板上含有两个独立的CPU芯

2、片 CPentium 4微处理器的指令系统由数百条指令组成 DPentium 4微处理器中包含一定容量的Cache存储器4在下列有关当前PC机主板和内存的叙述中,正确的是 4 。 A主板上的BIOS芯片是一种只读存储器,其内容不可在线改写 B绝大多数主板上仅有一个内存插座,因此PC机只能安装一根内存条 C内存条上的存储器芯片属于SRAM(静态随机存取存储器) D目前内存的存取时间大多在几个到十几个ns(纳秒)之间 5在下列有关PC机辅助存储器的叙述中,正确的是 5 。 A硬盘的内部传输速率远远大于外部传输速率 B对于光盘刻录机来说,其刻录信息的速度一般小于读取信息的速度 C使用USB20接口的

3、移动硬盘,其数据传输速率大约为每秒数百兆字节 DCD-ROM的数据传输速率一般比USB2.0还快6在下列PC机I/O接口中,数据传输速率最快的是 6 。 AUSB2.0 BIEEE-1394 CIrDA(红外) DSATA7计算机软件可以分为商品软件、共享软件和自由软件等类型。在下列相关叙述中,错误的 7 。 A通常用户需要付费才能得到商品软件的使用权,但这类软件的升级总是免费的 B共享软件通常是一种“买前免费试用”的具有版权的软件 C自由软件的原则是用户可共享,并允许拷贝和自由传播 D软件许可证是一种法律合同,它确定了用户对软件的使用权限8人们通常将计算机软件划分为系统软件和应用软件。下列软

4、件中,不属于应用软件类型的是 8 。 AAutoCAD BMSN COracle DWindows Media Player9在下列有关Windows 98/2000/XP操作系统的叙述中,错误的是 9 。 A系统采用并发多任务方式支持多个任务在计算机中同时执行 B系统总是将一定的硬盘空间作为虚拟内存来使用 C文件(夹)名的长度可达200多个字符 D硬盘、光盘、优盘等均使用FAT文件系统10在下列有关算法和数据结构的叙述中,错误的是 10 。 A算法通常是用于解决某一个特定问题,且算法必须有输入和输出 B算法的表示可以有多种形式,流程图和伪代码都是常用的算法表示方法 C常用的数据结构有集合结构

5、、线性结构、树形结构和网状结构等 D数组的存储结构是一种顺序结构11因特网的IP地址由三个部分构成,从左到右分别代表 11 。 A网络号、主机号和类型号 B类型号、网络号和主机号 C网络号、类型号和主机号 D主机号、网络号和类型号12在下列有关ADSL技术及利用该技术接入因特网的叙述中,错误的是 12 。 A从理论上看,其上传速度与下载速度相同 B一条电话线上可同时接听拨打电话和进行数据传输 C利用ADSL技术进行数据传输时,有效传输距离可达几公里 D目前利用ADSL技术上网的计算机一般需要使用以太网网卡13人们往往会用“我用的是10M宽带上网”来说明自己计算机连网的性能,这里的“10M” 指

6、的是数据通信中的 13 指标。 A最高数据传输速率 B平均数据传输速率 C每分钟数据流量 D每分钟IP数据包的数目14计算机局域网按拓扑结构进行分类,可分为环型、星型和 14 型等。 A电路交换 B以太 C总线 D对等15网络信息安全主要涉及数据的完整性、可用性、机密性等问题。保证数据的完整性就是 15 。 A保证传送的数据信息不被第三方监视和窃取 B保证发送方的真实身份 C保证传送的数据信息不被篡改 D保证发送方不能抵赖曾经发送过某数据信息16某计算机系统中,西文使用标准ASCII码、汉字采用GB2312编码。设有一段纯文本,其机内码为CB F5 D0 B4 50 43 CA C7 D6 B

7、8,则在这段文本中含有 16 。 A2个汉字和1个西文字符 B4个汉字和2个西文字符 C8个汉字和2个西文字符 D4个汉字和1个西文字符17以下关于汉字编码标准的叙述中,错误的是 17 。 AGB2312标准中所有汉字的机内码均用双字节表示 B我国台湾地区使用的汉字编码标准BIG5收录的是繁体汉字 CGB18030汉字编码标准收录的汉字在GB2312标准中一定能找到 DGB18030汉字编码标准既能与UCS(Unicode)接轨,又能保护已有中文信息资源18若波形声音未进行压缩时的码率为64kb/s,已知取样频率为8kHz,量化位数为8,那么它的声道数是 18 。 A1 B 2 C4 D 81

8、9从信息处理的深度来区分信息系统,可分为业务处理系统、信息检索系统和信息分析系统等。在下列几种信息系统中,不属于业务处理系统的是 19 。 ADSS BCAI CCAM DOA20在下列有关信息系统开发、管理及其数据库设计的叙述中,错误的是 20 。 A常用的信息系统开发方法可分为结构化生命周期方法、原型法、面向对象方法和CASE方法等 B在系统分析中常常使用结构化分析方法,并用数据流程图和数据字典来表达数据和处理过程的关系 C系统设计分为概念结构设计、逻辑结构设计和物理结构设计,通常用E-R模型作为描述逻辑结构的工具D从信息系统开发过程来看,程序编码、编译、连接、测试等属于系统实施阶段的工作

9、第二部分 C+语言程序设计一、选择题21下述关于“for(e1; e2; e3)s1;”的描述中,不正确的是 (21) 。 A存在“for(; ;)s1;”的情况 B表达式e1和e3可为空,但e2不能为空 C表达式e2的值可增可减 D循环体s1可以为空,但分号(;)必须有22下列函数定义中,存在语法错误的是 (22) 。 Avoid f5( ); f6( )f5; cout<<200; void f5( )cout<<100; Bvoid f3( )cout<<100; void f4( )cout<<200; Cvoid f7(int a) i

10、f(a) f7(-a);cout<<a<<" " Dvoid f1( )cout<<100; void f2( )cout<<200;23设有说明语句:int a=7,b=12,e;以下表达式选项中,e值为2的是 (23) 。Ae=b%=(a-a%5) Be=b%=(a%=5) Ce=b%=b+1-a%5 De=(b%=a)-(a%=5)24以下叙述中,不正确的是 (24) 。A一个函数中可以有多个return语句 B一个函数中可以没有return语句C一个return语句可返回多个值 D一个return语句可不返回值25以下

11、双目运算符中要求两个操作数均为整型的运算符是 (25) 。A| B&& C/ D%26以下对break语句的描述中,不正确的是 (26) 。Abreak语句可用在循环语句中,其作用是结束本层循环的执行Bbreak语句可用在switch语句中,其作用是结束该switch语句的执行Cbreak语句可用在if语句中,其作用是结束该if语句的执行Dbreak语句在同一循环体中可以多处使用27以下对类的析构函数的叙述中,正确的是 (27) 。 A析构函数完成类的初始化 B析构函数完成对象的初始化C析构函数完成撤消对象的相关处理 D析构函数和成员函数一样可以显式地调用28以下有关多态性的叙

12、述中,不正确是 (28) 。AC+语言的多态性分为编译时的多态性和运行时的多态性B编译时的多态性通过重载函数来实现C运行时的多态性通过虚函数来实现D函数重载和虚函数均可实现编译时的多态性和运行时的多态性29设已定义了一个类名为MyClass的类:MyClass s1,*s2,*s3,*s42; 当该语句执行后,调用该类的构造函数的次数是 (29) 。A1 B2 C3 D530在公有派生的情况下,派生类中定义的成员函数能访问其基类的 (30) 。A公有成员和保护成员 B公有成员和私有成员C保护成员和私有成员 D公有成员、保护成员和私有成员二、填空题·基本概念题,共5分1以下循环语句的循

13、环体的执行次数为 (1) 。 for ( int s=0,j=1; j<=10; s+=j ); j+; 2void类型的指针是其指向变量的数据类型是不固定的,对该类型指针进行操作时,通常应进行 (2) 。3C+变量的存储类型有自动类型、静态类型、 (3) 和 (4) 。4C+函数的参数传递方式有三种: (5) 、指针传递和引用传递。·阅读程序题,共13分5. 程序(2分) 要点:函数调用,参数传递#include <iostream.h>void fa(int &a, int &b)int t=a; a=b;b=t; void fb(int a,

14、int b) int t=a;a=b; b=t; void main(void)int c2=100,200, d2=300,400; fa(c0, c1); cout<<c0<<'t'<<c1<<'n' fb(d0, d1); cout<<d0<<'t'<<d1<<'n'程序输出的第一行是 (6) , 第二行是 (7) 。6. 程序 (2分) 要点:基本语句#include <iostream.h>void main (v

15、oid) int n=0, m=0;for(int i=0; i<3;i+)for (int j=0; j<3; j+) if (j>=i) n+;m+; cout<<n<<'n' <<m<<'n'程序输出的第一行是 (8) , 第二行是 (9) 。7. 程序(2分) 要点:变量及作用域#include <iostream.h>int a=10;void main (void) int a=20, b=30; int a=0, b=0;for (int i=1; i<4; i+)

16、 a=a+b; b=:a+b; cout <<a<<' ' <<b <<endl;cout <<a<<' ' <<b<<endl;程序输出的第一行是 (10) , 第二行是 (11) 。8. 程序 (3分) 要点:函数的递归调用,数组做函数参数#include <iostream.h>void f2(int x , int n);void f1(int x , int n) cout<<xn <<'n'xn+;if

17、(n<3) n=n+2; f2(x, n); void f2(int x , int n) cout<<xn<<'n'xn+;if (n<3) n=n+3; f1(x, n); void main(void)int y7=3, 4, 5, 6, 7, 8, 9;f1(y, 0);for(int i=0; i<5; i+) cout<<yi<<'t'cout<<endl;程序输出的第一行是 (12) , 第二行是 (13) ,第三行是 (14) 。9. 程序 (2分) 要点:类和对象,继

18、承和派生#include <iostream.h>class Aint n;public:static int s;A(int a) n=a;void add( ) s+=n; void print( ) cout<<n<<'t'<<s<<'n' int get( ) return n; ;int A:s=0;class B:public A int y;public:B(int b, int c):A(c) y= b; void p( ) cout<<get( ) <<'

19、;t' <<s<<'t' <<y<<'n' ;void main (void)A a1(10), a2(20);B b1(5, 15), b2(10, 15);a1.add( ); a2.add( ); b1.add( ); b2.add( );a1.print( ); a2.print( );b1.p( ); b2.p( );程序输出的第一行是 (15) , 第三行是 (16) 。10. 程序 (2分) 要点:动态联编#include <iostream.h>class A int x;pub

20、lic:A(int a) x=a;virtual void print( ) cout<<"x="<<x<<'n' void fun( ) print( );class B:public Aint y;public:B(int a, int b):A(a) y=b; void print( ) cout<<"y="<<y<<'n' void fun( ) print( ) ;class C:public Bint z ;public:C(int a,

21、int b, int c):B(a, b) z=c;void print( ) cout<<"z="<<z<<'n' void fun( ) print( );void main(void)A a1(5),*p1;B b1(10,15);C c1(20, 30, 40); a1.fun( ); b1.fun( ); c1.fun( );p1=&b1; p1->fun( ); p1=&c1; p1->fun( );程序输出的第四行是 (17) , 第五行是 (18) 。·完善程序题,共1

22、2分11以下程序的功能是:采用插入排序的方法将数组s1中的元素升序排序,并删除重复的元素(值相同的元素只保存一个)。函数insert(int p , int c, int x)将整数x插入到已排序的数组p中(并仍保持升序),参数c为数组p的元素个数。函数sort(int s , int n)将数组s中的数据按升序排序。先将s0放到临时数组tem0中,然后,依次从s中取一个元素,若该元素不在数组tem中,则调用函数insert( )将该元素插入到数组tem中。最后将数组tem拷贝到数组s中。 程序 (4分) 要点:算法 插入排序#include <iostream.h>void in

23、sert(int p , int c, int x) for (int i=0; i<c; i+) if (pi>x) break; if (i=c) (19) ; else for(int j=c;j>i;j-)pj=pj-1; (20) ; int sort(int s , int n) int tem200;int len, j, k;tem0=s0;len=1; / len 记录数组tem中的元素个数for(j=1;j<n;j+) for(k=0;k<len;k+) if (sj=temk) (21) ; if (k>=len) insert ( (

24、22) ); len=len+1; for (j=0; j<len; j+) sj =temj;return len; /返回数组的大小void main(void)int s1200= 34, 22, 11, 55, 66, 30, 22, 100, 66;int n;n=sort(s1, 9);for (int i=0; i<n; i+) cout<<s1i <<'t'cout<<'n'12以下程序通过重载运算符+、*实现集合(用数组表示)的并()、交()运算。集合中的元素不能相同。两个集合的并包含了两个集合的

25、所有元素。两个集合的交仅包含两个集合中共同存在的元素。设s1=1, 2, 3, 4, 5, 6,s2=3, 5, 7, 9, 11。s1s2=1, 2, 3, 4, 5, 6, 7, 9, 11),s1s2=3, 5。程序 (4分) 要点:类和对象,运算符重载#include <iostream.h>class Setfloat x20;int size ;public:int In(float e, int n) /元素e已在集合x中,则返回1,否则返回0int flag=0;for(int i=0;i<n;i+)if( (23) ) flag=1;break; retur

26、n flag; Set(float a , int n)x0=a0;size=1;for(int i=1;i<n; i+)if(In(ai, size)=0) (24) ;size+;Set( ) size=0; Set operator+(Set);Set operator*(Set);Set &operator=(Set &);int GetSet(float y ) for(int i=0;i<size;i+) yi=xi;return size; void print( )for(int i=0;i<size;i+)cout<<xi<

27、<'t'cout<<'n' <<"size="<<size<<'n' ;Set Set:operator+(Set a)Set tem;for (int i=0;i<size;i+) (25) ;tem.size=size;for(i=0;i<a.size;i+) if (tem.In(a.xi, tem.size)=0)tem.xtem.size+=a.xi; return tem;Set Set:operator*(Set a) Set tem;tem.si

28、ze=0;for(int i=0; i<size; i+)if(a.In(xi,a.size)=1)tem.xtem.size+=xi;return tem;Set &Set:operator=(Set &a) for (int i=0;i<a.size;i+) xi=a.xi; (26) ; return *this;void main (void)float b16=1, 2, 3, 4, 5, 6;float b26=3, 5, 7, 9, 11,b36;Set a1(b1, 6), a2(b2, 5), a3, a4, a5;a3=a1+a2; a3.pri

29、nt( );a5=a1*a2; a5.print( );int n=a1.GetSet (b3);for(int i=0; i<n; i+)cout<<b3i<<'t'cout<<'n'<<n<<'n'13以下程序的功能是:先产生一条带头结点(链表的第一个结点不存储数据,而是存储链表的表长,即结点个数)的无序链表,每一个结点包含一个整数。然后将该链表分成两条带头结点的链表:一条链表上的数据均为偶数,另一条链表上的数据均为奇数。函数Create( )创建了一条带有头结点的单链表。函数

30、Print( )输出链表上各结点的值。函数Split()把链表分割成两条链表,值为奇数的结点保留在原链表上,值为偶数的结点移到另一个链表中,并将指向偶数链表的头指针返回。程序(4分) 要点:链表(带头结点)#include <iostream.h>struct Node int data; struct Node *next;Node *Create(void) / 创建一条带有头结点的单向链表Node *p1, *head;int a;/创建头结点,头结点的数据域储存链表的结点个数head = new Node;head->data=0; head->next=0;c

31、out<<"创建一条无序链表,请输入数据,以-1结束n"cin>>a;while(a!=-1)p1=new Node;p1->data=a; p1->next=head->next; (27) ; head->data+; cin>>a; (28) ;void Print(Node *h) / link是一个带头结点的单链表h=h->next;while (h) cout<<h->data<<" " h=h->next; cout<<endl;Node *Split (Node *&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论