鼎易C++软件工程师笔试题

(笔试时间60分钟)

职位____________ 姓名_____________性别____________日期____________

一、选择题(1*9=9分)

1.如果派生类以proctected方式继承基类,则原基类的protected和public成员在派生类的访问性分别是:(   D   )

A.public和public

B.public和protected

C.protected和public

D.protected和protected

 

2.派生类的成员函数不能访问基类的:(   C   )

A.共有成员和保护成员

B.共有成员

C.私有成员

D.保护成员

3.按照“后进先出”原则组织数据的数据结构是(  B  )

A.队列

B.栈

C.双向链表

D.二叉树

4.下列关于虚函数的说明中,正确的是:(   B   )

A.从虚基类继承的函数都是虚函数

B.虚函数不得是静态成员函数

C.只能通过指针或者引用调用虚函数

D.抽象类中的中的成员函数都是虚函数。

5.有如下类的定义:

Class MyClass

{

int value;

public: MyClass(int n):value(n){}

int getValue() const {return value;}

}

则类Myclass的构造函数的个数是:(   B  )

A.1个

B.2个

C.3个

D.4个

6.有如下类的定义:

class Constants

{

public:   static double GetPI(void){return 3.14159;}

};

Constants constants;

下列各组语句中,能输出3.14159的是: (   D  )

A.cout<<constants->GetPI();和cout<<Constants::GetPI();

B.cout<<constants.GetPI();和cout<<Constants.GetPI();

C.cout<<constants->GetPI();和cout<<Constants->GetPI();

D.cout<<constants.GetPI();和cout<<Constants::GetPI();

7.有如下程序:

#include <iostream>

using namespace std;

class VAC

{

public:   int f() const{return 3;}

int f(){return 5;}

};

int main()

{

VAC v1;

const VAC v2;

cout<<v1.f()<<v2.f();

return 0;

}

运行时的输出结果是: (   A  )

A.53

B.35

C.55

D.33

8.有如下类声明:

class Base

{

protected:

int amount;

public:

Base(int n = 0):amount(n){}

int getAmount() const {return amount;}

};

class Derived:public Base

{

protected:

int value;

public:   Derived(int m, int n):value(m),Base(n){}

int getData() const {return value + amount;}

};

已知x是一个Derived对象,则下列表达式中正确的是: (   B  )

A.x.value + x.getAmount();

B.x.getData() + x.getAmount();

C.x.getData() – x.amount;

D.x.value + x.amount;

9,下列关于Windows应用程序对鼠标响应的说法,正确的是:(  B  )

A,只有活动窗口才能接受鼠标事件

B,可以调用函数SetCapture()实现对鼠标的捕捉,且捕捉鼠标后系统的键盘功能暂时失效

C,用户只能调用系统定义的鼠标的光标形状,不能自定义光标

D,可以通过相应单一类型的鼠标消息来响应鼠标的拖动事件

二、填空题(36分)

1. 某32位系统下, C++程序,请计算sizeof 的值

char str[] = “www.bishiti.com”;

char *p = str ;

int n = 10;

sizeof (str ) =( 16 )  (2分)

sizeof ( p ) =( 4 )    (2分)

sizeof ( n ) = ( 4 )   (2分)

void Foo ( char str[100])

{   

sizeof( str ) =( 4 ) (2分)

}   

void *p = malloc( 100 );   (2分)

sizeof ( p ) =( 4 )     (2分)

2.写出下面程序的输出结果

(1)

void GetMemory(char **p, int num)

{

*p = (char *)malloc(num);

}

void Test(void)

{

char *str = NULL;

GetMemory(&str, 100);

strcpy(str, "hello");

printf(str);  //输出_____hello________   (3分)

}

(2)

void Test(void)

{

char *str = (char *) malloc(100);

strcpy(str, “hello”);

free(str);

if(str != NULL)

{

strcpy(str, “world”);

printf(str);   //输出______异常__________   (3分)

}

}

(3)

char *GetMemory(void)

{

char p[] = "hello world";

return p;

}

void Test(void)

{

char *str = NULL;

str = GetMemory();

printf(str);   //输出_____异常_________ (3分)

}

3. 用变量a给出下面的定义 
a) 一个整型数

_______________________(1分)
b) 一个指向整型数的指针

_______________________(1分)
c) 一个指向指针的的指针,它指向的指针是指向一个整型数

_______________________(2分)
d) 一个有10个整型数的数组

_______________________(1分) 
e) 一个有10个指针的数组,该指针是指向一个整型数的

_______________________(2分) 
f) 一个指向有10个整型数数组的指针

_______________________(2分) 
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数

_______________________(3分)

h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数

_______________________(3分)

答案: 
a) int a;
b) int *a;

c) int **a;

d) int a[10];

e) int *a[10]; 
f) int (*a)[10]; 
g) int (*a)(int); 
h) int (*a[10])(int);

三、简答题(20分)

1.写出MFC中,窗体创建的过程(10分)

2. SendMessage和PostMessage的区别(4分)

