腾讯笔试题精选一
来源:互联网 发布:linux shell脚本减法 编辑:程序博客网 时间:2024/06/05 02:30
这些题目来自国嵌嵌入式培训视频《语言的艺术-笔试专题班》,特地整理下以便学习,如有错误欢迎指正
1. 32 位机上根据下面的代码,问哪些说法是正确的? (C ) 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=0xe0 二进制为11100000 最高位为符号位 1代表负数,因此a>0为假
* a为负数,c为无符号是正数,那么a==c为假
* 负的高位用1补齐,正的高位用0补齐
2. 下面哪些选项能编译通过? (A ) 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");解析:
* 答案是A ,但是本人用GCC编译时提示f()只声明未定义的错误
* f()返回的是一个临时变量,只有g()的参数是const引用时才能传入临时变量
* 数组名不能被赋值
* 不能将非const引用初始化为const char*
3. int a[10]; 问下面哪些不可以表示 a[1] 的地址? (A ) A. a+sizeof(int) B. &a[0]+1 C. (int*)&a+1 D. (int*)((char*)&a+sizeof(int))解析:
* a+4显然错误
* &a[0]+1即a+1 正确
* 数组地址强制转化为int*,即a[1]地址
* 数组地址被转化为char* 然后加4,向前步进了4*sizeof(char),然后又转化为int*,即a[1]的地址
4. 问下面的数据都存放在哪些存储区? (BC )int main() { char *p = "hello,world"; return 0; } A. 代码段 B. 栈 C. 常量区 D. 堆
解析:
* p为一个局部变量,存放在栈,“hello,world”为字符串常量,存放在常量区
*main函数是在代码段,但题目问的是数据
5. 下面哪些函数调用必须进入内核才能完成? (AB ) A. fopen B. exit C. memcpy D. strlen解析:
* fopen是打开文件函数,文件是可以看成一个设备的,打开一个设备就会给设备所属的驱动程序发送一个IRP,而与真实硬件相关的驱动都运行与内核
* 结束进程需要访问PCB进程控制块)和TCB(线程控制块)等等数据结构,而它们都存在于内核
* memcpy和strlen两函数为普通函数,跟内核无关
6. 死锁发生的必要条件? (ABCD ) A. 互斥条件 B. 请求和保持 C. 不可剥夺 D. 循环等待
不解释
7. 有两个线程,最初 n=0,一个线程执行 n++; n++; 另一个执行 n+=2; 问,最后可能的 n 值? (BCD ) A. 1 B. 2 C. 3 D. 4
解析:
* n++; n++ 2
* n++; n+=2 3
* n++; n++; n+=2; 4
8. 下面哪些说法正确? (B )A. 数组和链表都可以随机访问 B. 数组的插入和删除可以达到 O(1) C. 哈希表无法法进行范围检查 D. 二叉树无法进行线性访问解析:
* 数组可以随机访问,链表是不能随机访问的
* 二叉树可以前序遍历 中序遍历 后序遍历,都是线性访问
9. 基于比较的排序的时间复杂度下限是多少? (C ) A. O(n) B. O(n^2) C. O(nlogn) D. O(logn)
10. 对于下列程序,在一个 big endian 的 32 位的计算机上,b 的结果是? (C ) unsigned int a = 0x1234; char b = *((char*)&a); A. 0x12 B. 0x34 C. 0x00 D. 程序崩溃
解析:
* 大端模式节存放在低地址处,a=0x00001234,b为char型占两个字节,即0x00
及任何的比较语句。
/* * test.c * * Created on: 2015年3月29日 * Author: wind */#include <stdio.h>int min(int a, int b){int c = a - b;int flag = ((unsigned int)c) >> 31;int array[] = {b, a};return array[flag];}int main(int argc, char **argv){printf("%d\n", min(1,2));printf("%d\n", min(10,23));return 0;}
- 腾讯笔试题精选一
- 腾讯笔试题精选二
- 电子类公司笔试题精选(一)
- 【转载】C++笔试题精选(一)
- T 笔试题精选 (一)
- #每日一题#腾讯笔试题
- java笔试题精选
- 精选java笔试题
- C++笔试题精选
- Java精选笔试题
- 名企笔试真题精选 (一)
- 百度历年笔试题精选
- java笔试题(精选)
- 腾讯2012实习生笔试题其中一题
- #每日一题#腾讯研发工程师笔试题
- #每日一题# 2016腾讯笔试题之一
- #每日一题#2016腾讯实习生笔试题
- 闲逛的时候,看到一据说是腾讯的笔试题:
- linux基础知识之:Shell编程
- 【SICP练习】125 练习3.56
- C++中构造函数、析构函数以及类成员初始化顺序详解
- Variance
- mybatis:"configuration" must match "(properties?,settings?,typeAliase.....
- 腾讯笔试题精选一
- chmod
- UVa1644 - Prime Gap
- (产品技术)Axure7.0圆角矩形
- android一个BaseAdapter的使用(LayoutInflater加载自定义布局)
- xcode6.2 新建分类方法
- DNA Sorting
- 第32天【健身】
- makefile:简单入门