C/C++拾遗2
来源:互联网 发布:淘宝我的评价在哪 编辑:程序博客网 时间:2024/04/30 22:42
1、下面的程序输出什么?为什么?(某 CPU 公司面试题)
int main(int argc, char* argv[])
{
unsigned char a = 0xA5;
unsigned char b = ~a >> 4 + 1;
printf("%d\n", b);
return 0;
int main(int argc, char* argv[])
{
unsigned char a = 0xA5;
unsigned char b = ~a >> 4 + 1;
printf("%d\n", b);
return 0;
}
(分析:第一个坑:运算符优先级,+的优先级大于>>;第二个坑:当小类型变量和整型做运算的时候,会转化为int类型。
这个题,将得到的int型的结果再截断,最后答案:250)
6. 写程序判断一个数是否是 2 的 N 次方! (某 CPU 公司面试题)
(分析:
2的1次方:0000 0001
2的2次方:0000 0010
2的3次方:0000 0100
那么,如果一个数是2的N次方,那么这个数的二进制就只有一个1.
假设X这个数是2的N次方,(X-1 & X)必然等于0!!!
)
#include <iostream>using namespace std;int main(){ int a[] = {1, 2, 3, 4, 5, 6}; int b[] = {3, 5, 7, 9}; int buf[100] = {0}; for(int i=0; i<sizeof(a)/sizeof(*a); i++) { buf[a[i]]++; } for(int i=0; i<sizeof(b)/sizeof(*b); i++) { if( buf[b[i]] ) cout << b[i] << endl; } return 0;}
8. 面试时如何被问及期望的薪水,该如何回答?
(打听公司底薪+500)
9. 职场新人应该注意些什么问题?
(如果有的师傅不屌你,那么你就需要主动问师傅有什么杂活可以帮你做的,给师傅节省了时间,打好了关系,他才会也才有时间教你。不要坐着耗下去,因为即便跳槽也一样。)
0 0
- C/C++拾遗2
- C 拾遗
- c拾遗
- C语言-拾遗(2) 指针 && 声明
- C/C++拾遗
- C语言拾遗
- c语言拾遗3
- c语言拾遗4
- C语言拾遗
- C/C++ 拾遗(1)
- C语言拾遗
- C语言拾遗
- C语言数据类型拾遗
- C语言函数拾遗
- C语言数组拾遗
- C语言指针拾遗
- C语言拾遗
- C/C++拾遗1
- 安装jdk,配置Java环境变量
- 基于spring4.3+hibernate5.1+Struts2.5整合的个人记账管理系统
- 大数据处理面试题分析
- 自定义View常用细节性集合
- throw与throws
- C/C++拾遗2
- Qt5.7.0编译移植到Linux-Arm-A9
- 框架中Web容器套路,对于框架的一点理解
- SQLServer2008 视图创建实例
- Java开发环境搭建、Eclipse优化设置
- delegate_sdgj
- 基于linux的二维码DM ,QR平台搭建(opencv) (一)
- 菜鸟学习之路一摸索
- 【委员】回应大风的要求:expression题解