2012年秋VC试卷(附答案)
- 格式:doc
- 大小:77.00 KB
- 文档页数:9
全国2012年10月自考《C++程序设计》试题课程代码:04737请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.使用下列哪一限定符可强制改变访问方式(A) AA.constB.shortC.1ongD.signed2.下列表达式,哪一是声明P为指向常量的指针(A) AA.const int *pB.int* const p;C.const int *const pD.int *p3.运算符::叫做(D)A.下标运算符B.自增运算符C.成员访问运算符D.作用域运算符4.如果为一个类定义了自己的构造函数,下列描述正确的是(C)A.系统不再提供默认构造函数,但提供其他构造函数B.系统提供其他非默认构造函数C.系统不再提供默认构造函数D.系统仍提供默认构造函数5.对于类中的成员,使用protected修饰,表明该成员的访问权限是(C)A.公有的B.私有的C.保护的D.不可见的6.类不是内存中的物理实体,只有当使用类产生对象时,才进行内存分配,这种对象建(D)立的过程称为A.程序化B.结构化C.过程化D.实例化7.下列关于类的权限描述错误的是(C)A.类本身的成员函数可以访问自己定义的任何成员B.类的对象只能访问公有成员C.普通函数只能通过对象访问类的公有成员D.一个类不能包含另一个类的对象作为成员8.在派生中,访问控制方式没有下列哪种(A)A.publishB.publicC.protectedD.private9.采用重载函数的目的是(D)A.实现共享B.减少空间C.提高速度D.使用方便,提高可读性10.设类A中包含若干其他类的对象作为成员,则在定义类A的构造函数时,应使用下列哪个符号将A::A(参数表)与成员初始化列表隔开(A)A.,B.;C.:D..11.设存在数组a,其长度为Len,则下列哪个泛型算法用于对a进行升幂排序(B)A.reverse(a,a+Len);B.sort(a,a+Len);C.find(a,a+Len,value);D.copy(a,a+Len,b);l2.函数int sum(int a=10,int b=15,int c=25);不可与下列哪个函数同时声明(B)A.int sum(int,int,int,int)B.int sum(int,int,int)C.int sum(double)D.int sum(double,double,double);13.对函数int saveName(char * first,char * sec=" ",char * thd=" ")下列调用方法不正确的是(D)A.int s=saveName("1","2","3");B.int s=saveName("1","2");C.int s=saveName("1");D.int s=saveName("1",,"3");14.下列哪个不是函数重载需要满足的条件(A)A.返回值类型不同B.参数个数不同C.参数个数相同时,参数类型不同D.函数名相同15.关于对象性质,下列描述错误的是(A)A.同一类对象之间不可相互赋值B.可以使用对象数组C.对象可以用作函数参数D.一个对象可以用作另一个类的成员16.可用作C++语言用户标识符的一组标识符是(B)A.void,define,+WORDB.a3_b3,_123,YNC.for,-abc,CaseD.2a,DO,sizeof1 7.设函数int& index(int a,int i)返回数组a中下标为i的元素,如果在整型数组int array[]={1,2,3},在执行index(array,1)+=3后,array中各元素值为(B)A.{4,2,3}B.{1,5,3}C.{1,2,6}D.{4,5,6}1 8.对指针动态分配空间用的关键字是(C)A.defineB.intC.newD.float19.一个函数功能不太复杂,但要求被频繁调用,应选用(A)A.内联函数B.重载函数C.递归函数D.嵌套函数20.在int a=3,*p=&a;中,*p的值是(D)A.变量a的地址值B.无意义C.变量p的地址值D.3非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
(1)下列链表中,其逻辑结构属于非线性结构的是_________。
A)双向链表B) 带链的栈 C) 二叉链表D) 循环链表(1)C 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps 中第13张说明:链表存储结构是数据的存储结构;排除链表因素,从数据逻辑结构来看,线性结构包括线性表、栈和队;非线性结构包括树形结构和图形结构,所以二叉树是树形结构,即非线性结构。
(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 20 B) 0或35 C) 15 D) 16(2)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第100-101张关于入队(Q.rear=Q.rear+1)与退队(Q.front=Qfront+1)运算规则,此外第一次入队为Q.rear=1;第一次退队为Q.front=1。
并假定循环队列最大个数为maxsize,其相应存储空间为1: maxsize,则循环队列的入队与退队图例和运算后元素个数的确定原则如下:循环队列中的元素个数或称队列长度通用计算公式:(Q.rear-Q.front+ maxsize)% maxsize 例如,Q.rear=20,Q.front=15,则循环队列中的元素个数=(20-15+35)%35=5;Q.rear=40,Q.front=15,则循环队列中的元素个数=(40-15+35)%35=25;本题根据Q.rear=Q.front=15,maxsize=35,则循环队列中元素个数=(15-15+35)%35=0或35;(3)下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈操作遵循先进后出的原则C) 栈顶元素一定是最先入栈的元素D) 以上三种说法都不对(3)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第63张幻灯片说明:栈元素入、退原则:先进后出(FILO)或后进先出(LIFO)。
2012秋第一套[1]. Web网页有___________ 网页和动态网页两大类,前者通常指那些内容固定不变的网页。
[2]. CD光盘片根据其制造材料和信息读写特性的不同,可以分为CD-ROM、CD-R和CD-RW。
CD-R光盘指的是________。
A.只读光盘B.随机存取光盘C.只写一次式光盘D.可擦写型光盘[3]. 下列4种输入设备中功能和性质不属于同一类型的是________。
A.鼠标器B.触摸屏C.轨迹球D.手持式扫描仪[4]. 十进制整数256使用无符号整数表示时,在PC中使用________个二进位表示最合适。
A.4B.8C.16D.32[5]. 为了解决异构网互连的通信问题,IP协议定义了一种独立于各种物理网络的数据包格式,称之为IP________,用于网络之间的数据传输。
[6]. 数码相机中将光信号转换为电信号的芯片是________。
A.Flash ROMB.DSP C.CCD或CMOSD.A/D[7]. 以下Windows(中文版)文件系统中有关文件命名的叙述中,错误的是_____________ 。
A.每个文件或文件夹必须有自己的名字B.同一个硬盘(或分区)中的所有文件不能同名C.文件或文件夹的名字长度有一定限制D.文件或文件夹的名字可以是中文也可以是西文和阿拉伯数字[8]. 下面关于因特网服务提供商(ISP)的叙述中,错误的是_______。
A.ISP指的是向个人、企业、政府机构等提供因特网接入服务的公司B.因特网已经逐渐形成了基于ISP的多层次结构,最外层的ISP又称为本地ISPC.ISP通常拥有自己的通信线路和许多IP地址,用户计算机的IP地址是由ISP分配的D.家庭计算机用户在江苏电信或江苏移动开户后,就可分配一个固定的IP地址进行上网[9]. USB接口是一种通用的串行接口,通常可连接的设备有移动硬盘、优盘、鼠标器、扫描仪等。
[10]. 在启动PC机的过程中,用户可以通过按下键盘上的一个特定键运行存储在BIOS 中的_____程序,从而修改CMOS芯片中保存的系统配置信息。
2012秋江苏省计算机二级C考试真题及答案-副本2012秋江苏省计算机二级C考试真题2012秋江苏省计算机二级C考试真题本试卷的视频请登录/doc/bc14166376.html,查看绝密★启用前2012年秋江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试二级试卷试卷语种:C语言说明:1.本试卷包括计算机基础知识部分和程序设计部分,考试时间共12 0分钟;2.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型;3.计算机基础知识部分全部是选择题(20分),程序设计部分分为选择题(1 0分)和填空题(30分)两种;4.选择题用答题卡答题。
每一项有A、B、C、D四个可供选择的答案,请选择其中一个你认为正确的答案,用HB铅笔涂写在答题卡的相应答题号内。
每选对一项得1分,不选或选错不得分;5.填空题用答题纸答题。
请将答案用蓝、黑色钢笔或圆珠笔填写在答题纸的相应答题号内,每个答案只占一行,不得换行。
每填对一个答案得1分,不填或填错不得分;6.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是否填写正确。
7.考试结束时将试卷、答题卡和答题纸放在桌上,不得带走。
待监考人员收毕清点后,方可离场。
第一部分计算机基础知识一、选择题(用答题卡答题,答案依次填在1--20题号内)1.下列关于信息、信息技术、信息产业与信息化的叙述中。
错误的是___1___ 。
A.世间一切事物都在运动,都具有一定的运行状态,因而都在产生信息B.现代信息技术的主要特征之一是以数字技术为基础C.信息产业特指利用信息设备进行信息处理与服务的行业,它不包括任何生产制造行业D.信息化是一个推动人类社会从工业社会向信息社会转变的社会转型的过程2.下列关于数字技术与微电子技术的叙述中,错误的是___2___ 。
A.数字技术的处理对象是"比特",它只有两种取值,即数字0和数字1B.数据通信和计算机网络中传输二进制信息时,传输速率的度量单位通常为B/s、KB/s、MB/s等C.微电子技术是实现电子电路和电子系统超小型化及微型化的技术,它以集成电路为核心D.Intel公司创始人之一摩尔曾发表论文预测,单块集成电路的集成度平均每18~24个月翻一番3.以下选项中,数值相等的一组数是___3___ 。
诚信应考,考试作弊将带来严重后果!华南理工大学期末考试《高级程序设计语言C++(1)》试卷A注意事项:1. 考前请将试卷和答题纸密封线内各项填写清楚;2. 所有答案写在答题纸上,否则无效;3.试卷和答题纸同时提交;4.考试形式:闭卷;一、单项选择题(每小题2分,共22 分1. 表达式65/10*2.0+100%3的结果为(D)。
(A) 14 (B) 12 (C) 1 (D) 132. 设变量定义int x =10, y, z; 执行语句y = z = x --; y = x = = z; 后变量y的值是(A)。
(A) 0 (B) 1 (C) 9 (D) 103. 下面for语句执行时循环次数为(B)。
int i,j;for ( i=0, j=3; i=j; ){cout << i << j << endl;i++; j--;}(A) 0 (B) 3 (C) 10 (D) 无限4. 下列不合法的标识符名称是(B)。
(A) word (B) continue (C) cpp (D) _ab5. 假定有以下说明语句,则下面引用形式错误的是(B)。
struct Student{char sno[20] ;double score ;};Student stu[3]={{“201011111”,80}, {“201011112”,75}, {“201011113”,91}}, *p=stu ;(A) p->sno; (B) (p++).sno; (C) (p++)->sno; (D) (*p).sno ;6. 已知int i = 1 ; int *Ptr1 , *Ptr2 ;下面哪条语句不合法( C )。
(A)Ptr1 = &i; (B) Ptr1 = Ptr2; (C) Ptr1 = 0x1234; (D) Ptr1 = NULL;7.已知char* s1= "123", *s2="34";cout<<strcmp(s1,s2);的输出结果为(D)。
2012年3月国家二级(C++)笔试真题试卷(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A.log2nB.n2C.O(n1.5)D.n(n-1)/2正确答案:D解析:假设线性表的长度为n,则在最坏情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。
2.算法分析的目的是A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进正确答案:D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。
分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。
3.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件正确答案:D解析:线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。
4.在单链表中,增加头结点的目的是A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现正确答案:A解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。
5.软件工程的出现是由于A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展正确答案:C解析:软件工程概念的出现源自于软件危机。
2012 National English Contestfor College Students(Level C - Preliminary)参考答案及作文评分标准Part I Listening Comprehension (30 marks)Section A (5 marks)1—5 CBBAC Section B (10 marks)6—10 BAACB 11—15 CABCBSection C (5 marks)16—20 ACABA Section D (10 marks)21. disruption 22. air pressure 23. slow down 24.immune system 25.stimulates26. bear in mind 27. circulation 28. decreases 29. Consult 30. side effectsPart II Vocabulary and Structure (15 marks)31—35 BDABC 36—40 BDDAB 41—45 CADBCPart III Cloze (10 marks)46. likelihood 47. fortune 48. take 49. with 50. knowing51. dozens 52. least 53. burning 54.easy/simple 55. realizePart IV Reading Comprehension (40 marks) Section A (10 marks)56. describe 57. opportunity 58. honeymoon 59. transition 60. characterized Section B (10 marks) 61. F 62. T 63. T64. The special depth that true friendship is about.65. They need to get over fear of confrontation and rejection. Section C (10 marks)66. High fatality 67. thrill seeking; risk taking 68. pushing out personal boundaries 69. C 70. A Section D (10 marks)71.“Linguistic”intelligence and“Logical mathematical”intelligence.72. The ability to gauge one's own mood, feelings and mental states, and the ability to gauge it in others anduse the information.73.“Logical mathematical”intelligence and the“bodily-kinesthetic”intelligence.74. 他的观点引发了激烈的讨论,应如何定义智力。
2012年秋江苏省计算机等级考试(二级)试题VC++语言程序设计(第二部分)(附答案)一、选择题(用答题卡答题,答案依次填在21~30答题号内)21. 以下选项中,均不能作为用户标识符的选项是 21 。
A.A, P_0, do B.float, 2a0, -A C.b_a, goto, int D.-123, temp, INT22. 设有说明语句:“int *p[5];”,正确描述该语句的是 22 。
A.p是一个指向数组的指针,所指向的数组是5个int 类型的元素B.p是一个指向某数组中第5个元素的指针,该元素是int 类型的变量C.p[5]表示某个数组中的第5个元素的值D.p是一个具有5个元素的指针数组,每个元素都是一个int 类型的指针23.设有以下语句序列:#define S(x) x*(x)*2int k=3;则表达式S(k+1)的值为 23 。
A.32 B.11 C.24 D.824.在循环语句的循环体中使用 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.是该类和该类友元的属性29. 设有说明语句:“char s1[]="hello"; char s2[]={'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 <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;}执行程序,输出的第二行是 (6) ,第四行是 (7) ,第六行是 (8) 。
6. [程序] (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<<'\n';swap(&x,&y);cout<<"x="<<x<<'\t'<<"y="<<y<<'\n';}执行程序,输出的第一行是 (9) ,第二行是 (10) 。
7. [程序] (3分)#include<iostream.h>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<<s<<endl;}}执行程序,共输出 (11) 行, 输出的第一行是 (12) ,最后一行是 (13) 。
8. [程序] (2分)#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:c har *name;};class Student: public Person{public:Student(char *s, char *p):Person(s) {strcpy(num, p); }v oid 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();}执行程序,输出的第二行是 (14) ,第三行是 (15) 。
9. [程序] (3分)#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();}执行程序,输出的第一行是 (16) ,第二行是 (17) ,第四行是 (18) 。
●完善程序题,共12分10. 以下程序的功能是:求三角函数sin(x)的近似值。
求sin(x)的近似值的计算公式如下: sin(x)=1x -33!x +55!x -77!x +…+121(1)(21)!n n x n +--- 其中x 的值为弧度。
当输入的x 的值为度数时,必须先将度数转换为弧度,转换公式如下:y=3.1415926x180,然后求出sin(y)的近似值。
要求计算精度达到0.000001。
[程序](2分)#include<iostream.h>#include<math.h>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<<"度数为:"<<x<<"其中sin值为:"<<sin(y,1e-6)<<'\n';}11.以下程序的功能是输入两个字符串,将这两个字符串拼接成一个新的字符串,然后输出这三个字符串。