中国程序员联盟群特种兵选拔考试题目--C++

来源:互联网 发布:如何用ppt制作销售网络 编辑:程序博客网 时间:2024/04/24 10:34

请各位答卷完毕后,将带有答案的Word文档以邮件方式按群公告中的提示发送到各评委邮箱。预祝各位取得好成绩,加入本群特战队。

 

Word文档命名格式   CPP-QQQQ昵称

 

中国程序员联盟全群大考试

C++

 

一:选择题(共1020分,每题2分)

 

选项未必单一,看准了就下手

 

1:如何能让一个类不被实例化

A:不定义类的构造函数

B:私有化这个类的构造函数

C:使用纯虚函数使类成为抽象类

D:使用静态方式来声明构造函数

 

2:关于maphashmap的内部结构,下述描述正确的是?

Amap的内部结构是红黑树

Bmap内部结构是八叉树

Chashmap内部是多层二叉树

Dhashmap内部是哈希表

Ehashmap内部是强连通图结构

 

3:关于函数重载的描述,正确的选项是

A:函数名称相同,返回值类型不同,参数列表不同,算重载

B:函数名称不同,返回值类型相同,参数列表不同,算重载

C:函数名称相同,返回值类型不同,参数列表相同,算重载

D:函数名称相同,返回值类型相同,参数列表不同,算重载

 

4:虚函数的主要特点在于

A:常用来形成友元

B:常用指针和引用的方式来访问

C:常用于形成多态

D:主要用于减少代码体积,提高性能

 

5:关于基类和派生类的构造函数与析构函数执行顺序,下列说法正确的是

A:构造函数从基类到派生类的顺序执行

B:构造函数从派生类到基类的顺序执行

C:析构函数从基类到派生类的顺序执行

D:析构函数从派生类到基类的顺序执行

E:以上皆不准确

 

6:某类中,xy是类的私有变量,类中的public函数

int f(int x,int x) const中的const意思是?

A:表示f返回的是一个常量值

B:表示f不会改变xy

C:表示f会将xy变为常量值

D:表示f本身的函数地址是固定地址

 

7:构造函数如果被声明为private,一般目的是:

A:实现Template Method模式

B:实现Singleton模式,阻止Copy Constructor

C:使类中的成员变量不会被成员函数改变

D:防止以引用方式调用该类的成员函数

E:防止以指针方式调用该类的成员函数

 

8:说说#include<filename.h> #include“filename.h”啥区别

A:文件搜索路径不同

B:文件包含的内容不同

C:前者要求内部必须有函数定义,后者不要求

D:后者要求内部必须有宏定义

 

9:关于template<class T> class Widgettemplate<typename T> class Widget两个模板的声明

A:前者是类模板,后者是函数模板

B:前者是函数模板,后者是类模板

C:一样,都是类模板

D:一样,都是函数模板

 

10:下列关于STL的几种抽象容器的说法中,正确的是:

Alist是采用一段连续的内存空间存储

Bvector是采用一段连续的内存空间存储

Cvector的容量和长度实际是一回事

Dvector中插入元素的性能和插入的数据类型有关

 

二:解答题(共980分,1-8每题9分,98分)

1: 众所周知,在常见的C++编译器中,结构体存在内存对齐现象,请写一组程序,并从中简单归纳下内存对齐的规律(为简化问题,只考虑在结构体中有基本类型的情况)

 

2:做个函数,用尽量少的变量和库函数,干掉参数某字符串两段空格

char *strTrim(char *strTarget)

strTrim函数的作用就是干掉strTarget两段的空格

 

3:写个函数模板,可以计算传入两个参数的较小值

 

4:用C++设计这样一系列的类,体现出大多数鸟可以飞,但有些特殊的鸟(比如企鹅)不会飞。

 

5:现有如下的类

class A
{
   public:
     A(){}
 private:
   static const int i;
}

 

请写适当的语句来初始化变量i

 

6:写个函数,可以实现对参数字符串中字符的全排列(参数字符串长度不大于6个字符)

例如,参数字符串为ABC

则输出为ABCACBBACBCACABCBA这种结果。

 

7:用C++写个程序,可以用vector存储由用户输入的20int型数据,并进行排序后输出。

 

8:写个多态的Demo

 

9:如果某个变量可能是intunsighed intdouble中的某一种,如何用程序来判断具体是哪种?