一、 选择题
1.当一个类中某个函数被说明为virtual 时,该函数在该类的所有派生类中(C)、
A.只有被重新说明才是虚函数 B.只有被重新说明为virtual时才是虚函数
C.都是虚函数 D.都不是虚函数

2.从C++文件到可执行文件经过哪些步骤(C)
A.预处理、汇编、编译、链接 B.编译、预处理、汇编、链接
C.预处理、编译、汇编、链接 D.预处理、编译、链接、汇编

3.在设计一个离线的大数据处理系统,下面哪个指标不是系统追求的(C)
A.健壮性 B. 高吞吐
C.低延时 D.处理的数据规模

4.禁止修改p的值,但能够修改p所指向的数据,这样的指针应该定义为(B)

A.const char *p = new char[1024]; B. char *const p = new char [1024];
C.char const *p = new char [1024]; D.const char * const p = new char [1024];

5. int a [10] ={0},sizeof(a) ,在x86 32位系统和64位系统,分别返回(C)
A.40 40 B.10 10
C.40 80 D.4 8

6. 假定AB为一个类,则执行"AB a(2),b[3],*p[4] ;" 语句调用该类构造函数的次数为(B)
A.3 B.4
C.5 D.6

7.在 int a = 3,int *p = &a ;中,*p的值为(D)
A.变量a的地址值 B.未定义
C.变量p的地址值 D.3

8.已知f1和f2 是同一类两个成员函数,但是f1不能直接调用f2,这说明(C)
A.f1和f2都是静态函数 B.f1不是静态函数
C.f1是静态函数,f2不是静态函数 D.f1和f2 都不是静态函数

9.设下方模板,则对该函数模板的错误使用是()
A. Sum(10,2) B.Sum(5.0,6.7)
C.Sum(15.2f,16.0f) D.Sum("AB","CD")

10.下面的程序合法吗?如果合法,它将输出什么?

int i = 100, sum = 0;
for (int i = 0; i != 10; ++1){
sum += i;
}
std::cout << i << " " << sum << std::endl;

A.10 45 B.100 45
C.10 214747 D.不合法

11.下面程序输出结果是(C )

static int func(int j ){
static int i = j;
return ++i;
}int main(int argc, chr * argv[]){
int i = 0;
int j = 5;
for (;j != 0; --j){
i = fun(j);
}
std::cout << i << std::endl;
return 0;
}

A.2 B.6
C.10 D.11

12. 下面哪个函数返回的有效句柄使用完毕后不需要CloseHandle (B)
A.CreateThread B.GetCurrentProcess
C.OpenProcess D.CreateFile

***13.两个进程加载同一个动态的链接库时候(windwos的dll或者Linux的.so文件),动态链接库的哪个资源
是两个进程共享的 ()
A.文本区域 B.栈区
C.堆区 D.文件描述符

14.以下程序输出结果是(B)

class A {
public:
virtual int func (int i = 1){
std::cout <<"class A" << std::endl;
return i + 1;
}virtual ~A() {}
};class B:public A{
public :
virtual int func (int i = 10){
std::cout <<"class B " << i << std::endl;
return i;
}
};
int main(int argc, char * argv[]){A *p = new B();
std::cout << p->func() << std::endl;
delete p;return 0;
}

A.10 B.1
C.2 D.11

15. 下列属于传输层协议的是:(B)
A.HTTP B.UDP
C.ICMP D.ARP