3.const 有什么用途?(请至少说明三种)(6分)

四、编程题(20分)

1. 用递归算法判断数组a[N]是否为一个递增数组。递归的方法,记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束:(10分)

bool fun( int a[], int n )

{

if( n= =1 )

return true;

if( n= =2 )

return a[n-1] >= a[n-2];

return fun( a,n-1) && ( a[n-1] >= a[n-2] );

2.编写一个计算一年有多少秒的函数,输入的是年份(如:2017),返回秒数(2017年总秒数)。(10分)

五、问题答题(15分)

1..写出你对面向对象和程序设计的理解。(10分)

2.简要写出你使用过的设计模式及场景。(5分)

哈哈,这次把名字都放出来了,欢迎来面试,假如你真看到这个,至少你赚到了,第一关不就过了

C++软件工程师笔试题附答案相关推荐

  1. 下列不属于android布局的是( ),Android软件工程师笔试题(全选择题)【0-1年经验】...

    Android软件工程师笔试题,全选择题,适合0-1年经验的面试者. Android软件工程师笔试题 单选题(共35题) 1.退出 activity 对一些资源以及状态的操作保存,可以在生命周期的哪个 ...

  2. android软件开发考试,Android软件工程师笔试题(全选择题)【0-1年经验】

    Android软件工程师笔试题 单选题(共35题) 1.退出activity 对一些资源以及状态的操作保存,可以在生命周期的哪个函数中进行 A.onPause() B.onCreate() C.onR ...

  3. java工程师考试题目_成功拿到Offer,Java工程师笔试题及答案!

    1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时 ...

  4. linux软件工程师笔试题,C/C++软件工程师笔试题

    1,程序设计(可以用自然语言来描述,不编程):C/C++源代码中,检查花括弧(是"("与 ")","{"与"}")是否匹 ...

  5. java中级职称考试试题_Java中级开发工程师笔试题及答案2016

    Java中级开发工程师笔试题及答案2016 java中级工程师考试试题你做了吗?下面随yjbys小编一起来看看最新Java中级开发工程师笔试题及答案,仅供考生参考! 1) 描述Web Service的 ...

  6. java面向对象容许单独_Java笔试题附答案

    Java笔试题附答案 http://www.doczj.com/doc/3332c4e2524de518964b7dec.html 2009年05月19日来源:http://www.doczj.com ...

  7. 中科金财java_中科金财java开发工程师笔试题(带答案).docx

    中科金财java开发工程师笔试题(带答案).docx JAVA开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)一.编程题(共26分)1任意写出一种排序算法.(6分)PUBLICV ...

  8. java开发工程师招聘软件,面试题附答案

    蚂蚁金服一面(技术面) JVM 内存分哪几个区,每个区的作用是什么?JVM有哪些回收算法,对应的收集器有哪些? GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点. hashmap源码问题 ...

  9. 软件测试工程师笔试题带答案(二)

    如何对web系统进行全面测试? 一. 功能测试 1.链接测试 链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段.链接测试可分为三个方面.首先,测试所有链 ...

最新文章

  1. MySQL主主(双主)数据同步
  2. 使用VMware进行基于Ubuntu16.04LTS的Spark集群搭建
  3. NOIP模拟测试30「return·one·magic」
  4. 关于事件委托的整理 ,另附bind,live,delegate,on区别
  5. 机器学习必读之路必读_2017年必读的9个游戏故事
  6. 如何做到免驱打印_证卡打印机云打印方案
  7. 签约!睿铂与泰瑞数创共同助力实景三维中国建设
  8. 关于 WebRequest.RegisterPrefix
  9. 基于图像的相机定位/SLAM分类
  10. 成为会带团队的技术人 业务理解:深入业务是做好架构的前提
  11. 第三届算法设计与编程挑战赛(冬季赛)G题
  12. 人工智能在日常生活中的十大应用
  13. @RequiresRoles使用
  14. OpenStack单节点平台搭建
  15. 【6.28校内test】T2 【音乐会】二重变革
  16. 能够切换用户重新登录计算机,苹果电脑切换用户登录_苹果电脑切换登录账号...
  17. 安装配置apache
  18. 智能聊天机器人实现(源码+解析)
  19. 用vim和Markdown, 将MySQL导出的备份转换为HTML格式的数据字典
  20. python建立复数数组_深入理解NumPy简明教程---数组1

热门文章

  1. 汇编课设(电子钢琴:源代码)
  2. Vegas如何导入素材和捕获视频?
  3. php支付宝手机网站支付功能,手机网站支付如何接入支付宝简易版支付功能PHP版...
  4. Linux系统用户与用户组管理
  5. 【考研路线规划】仅供参考
  6. GPON技术--ODN网络组成
  7. 中国城市市区面积排行
  8. 利用lxml的xpath解析XML
  9. C1能力认证任务02-计算机网络协议
  10. 为什么电脑老是锁定计算机,Win7锁定计算机快捷键是什么 快捷锁定方法