20道c++笔试题
1.二层交换机能够识别()地址。
A.MAC地址
B.域名
C.IP地址
D.UDP端口号
2.以下代码运行结果为
#include "stdio.h" class Base { public: Base() { echo(); } virtual void echo() { printf("Base"); } }; class Derived : public Base { public: Derived() { echo(); } virtual void echo() { printf("Derived"); } }; int main() { Base *base = new Derived(); base->echo(); return 0; }
答:BaseDerivedDerived
3.以下程序的输出是
#include "bits/stdc++.h" using namespace std; class Base { public: Base(int j) : i(j){}; virtual ~Base() {} void func1() { i *= 10; func2(); } int getValue() { return i; } protected: virtual void func2() { i++; } int i; }; class Child : public Base { public: Child(int j) : Base(j) {} void func1() { i *= 100; func2(); } protected: void func2() { i += 2; } }; int main() { Base *pb = new Child(1); pb->func1(); cout << pb->getValue()<< endl; delete pb; }
答:12
4.查看TCP连接的命令是什么()
A.netstat
B.tcpdump
C.top
D.ifconfig
答:A
5.盒子里有8支笔,黑色5支,蓝色3支,请问抽3支,至少2支是蓝色的概率?
6.计算以下代码的空间复杂度
int factorial(unsigned int n) { if (i <= 1) return 1; else return n * factorial(n-1) }
答:O(N)
7.以下代码的输出结果是
#include "stdio.h" int main() { printf("This book is only $%2.2f for sale.", 3.246e2); }
答:This book is only $324.60 for sale.
前面的2是指长度,如果长度不够会在前面补充空格,如果长度够则不会截断
8.下面哪个操作符能重载
A.::和()
B..和→
C.sizeof和static_cast
D.*和+
答:D
9.190.233.27.13/16所在网段地址()
答:192.233.0.0
- c++11中的三种智能指针是什么?
答:unique_prt,share_prt,weak_prt
11.两个人轮流抛硬币,规定第一个抛出正面的人可以吃到苹果,请问先抛的人吃到苹果的概率?
答:1/2
12.以下代码的输出结果
#include "stdio.h" void func(int *p) { static int num = 4; p = # (*p)--; } int main() { int i = 5; int *p = &i; func(p); printf("%d", *p); return 0; }
答:参数传递是拷贝指针,并非同一个指针,故答案是5
13.下面c++程序的运行结果为:
#include "bits/stdc++.h" using namespace std; class Base { public: void virtual Func() { cout << "Base" << endl; } }; class Derived : public Base { public: void virtual Func() { cout << "Derived" << endl;} }; int main() { Base *pBase = new Base(); pBase->Func(); Derived *pDerived = (Derived *)pBase; pDerived->Func(); delete pBase; pDerived = new Derived(); pBase = pDerived; pBase->Func(); delete pDerived; return 0; }
答:BaseBaseDerived
14.在ASC算法team日常开发中,常常面临一些数据结构的抉择,… 6000左右的词汇,词汇长度在10-15之间,词汇字符是英文字母,区分大小写,请选择一个最快的数据结构
A. 链表,比较函数开销;1次运算/每字符
B.二叉搜索树,比较函数开销;1次运算/每字符
C.哈希表,hash算法开销;10次运算/每字符
D.TRIE树,寻找子节点开销;1次运算/每字符
答:网上找的答案说是D,我也不懂
在ASC算法team日常开发中,常常面临一些数据结构的抉择,__牛客网 (nowcoder.com)
15.以下代码中,a的值为
#include "stdio.h" #define SUM(x, y) x + y int main() { int a = 3; int b = 2; a += a * SUM(a, b) * b; printf("%d", a); return 0; }
16.Internet的网络层含有四个重要的协议,分别为()
A. IP,ICMP,ARP,RARP
B. IP,ICMP,ARP,UDP
C. TCP,ICMP,UDP,ARP
D. UDP,IP,ICMP,RARP
答:C
17.请找出下面程序中有哪些错误
int main() { int i = 10; int j = 1; const int *p1; // (1) int const *p2 = &i; // (2) p2 = &j; // (3) int *cosnt p3 = &i; // (4) *p3 = 20; // (5) *p2 = 30; // (6) p3 = &j; // (7) return 0; }
18.下面哪种STL容器中的对象是连续存储的()?
A. map
B. list
C. vector
D. set
答:C
19.在发送TCP接收到确认ACK之前,由其设置的定时倒计时到时,此时发送TCP会
A.调整传送窗口尺寸
B.重传重要的数据段
C. 放弃该连接
D.向另一个目标端口重传数据
答:超时应该是重传
20.以下不属于TCP拥塞控制方法的是
A. 慢启动阈值ssthresh减慢
B. 慢开始
C. 拥塞避免加法增大
D. 慢重传
答:不了解