二、简答题 (20'=10 ' + 10')
1.简述 overload(重载),Override(重写) 以及Hide(隐藏)
重载:同一个类中不同的函数有相同的函数名,但是函数的参数和类型不同
重写:派生类对基类中的虚函数重新实现。即函数名和参数都一样,只是函数的实体不一样
隐藏:派生类把基类中相同名字的函数屏蔽掉了

2.假设有一个变量var,当它的类型为bool,int,float 指针变量时,分别写出它与0比较的if语句。

bool: if (!var){ ... }
int : if (var == 0){ ... }
float :if ( (var >= -0.00001) && (var <= 0.00001))

三、操作题
1.(15')
子网掩码是用来判断任意两台计算机IP地址是否属于同一网络,子网掩码与IP地址结构相同,
是32位二进制数,其中网络号部分全为1,主机号部分全为"0", 利用子网掩码可以判断两台主机是否
在同一个子网中,若两台主机的IP地址分别与它们子网掩码"与"后的结果相同,则说明两台主机在同
一个子网中。
完善下面的函数,判断两台计算机IP地址是处于同一子网络,要求:
输入参数:
char *mask_addr, 格式为 255.255.255.0
char *ip1_addr ,格式为 192.168.0.1
char *ip2_addr , 格式为 192.168.0.1

int checkNetSegment (char *mask_addr, char *ip1_addr, char *ip2_addr){
....
}#include <iostream>
#include <string.h>
#include <stdlib.h>int getIntArray(char *addr,int *array_addr){
char *taken = NULL;if (addr == NULL){
return 2;
}
std::cout << "------start-------" << std::endl;
taken = strtok(addr,".");
//std::cout << taken << " " ;
int i = 0;
while(taken != NULL)
{ array_addr[i] = atoi(taken);
if(array_addr[i] > 255 || array_addr[i] < 0)
{
return 2;
} i++;
taken = strtok(NULL,".");
// std::cout << taken << " " ;
} return 0;
}int checkNetSegment (char *mask_addr, char *ip1_addr, char *ip2_addr){
char *taken = NULL;
int aMask[4] = {0};
int aip1[4] = {0};
int aip2[4] = {0};
int ret = 0;ret = getIntArray(mask_addr,aMask);
if (ret != 0){
std::cout << " invalid mask!" << std::endl;
return 2;
}
ret = getIntArray(ip1_addr,aip1);
if (ret != 0){
std::cout << " invalid ip1!" << std::endl;
return 2;
}
ret = getIntArray(ip2_addr,aip2);
if (ret != 0){
std::cout << " invalid ip2!" << std::endl;
return 2;
}int i = 0;
for (int i = 0; i < 4; i ++){
if ((aip1[i]&aMask[i]) == (aip2[i]&aMask[i])){
continue;
}
std::cout << " ips are not in the same netsegment" << std::endl;
return 1;}
std::cout << " ips are in the same netsegment" << std::endl;
return 0;
}int main(){char mask[] = "255.255.255.0";
char ip1 [] = "192.168.1.120";
char ip2 [] = "192.168.1.128";
int ret = checkNetSegment (mask,ip1,ip2);
return 0;
}
...

海康2017校招C++开发岗位笔试题相关推荐

  1. 美团点评2020校招系统开发方向笔试题(编程题题解)

    这套笔试题的编程题很简单,感觉没什么可以写的题解的 [编程题]大数加法 注意下负号的情况 #include <bits/stdc++.h> using namespace std; typ ...

  2. 中软融鑫 java笔试题_中软融鑫2014校招java开发工程师笔试题

    如果你想要应聘中软融鑫的java开发工程师岗位,小编下面分享的内容就是中软融鑫2014校招所考的试题,感兴趣的朋友赶紧收藏吧! 一.选择题 1.下列表达式正确的()? A.byte b = 128; ...

  3. 小米2020校招软件开发工程师笔试题二

    https://blog.csdn.net/Yuudachi/article/details/104090132

  4. 金山办公2020校招C++开发工程师笔试题(一)

    链接:https://www.nowcoder.com/test/21499425/summary 11.框选线段 在二维平面坐标系中,已知存在一条线段(图中P1->p2)和一个矩形区域,编程计 ...

  5. 前端面试题:金山办公2020校招前端开发工程师笔试题(一)

    第一题: []==[]输出的结果为false: 首先,'=='运算符比较的是两个操作数是否相等,(这里不是指严格相等),两个操作数都是空数组,都是Object对象.但是对象的比较并非是值得比较,即使这 ...

  6. 金山办公2020校招前端开发工程师笔试题

    每天看看面试题,巩固知识,冲鸭 一 .写出如下代码的执行结果 考察了 promise,以及任务处理顺序.promise值得单写一篇文章,这里不过多赘述. new Promise((resolve) = ...

  7. 小米2020校招软件开发工程师笔试题一

    1. 下列关于设计模式说法错误的是(B) A. 装饰器模式在实现过程中一般不会更改被封装对象的接口定义 B. 适配器模式以不改变被适配对象的接口定义为目的对其进行改造 C. 用饿汉方式实现的单例模式是 ...

  8. 小红书2020校招测试开发后端笔试题卷一

    "记录一下做的小红书的笔试" 题目描述: 薯队长写了一篇笔记草稿,请你帮忙输出最后内容. 1.输入字符包括,"(" , ")" 和 &quo ...

  9. 【海康摄像头二次开发】移植海康摄像头Android SDK并实现多屏显示

    文章目录 前言 一.看海康的例程 二.重要的函数分析 HCNetSDK PlayerSDK 三.移植 1.引入库 3.写一个设备信息管理的类 4.设备登录的类 5.视频显示的控件 6.通用的工具类 7 ...

最新文章

  1. 机器学习的数学基础 - 信息论
  2. 第五章 python中正则表达式的使用
  3. MySQL数据库 Too many connections
  4. 服务器虚拟化与虚拟容器,虚拟化与Docker
  5. ShardingSphere-Proxy 分库分表 简单示例
  6. BZOJ 1492 货币兑换Cash
  7. 验证码——ImageIO.write的坑
  8. HDU-4292-Food(最大流匹配问题)
  9. python docx删除word段落
  10. Matplotlib等高线图
  11. 2016预测哪些公司增值最猛?
  12. Android5.1开机LOGO与开机动画
  13. 商品进销差价_零售企业商品进销差价的核算
  14. P4839 P哥的桶 题解
  15. UE4Possess切换控制Pawn
  16. Gson解析空字符串异常的处理
  17. macbook蓝牙pan未连接_关于 MacBook 的电池问题,你了解多少
  18. 什么第一台多媒体电子计算机诞生,第一台多媒体电计算机是哪一年诞生的
  19. 手机短信验证码的实现
  20. [附源码]计算机毕业设计JAVA停车场管理系统

热门文章

  1. c语言与编程语言的区别,C语言与其他编程语言的区别
  2. Win10 笔记本底下VM Ware鼠标失灵,不能点的问题解决
  3. 【IDE】AndroidStudio关闭Related problems提示
  4. 2021海南安全员考试及(安全员)模拟考试答案解析
  5. 带你从Vue入门到进阶
  6. 计算机二级考asc2码吗,2017年计算机二级考试ACCESS重要知识点
  7. 给文字上加中划线_Word中为字符添加上划线该怎么做
  8. 一个WEB应用的开发流程
  9. 考虑海拔的IDW的插值
  10. L->data 与 L.data比较