腾讯笔试题精选一
- 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. 上面都不对 - 下面哪些选项能编译通过? ( )
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”); - int a[10]; 问下面哪些不可以表示 a[1] 的地址? ( )
A. a+sizeof(int)
B. &a[0]+1
C. (int*)&a+1
D. (int*)((char*)&a+sizeof(int)) - 问下面的数据都存放在哪些存储区? ( )
int main()
{
char *p = “hello,world”;
return 0;
}
A. 代码段
B. 栈
C. 常量区
D. 堆 - 下面哪些函数调用必须进入内核才能完成? ( )A. fopen
B. exit
C. memcpy
D. strlen - 死锁发生的必要条件? ( )
A. 互斥条件
B. 请求和保持
C. 不可剥夺
D. 循环等待 - 有两个线程,最初 n=0,一个线程执行 n++; n++; 另一个执行 n+=2; 问,最后可能
的 n 值? ( )
A. 1
B. 2
C. 3
D. 4 - 下面哪些说法正确? ( )
A. 数组和链表都可以随机访问
B. 数组的插入和删除可以达到 O(1)C. 哈希表无法法进行范围检查
D. 二叉树无法进行线性访问 - 基于比较的排序的时间复杂度下限是多少? ( )
A. O(n)
B. O(n^2)
C. O(nlogn)
D. O(logn) - 对于下列程序,在一个 big endian 的 32 位的计算机上, b 的结果是? ( )
unsigned int a = 0x1234;
char b = ((char)&a);
A. 0x12
B. 0x34
C. 0x00
D. 程序崩溃 - 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用 if, while, switch, for, ?: 以
及任何的比较语句。