考虑函数原型 void hello(int a, int b=7, char pszC=""), 下面的函数调用中属于不合法调用的是?
A. hello(5) B. hello(5, 8) C. hello(6, "#") D. hello(0, 0, "#")
答案:【C】
说明:
C++ 函数参数的扩展ios
一个有 800 个节点的彻底二叉树,问有多少个叶子节点?
A. 100 B. 200 C. 400 D. 没法肯定
答案:【C】
说明:算法
1. 计算彻底二叉树高度 h = 9 + 1 = 10 2. 计算第 1-9 层节点数目 n_1_9 = 512 - 1 = 511 3. 计算第 10 层节点(都为叶节点)数目 ln_10 = 800 - 511= 289 4. 计算第 9 层节点数目 n_9 = 256 5. 计算第 9 层叶节点数目 ln_10 = 256 - (288 / 2 + 1) = 256 - 145 = 111 6. 计算总叶节点数目 ln = ln_10 + ln_9 = 289 + 111 = 400
二叉树的深层特性segmentfault
若 6 元素为 A.B.C.D.E.F 出栈顺序为 B.D.C.F.E.A,则栈的最小容量为?
A. 3 B. 4 C. 5 D. 6
答案:【A】
说明:网络
排序算法的稳定是指,关键码相同的记录顺序先后相对位置不发生改变,下面哪一种排序顺序算法是不稳定的?
A. 插入排序 B. 冒泡排序 C. 快速排序 D. 归并排序
答案:【C】函数
说明: | ||
---|---|---|
排序算法 | 时间复杂度 | 稳定性 |
选择排序 | O(n2) | 不稳定 |
插入排序 | O(n2) | 稳定 |
冒泡排序 | O(n2) | 稳定 |
希尔排序 | O(n(2/3)) | 不稳定 |
归并排序 | O(nlogn) | 稳定 |
快速排序 | O(nlogn) | 不稳定 |
以下关于进程的描述不正确的是?
A. 进程在退出时会自动关闭本身打开的全部文件 B. 进程在退出时会自动关闭本身打开的网络连接 C. 进程在退出时会自动销毁本身建立的全部线程 D. 进程在退出时会自动销毁本身打开的共享内存
答案:【D】post
在一个 cpp 文件里面,定义了一个 static 类型的全局变量,下面一个正确的描述是?
A. 只能在该 cpp 所在的编译模块中使用该变量 B. 该变量的值是不可改变的 C. 该变量不能在类的成员函数中引用 D. 该变量只能是基本类型(如 int, char)不能是 C++ 类型
答案:【A】
说明:
C中的staticspa
下面有关重载函数的说法中正确的是?
A. 重载函数必须有不一样的返回值类型 B. 重载函数形参个数必须不一样 C. 重载函数必须有不一样的形参列表 D. 重载函数名能够不一样
某火车站要经过一条栈道(先进后出)来调换进入车站的列车顺序,若进站的列车顺序为A、B、C,则下列哪一个出站顺序不可能?
A. ABC B. ACB C. CAB D. CBA
答案:【C】code
下面哪一种状况下, B 不能隐式转换为 A ?
A. class B:public A{}; B. class A:public B{}; C. class B{operator A();}; D. class A{A(const B&)};
答案:【B】
说明
A. 赋值兼容性
B. 类型转换函数
D. 转换构造函数对象
分析下面程序的运行结构
#include<iostream.h> class CBase { public: CBase(){ cout<<"constructing CBase class"<<endl; } ~CBase(){ cout<<"destructing CBase class"<<endl; } }; class CSub : public CBase { public: CSub(){cout<<"constructing CSub class"<<endl;} ~CSub(){cout<<"destructing CSub class"<<endl;} }; void main() { CSub obj; }
A. constructing CSub class constructing CBase class destructing CSub class destructing CBase class B. constructing CBase class constructing CSub class destructing CBase class destructing CSub class C. constructing CBase class constructing CSub class destructing CSub class destructing CBase class D. constructing CSub class constructing CBase class destructing CBase class destructing CSub class
答案:【C】
说明:
对象建立时的构造顺序:先父母,再客人,后本身 析构顺序与构造顺序相反
两个字符串 char a, char b, 输出 b 在 a 中的位置次序
void output_postion(const char* a, const char* b); 如:a = "abdbcc" b = "abc" b 在 a 中的位置次序为 014 015 034 035
void abstring(string& a, int ai, string& b, int bi, list<int>& l) { if( bi == b.length() ) { for(list<int>::iterator it=l.begin(); it!=l.end(); it++) { cout << *it; } cout << endl; } else { for(int i=ai; i<a.length(); i++) { if( a[i] == b[bi] ) { l.push_back(i); abstring(a, i+1, b, bi+1, l); l.pop_back(); } } } } void output_postion(const char* a, const char* b) { string as = a; string bs = b; list<int> l; abstring(as, 0, bs, 0, l); }