2012(秋)江苏省笔试试卷_含参考答案

2012(秋)江苏省笔试试卷_含参考答案
2012(秋)江苏省笔试试卷_含参考答案

2012年(秋)笔试试卷

(本试卷完成时间为120分钟)

说明:

1.本试卷包括计算机基础知识部分和程序设计部分。

2.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型。

3.计算机基础知识部分全部是选择题(20分),程序设计部分分为选择题(10分)和填空题(30分)两种。

4.选择题用答题卡答题。每一项有A、B、C、D四个可供选择的答案,请选择其中一个你认为正确的答案,用HB铅笔涂写在答题卡的相应答题号内。每选对一项得1分,不选或选错不得分。

5.填空题用答题纸答题。请将答案用蓝、黑色钢笔或圆珠笔填写在答题纸的相应答题号内,每个答案只占一行,不得换行。每填对一个答案得1分,不填或填错不得分。

6.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是否填写正确。7.考试结束时将试卷、答题卡和答题纸放在桌上,不得带走。待监考人员收毕清点后,方可离场。

第一部分,计算机基础知识

1.下列关于信息、信息技术、信息产业与信息化的叙述错误的是(1) 。

A.世间一切事物都在运动,都具有一定的运行状态,因而都在产生信息

B.现代信息技术的主要特征之一是以数字技术为基础

C.信息产业特指利用信息设备进行信息处理与服务的行业,它不包括任何生产制造行业D.信息化是一个推动人类社会从工业社会向信息社会转变的社会转型的过程

2.下列关于数字技术与微电子技术的叙述错误的是(2) 。

A.数字技术的处理对象是“比特”,它只有两种取值,即数字0和数字1

B,数据通信和计算机网络中传输二进制信息时,传输速率的度量单位通常为B/s、KB /s、MB/s等

C.微电子技术是实现电子电路和电子系统超小型化及微型化的技术,它以集成电路为核心D.Intel公司创始人之一摩尔曾发表论文预测,·单块集成电路的集成度平均每18-24个月翻一番

3.在以下选项中,数值相等的一组数是(3) 。

A.十进制数54020与八进制数54732

B.八进制数13657与二进制数1011110101111

C,十六进制数F429与二进制数1011010000101101

D.八进制数7324与十六进制数B93

4.下列关于台式PC机CPU的叙述错误的是(4) 。

A.目前的PC机,CPU芯片都是直接固定在主板上的,用户不可对其进行更换

B.PC机CPU芯片有多个生产厂商,例如Intel公司、AMD公司等

C.Intel公司的Corei7/i5/i3处理器是64位多内核CPU芯片

D.目前的CPU芯片中一般都集成了一定容量的高速缓冲存储器cache

5.下列关于台式PC机主板的叙述错误的是(5) 。

A.为了便于不同PC机主板的互换,主板的物理尺寸已经标准化,例如ATX和BTX规格

B.芯片组是主板上的重要部件,它与CPU芯片及外设同步发展

C.主板上的BIOS集成电路芯片中存储了CMOS设置程序

D. 主板上的CMOS存储器是一种非易失性存储器,在任何情况下其信息均不会丢失6.在下列四种I/O总线(接口)中,数据传输方式为并行方式的是(6) 。

A.PCI-Express B.PCI C.USB D.IEEE-1394

7.下列关于常用I/O设备的叙述错误的是(7) 。

A.鼠标器与主机的接口主要有PS/2和USB两种

B.光学分辨率是扫描仪的重要性能指标,目前普通办公用扫描仪的分辨率可达1000dpi 以上

C.数码相机的成像芯片均为CCD类型,且绝大多数相机的存储卡是通用的、可互换的D.宽屏LCD显示器是目前最常见的PC机显示器,其显示屏的宽度与高度之比为16:9或16:10

8.下列关于PC机外存储器的叙述错误的是(8) 。

A.PC机硬盘接口主要有PATA(并行ATA)和SATA(串行ATA)两种,PATA的传输速率更高些

B.目前U盘不仅能方便地保存数据,还可以模拟光驱和硬盘启动操作系统

C.固态硬盘是基于半导体存储器芯片的一种外存储设备,一般用在便携式计算机中.D.光盘可分为CD光盘、DVD光盘和蓝光光盘

9.下列关于软件的叙述错误的是(9) 。

A.软件是用于特定用途的一整套程序、数据及相关的文档

B.共享软件是没有版权的软件,允许用户对其进行修改并散发

C.目前,AdobeReader、360杀毒软件是有版权的免费软件

D.操作系统、程序设计语言处理系统、数据库管理系统均属于系统软件

10.下列关于Windows操作系统多任务处理的叙述正确的是(10) 。

A.如果用户只启动一个应用程序工作(如使用Word写作),那么该程序就可以自始至终地独占CPU

