腾讯笔试题精选

32位机上,哪些说法正确?
signed char a = 0xe0;
unsigned int b = a;
unsigned char c = a;
A. a>0 && c>0 为真
B. a == c为真
C. b十六进制表示0xffffffe0
D. 上面都不对

a= -32,c=224, signed char赋值给int高位补符号位(int是否带unsigned不影响),选c

——————/
哪些选项能编译通过?
int i;
char a[10];
string f();
string g(string & str);
A. if(!!i){f();}
B. g(f());
C. a=a+1;
D. g("abc");

c肯定错误,d错误,b错误( 只有const引用才能被临时变量初始化
"abc"为const char *
const string &str="lyl"正确,去掉const错误,因 对于const引用,编译器会创建一与引用类型相同的临时变量,然后…

——————/
死锁发生的必要条件?
A. 互斥条件
B. 请求和保持
C. 不可剥夺
D. 循环等待
结果:abcd

——————/
哪个说法正确?
C. 哈希表(键值对)无法法进行范围检查(类似数组越界)
D. 二叉树无法进行线性访问
二叉树线索化后可进行线性访问

——————/
基于比较的排序的时间复杂度下限是多少?
A. O(n)
B. O(n^2)
C. O(nlogn)
D. O(logn)
选择排序、冒泡排序、插入排序、快速排序、希尔排序等下限c

——————/
大端:高位字节存放在地址低端

——————/
求两整数a和b之间较大者,要求不使用……
int min(int a, int b)
{
    int d = a - b;
    int flag = ((unsigned int)d) >> 31;
    int array[] = {b, a}; 
    return array[flag];
}

cout<< min(1, 2) <

——————/
有800个结点的完全二叉树,问有多少叶子结点?400
满二叉树、完全二叉树
具有N个结点的完全二叉树高度为log2N向下取整+1

——————/
排序算法稳定是指,关键码相同的记录排序前后相对位置不发生改变,下面哪种排序算法是不稳定的?
A. 插入排序
B. 冒泡排序
C. 快速排序
D. 归并排序
快速排序与希尔排序不稳定

——————/
在一cpp文件里定义一static类型全局变量,下面正确的描述是:A
A. 只能在该cpp所在编译模块中使用该变量
C. 该变量不能在类的成员函数中引用
D. 该变量只能是基本类型(如int, char)不能是C++类型

——————/
B隐式转换为A:
C. class B{ operator A(); };
D. class A{ A(const B&); };

operator①操作符重载②定义类型转换函数
class A
{
};

class B
{
public:
	operator A()  //将B的对象转换为A的对象 
	{
		A a;
		return a;
	};
};

int main()
{
	A a;
	B b;
	a=b;
    return 0;
}
——/
class B
{
};

class A
{
public:
	A()
	{
	}
	A(const B&)
	{
		cout<<"A(const B&)"<
结果:A(const B&)

你可能感兴趣的:(c++开发)