当前位置:首页 > 东南大学2010-2014年考研复试c++笔试题汇总
【C】2010年东南大学计算机研究生复试笔试题----(卢孝勋)版 1、简答题(60分)
1、简述你对“面向对象”和“面向过程”编程思想的认识与思考 2、ADT是什么?简述你对“数据抽象”和“信息隐藏”的认识 3、const和static有什么作用? 4、友元关系的利与弊 5、C++多态的实现
6、STL是什么?组成部分和核心作用 2、程序设计题(90分)
1、输入n个十进制数转换成二进制写到文件,n是随机得到 2、写两个模板函数:插入排序法的迭代实现与递归实现
3、文件中有类似的一行行字符串“(010)(15012345678)|123|(430070)”,按以下格式输出: “区号| 电话号码| 城市编号| 邮编”
(具体的字符串格式记不清了,但就是考字符串的解析)
4、设计一个多项式类Polynomial(包括构造函数、复制构造函数、析构函数、赋值函数、 实现两个多项式相加)
5、几个类(Vehicle类 Car类 Streetwheel类 Brake类)有着必然的联系,设计类与实现 6、一个基类Shape,在基类的基础上继承写一个二维图形类,再继承写一个三维图形类, 设计与实现
2011年
一、简答题(共5 题,每题10 分)
1、 简述对C++中的数据类型和抽象数据类型(ADTs)的理解。
2、 请举例并写出相关代码,阐述C++在什么情况下必须进行运算符重载。 3、 为什么说“继承是C++面向对象的一个主要特征之一”,请做一下简要说明。 4、 如何声明和使用虚函数,说明它在多态性中的作用和意义。
5、 请说明函数模板(Function Template) 和函数模板实例化(function-template specification)的区别和联系。
二、编程题(共6 题,100 分)
3、 编写一个递归函数模板,从一个数组中找出最小值,并返回该值的数组元素下标。 (15’)
4、 编写两个函数 SortOne 和 SortTwo,分别对字符串数组实现插入排序和选择排序。 (15’)
5、 对于一个数组 Array 类的 chess 对象,通过调用运算符重载函数() ,可实现 chess(row,column)代替 chess[row][column],请完成:(1)、Array 类的基本定义,包 括构造函数、析构函数、拷贝构造函数和基本数据成员;(2)、运算符重载函数()的 定义。 (20’)
6、 定义一个具有多态性的基类Shape,派生出三个类:圆Circle(坐标点和半径),矩形 Rec 类(两点不同坐标),三角形 Tri 类(三个不同坐标),每个类中至少有一个计算面 积的函数。编写程序,从文件file.txt 中读取数据来创建各类的对象,并放在Shape 指针向量中,最后循环处理每个对象并输出面积。 (20’)
【假设file.txt 中的数据如下: C:123,5,40;T:1,2,32,50,60,3;R:6,8,8,100】
2012年 一.简答题
1.编写语句说明枚举类型是如何定义和使用的。
2.程序改错,如果有错,说明出错的地方,正确则给出输出。 (1)#include
for(int i=0;i<8;i++) {
if(i%2==0)
cout<
cout<<\ }
cout<<\ return 0; }
(2)#include
int c;
if((c=cin.get())!=EOF) {
main(); cout< return 0; } (3)#include void fun(int a[],int cur,int s) { { if(cur fun(a,cur+1,s); cout< int main() { int a[]={1,2,3,4,5,6,7,8,9,10}; fun(a,0,10); return 0; } 3.一个函数模板和模板函数的区别。 4.为什么说“继承是面向对象的主要特征之一”?请简要说明理由。 5.如何声明和使用虚函数。请说明它在多态性中的作用和意义。 二.编程题 1.编写程序,求最小公倍数。 2.编写程序,计算一系列整数之和。假定:输入的第一个整数为继续输入整数的 个 数 。【 要 求 每 条 输 入 语 句 仅 读 取 一 个 整 数 】 例 如 : 输 入 5,101,213,325,437,549,表明输入五个整数分别是 101,213,325,437,549. 3.编写程序,读入几行文本,并打印一个表格,显示每个不同单词在文本中出现 的次数。 例如输入:Welcome to C++ world ! Happy birthday to you .This is the weather report across the world for tomorrow , talk about it in pairs following the model below. 结果为 Welcome 出现 1 次,to 出现 2 次,C++ 出现 1 次等。 4.已知:Person 类包含 3 个数据成员(name , nationality 和 sex)和三个成 员函数(构造函数,printName 函数和 printNationality 函数),其中 name 的数据类型为 Name 类。Name 类包含三个数据成员(first , middle 和 last) 和两个成员函数(构造函数和 printName 函数)。 定义 Person 类和 Name 类,并编写程序测试这两个类的所有接口。 2013年 一. 简答题 1. 什么是逻辑错误?什么是语法错误?请举例说明. 2. 控制语句有哪几种?请画出它的流程图或UML图. 3. 什么是运算符重载?它如何增强了C++的扩展性? 4. 为什么说”继承是C++面向对象的主要特征之一”?请简要说明. 5. 类作用域和文件作用域的区别是什么?请详细说明. 二. 编程题 1. 编写程序,计算1~20000之间的质数,输出时要求每行10个数. 2. 编写简单的加密,解密程序.在main()函数中接收需要加密的字符串,进行加密。加密 时,将字符指针+1,Encrpy的参数为字符指针。解密时将字符指针-1,Decrpy的参数亦为字符指针。 3. 编写如下算法:1.选择排序 2.桶排序 4. 对应于ASCII字符中33~126之间的字符,将其转化为10进制,8进制,16进制, 以及ACII码输出到文件,在该文件中依次输出四张ASCII表格。 5. 处理字符串(025)87234865-987,用strtok处理,以“区号 电话 分机号”的格 式输出。 6. 已知:Person类包含3个数据成员(name,nationality,sex)和三个成员函数(构造函 数,printName函数和printNationality函数),其中name的数据类型为Name类。Name类包含三个数据成员(first,middle,last)和两个成员函数(构造函数和printName函数) 7. 定义Person类和Name类,并编写程序测试这两个类的所有接口。 2014年 1、指出错误并改正 第一题少了一点东西 #include { if(p) //就是如果p不为空,是不是这么写的记不清了 *p *= 100; cout<<*p< void main() { int p = 10; int * ptr; f(ptr); } 2、说出下面程序输出什么 #include char* str=\; int length = (忘了具体的但是这个length就是字符串的长度); int j = 0; for(int k = 0; k < length; k++) {
共分享92篇相关文档