B.仅当计算机中有多个处理器或处理器为多内核处理器时,操作系统才能同时执行多个任务处理

C.无论是系统程序还是应用程序,所有运行程序(进程)获得CPU使用权的优先级相同D.在多任务处理时,后台任务与前台任务都能得到CPU的及时响应

11.下列关于程序设计语言及其处理系统的叙述错误的是(11) 。

A.机器语言就是计算机的指令系统,机器语言程序一般为二进制代码形式

B.汇编程序是指用汇编语言编写的源程序,不同计算机的汇编程序通常是相同的

C.Microsoft Office软件(Word、Excel等)中包含VBA程序设计语言,VBA是VB的子集

D. 高级语言的语言处理系统的工作方式通常分为两种,即“解释”方式和“编译”方式

12.下列关于移动通信的叙述错误的是(12) 。

A.第1代个人移动通信采用的是模拟传输技术,从第2代开始均采用了数字传输技术

B.目前广泛使用的GSM和CDMA都是第2代移动通信

C.我国的3G通信目前有三种技术标准,这三种标准的网络不能互通,但终端设备互相兼容

D。目前第4代移动通信(4G)也在研发和部署之中,我国已有多个城市开始建设试验网13.下列关于因特网接入技术的叙述错误的是(13) 。

A.采用电话拨号接入时,需要使用电话MODEM,其主流产品的速率为56kbps B.采用ADSL接入时,数据上传速度低于数据下行速度,理想状态下数据下行速度可达8Mbps

C.采用有线电视网接入时,多个终端用户均可独享连接段线路的带宽

D.目前我国许多城市采用“光纤到楼、以太网入户”的做法,用户可享受数兆乃至百兆的

带宽

14.Intemet使用TCP/IP协议实现了全球范围的计算机网络的互连,连接在Internet 上的每一台主机都有一个IP地址。下面不能作为IP地址的是(14) 。

A.201.109.39.68 B.120.34.0,18

C.21.18.33.48 D.127.0.257.1

15.现在因特网上的多数邮件系统使用(15) 协议,它允许邮件正文具有丰富的排版格式,可以包含图片、声音和超链接,从而使邮件的表达能力更强,内容更丰富。A.MIME B.SMTP C.POP3 D.HTML

16.下列关于网络信息安全的叙述错误的是(16) 。

A.信息在网络传输过程中,会受到窃听、伪造、篡改等安全威胁

B.最简单也是最普遍的身份鉴别方法是使用口令(密码),但其安全性不高

C.数据加密是常用的网络信息安全措施,也是数字签名等安全措施的基础

D. 入侵检测与防火墙一样,都是被动保护系统免受攻击的一种网络安全技术

17.下列关于字符编码标准的叙述错误的是(17) 。

A. ASCII标准是美国制定的标准,也是目前使用最为广泛的西文字符编码标准

B.GB2312、GBK和GB18030都是我国制定的标准,在这些标准中所有字符均采用双字节编码

C.目前在台港澳等地区广泛使用BIG5编码标准,它与GB2312不兼容

D. UCS是ISO制定的标准,相应的工业标准称为Unicode

18.人们说话时所产生的语音信号必须数字化才能由计算机存储和处理。假设语音信号数字化时取样频率为8kHz,量化精度为8位,数据压缩比为4,那么1分钟数字语音的数据量(压缩后)大约为(18) 。

A.960KB B.480KB C.120KB D.60KB

19.目前数字有线电视和卫星电视所传输的数字视频采用的压缩编码标准大多是(19) 。

A.MPEG-1 B.MPEG-2 C.MPEG-4 D.MPEG-7

20.下列关于Microsoft Office软件(以2003/2007版本为例)功能的叙述错误的是(20) 。

A.Word编辑处理的文档可以保存为多种文件格式,例如DOC、RTF、TXT、HTML 等

B.一个Excel文件不可以引用另一个Excel文件中的数据

C.Power Point编辑处理的文档可以另存为网页或图像文件

D.Access是一个数据库管理系统,Access数据库中可以包含表、查询、窗体等对象

第二部分ⅥsualC++程序设计

一、选择题(用答题卡答题,答案依次填在21-30答题号内)

21.在以下选项中,均不能作为用户标识符的是(21) 。

A.A,P_0,do B.float,2a0,-A

C.b_a,goto,int D.-123,temp,INT

22.设有说明语句:"int*p[15];”,能正确描述该语句的是(22) 。

A.p是一个指向数组的指针,所指向的数组有5个int类型的元素

B.p是一个指向某数组中第5个元素的指针,该元素是int类型的变量

C.p[5]表示某个数组中的第5个元素的值

D. p是一个具有5个元素的指针数组,每个元素都是一个int类型的指针

23.设有以下语句序列:

#define S(x) x*(x)*2

int k=3;

则表达式S(k+1)的值为(23) 。

A.32 B.11 C.24 D.8

24.在循环语句的循环体中使用break和continue语句的作用是(24) 。

A. 两者都结束循环B.分别结束本次循环和结束循环

C.两者都结束本次循环D.分别结束循环和结束本次循环

25.以下叙述不正确的是(25) 。

A. 派生类的成员函数中可直接使用其基类中的所有成员,并与派生方式无关

B.派生类不能继承其基类的友元函数

C.派生类构造函数通常带有基类初始化列表

D. 派生类缺省的构造函数中通常隐含直接基类的缺省构造函数

26.以下叙述不正确的是(26) 。

A. 类的构造函数可以重载B.类的析构函数可以重载

C.一个类必定有构造函数 D. 一个类必定有析构函数

27.以下叙述正确的是(27) 。

A.函数在重载时其函数名可以不同

B.C++中所有运算符都可以重载!

C.基类中定义虚函数a(int,int),若在派生类中定义函数a(int),则在派生类中a 为函数重载

D.对于基类中定义的运算符重载函数,在派生类中均可继承和使用

28.一个类的静态数据成员所表示的属性(28) 。

A.是该类或该类对象的属性B.仅是该类对象的属性

C.仅是该类的属性 D.是该类和该类友元的属性

28.设有说明语句:“char s1[]=”hello”;

chars2[]={'h','e','l','l','o'};int b;”,以下语句会产生编译错误的是(29) 。

A.strlen(s1); B.b=s1==s2;

C.cout>>s1+s2; D.strcat(s1,s2);

30.以下叙述错误的是(30) 。

A. 对象成员是类的一种数据成员,它是另一个类的对象

B.在定义一个类时,可将该类的对象作为该类的数据成员

C.对对象成员的初始化要包含在该类的构造函数中

D.一个类中可含有多个对象成员作为其成员

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

●基本概念题(共5分)

1.若x=0,y=1,z=2,则执行语句:“z=x++&&(++y);”后,变量z和y的值分别为(1) 和(2) 。

2.要将一个类的成员函数定义为虚函数时,使用关键字(3) 。

3.C++中使用const定义常量时,需要指出其名字、类型和(4) 。

4,假设A为一个类,该类中有语句:“A(A &x);”,该语句是该类

(5) 构造函数的原型说明。

●阅读程序题(共13分)

5.[程序](3分)

#include

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<

}

执行程序,输出的第二行是(6) ,第四行是(7) ,第六行是(8) 。

7.[程序](2分)

#include

void swap(int *p1, int *p2)

{

int *p;

p=p1;p1=p2;p2=p;

}

void main(void)

{

int x=50,y=100;

cout<<"x="<

swap(&x,&y);

cout<<"x="<

}

执行程序,输出的第一行是(9) ,第二行是(10) 。8.[程序](3分)

#include

void main()

{

char ch[2][6]={"2013","0246"}, * pch[2];

int i,j,s=0;

for(i=0; i<2; i++)

pch[i]=ch[i];

for(i=0; i<2; i++)

for(j=0; pch[i][j] >= '0' && pch[i][j] <='9'; j+=2){ s=10*s+pch[i][j]-'0';

cout<

}

}

执行程序,共输出(11) 行,输出的第一行是(12) ,最后一行是(13) 。

9.[程序](2分)

#include

#include

class Person{

public:

Person(char *s) {

name=new char[strlen(s)+1]; strcpy(name, s); }

virtual void print() {

cout<<"我的名字是:"<

protected:

char *name;

}

class Student:public Person{

public:

Student(char *s, char *p):Person(s) {

strcpy(num, p); }

void print(char *s) {

cout<

}

private:

char num[10];

};

class Professor:public Person {

public:

Professor(char *s, int n): Person(s) {

publs=n;

}

void print() {

cout<<"我的名字是:"<

}

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();

}

执行程序,输出的第二行是(14) ,第三行是(15) 。

10.[程序](3分)

#include

class B{

public:

B(int a=0){ cout<<"B class"<

~B() { cout<<" ~B class"<

};

class A:public B{

public:

A(){ cout<<"A class"<

};

void f()

{

static A a;

cout<<"f()"<<"\n";

}

void main()

{

f(); f();

}

执行程序,输出的第一行是(16) ,第二行是(17) ,第四行是(18) 。

●完善程序题(共12分)

11.以下程序的功能是:求三角函数sin(x)的近似值。求sin(x)的近似值的计算公式如下:

计算公式见doc1.doc

其中x的值用弧度制表示。当输入的x的值为角度制表示时,必须先将角度数转换为弧度,转

换公式如下:

计算公式见doc1.doc

然后求出sin(y)的近似值。要求计算精度达到0.000001。

[程序](2分)

#include

#include

double sin(double x, double eps)

{ double term, sum, y; int n=1;

y=x*x; term=x; sum=0;

while(fabs(term) >= eps) {

sum+=term; n++;

term=term*y/(19) ;

term*=-1;

}

return(20) ; }

void main(void)

{ double x,y;

cout<<"输入x的值(角度):";

cin>>X;

while(x>360)

x-=360;

y=3.1415926*x/180;

cout<<"度数为:"<

}

12.以下程序的功能是输入两个字符串,将这两个字符串拼接成一个新的字符串,然后输出这三个字符串。

[程序](4分)

#include

char * stringcat(char * to, char * from, char * s) //实现字符串拼接

{ // 将to和from所指向的字符串拼接后存入s所指向的字符数组中

char(21) ;

while(*s++=*to++);

(22) ;

while( (23) ); return p;

}

void main(void)

{

char s1[100],s2[100],s3[200];

cout<<"输入第一个字符串:";

cin.getline(s1,100);

cout<<"输入第二个字符串:";

cin.getline(s2,100);

cout <<"s1=" << s1<<'\n';

cout <<"s2=" << S2<<'\n';

cout<<"拼接后的字符串为:"<

}

13.以下程序的功能是:验证任一大于6的偶数总能表示为两个素数之和。方法是将偶数分

解为两个奇数之和,并分别判断两个奇数是否均为素数。例如,68=7+61,7和61均为素数。

[程序](2分)

#include

#include

void main(void)

{ int a,b,c,d;;

cout<<"请输入一个大于6的偶数:";

cin>>a;

for(b=3; b<=a/2; b+=2){

for(c=2; c<=sqrt(b); c++)

if(b%c==0)

(25) ;

if(c>=sqrt(b))

d=a-b;

else

break;

for(c=2; c<=sqrt(d); c++)

if( (26) )

break;

if(c>=sqrt(d))

cout<

}

}

14.以下程序的功能是:建立单向链表,删除链表上指定的结点,输出链表上的结点值等。其中函数deltenode(node * h, int x)的功能是:从h所指向的链表中,删除结点的数据

值为x的所有结点。

[程序](4分)

#include

struct node {

int data;

node *next;

};

node * deltenode(node * h, int x)

{

node *p, *q;

if(h==NULL)return h;

if(h->data==x){

p=h;

(27) ;

delete p;

}

else{

p=h->next;

q=h;

while(p!=NULL && p->data!=x){

(28) ;

p=p->next;

}

if(p!=NULL) {

q->next=p->next;

delete p;

}

}

return h;

}

node * creatlist(int a[], int j) //建立链表

{

node *h, *p, *q;

int i;

h=NULL;

for(i=0; i

q=new node; //动态分配链表空间q->data=a[i];

q->next=NULL;

if(h==NULL)

h=p=q;

else {

(29) ;

p=q;

}

}

return h;

}

void outlist(node *h) //输出链表

{

node *p;

p=h;

if(p==NULL) cont<<"链表为空!"<

cout<<"Head";

do {

cout<<"->"<data;

p=p->next;

}while(p!=NULL);

cout<<"->End"<

}

}

void free_list(node * h) //撤销链表{

node *p;

while(h){

p=h;

h=h->next;

delete p;

}

}

void main(void)

{

node *head;

int a[]={2,4,6,8,10,15,17};

(30) ;

cout<<"原链表为:";

outlist(head);

head=deltenode(head,10);

cout<<"删除数据后的链表为:";

outlist(head);

free_list(head);

}

2012年(秋)笔试试卷

第一部分计算机基础知识

(1)C (2)B (3)B (4)A (5)D

(6)B (7)C (8)A (9)B (10)D

(11)B (12)C (13)C (14)D (15)A

(16)D (17)B (18)C (19)B (20)B

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

一、选择题

(21)B (22)D (23)B (24)D (25)A

(26)B (27)C (28)C (29)C (30)B

二、填空题

(1)0 (2) 1

(3)virtual (4)值

(5)拷贝(6)2

(7) 1 (8)4

(9)x=50 y=100 (10) x=50 y=100

(11)4 (12)2

(13)2104 (14)我的名字是:王海

(15)我的名字是:李涛,发表论文数为:5篇(16)B class

(17)A class (18)f()

(19)((2*n-2)*(2*n-1)) (20)sum

(21) *p=s (22) s--

(23) *s++=*from++ (24)s1,s2,s3

(25)break (26)d%c==0

(27)h=h->next 或h=p->next (28)q=p

(29)p->next=q

(30)head=creatlist(a,7)

相关主题
相关文档
最新文档