【文件属性】:
文件名称:程序员面试宝典题目总结
文件大小:72KB
文件格式:DOC
更新时间:2014-02-12 10:38:53
程序员 面试 宝典 题目总结
1. What will be the output of the following C code?
#include
int main(int argc, char* argv[])
{
int b=3;
int arr[] = {6, 7, 8, 9, 10};
int *ptr = arr;
*(ptr++) += 123;
printf("%d, %d\n", *ptr, *(++ptr));
return 0;
}
2. 下面程序的结果是多少?
#include
int main(int argc, char* argv[])
{
unsigned char a = 0xA5;
unsigned char b = ~a>>4;
printf("b = %d\n", b);
return 0;
}
3. 下面程序的结果是:
#include
int main(int argc, char* argv[])
{
unsigned int a = 0xFFFFFFF7;
unsigned char i = (unsigned char)a;
char * b = (char *)&a;
printf("%08x, %08x\n", i, *b);
return 0;
}
4. 用一个表达式,判断一个数X是否为2的N次方(2,4,8,…),不可用循环语句。
5. 下面程序的结果是:
#include
#include
using namespace std;
int main(int argc, char* argv[])
{
int count = 0;
int m = 9999;
while(m){
count++;
m = m & (m - 1);
}
cout << count << endl;
return 0;
}
6. 不用判断语句,找出两个数中比较大的。
7. 如何将a、b的值交互,且不用任何中间变量。
8. 在C++程序中调用被C编译器编译后的函数,为什么要加extern “C”?
9. 头文件中的ifndef/define/endif的作用? #pragma once的作用?
10. 结构体内存对齐问题。
11. 以下代码的输出是?
char var[10];
int test(char var[]){
return sizeof(var);
}
12. 写出下面程序的运行结果。
int a[3];
a[0] = 0; a[1] = 1; a[2] = 2;
int *p, *q;
p = a;
q = &a[2];
cout << a[q - p] << endl;
13. 解释下面这段代码:
int (*a)[10];
a++;
14. 以下程序的输出是:
int a[] = {1, 2, 3, 4, 5};
int *ptr = (int *)(&a + 1);
cout << *(a+1) << endl;
cout << *(ptr - 1) << endl;
15. 什么是智能指针?
16. Please write out the program output.
#include
#include
#define LOOP 1000
int main(int argc, char* argv[]){
int rgnC = 0;
srand((unsigned int)time(NULL));
for (int i=0; i
#include
using namespace std;
class Base{
private:
int m_i;
int m_j;
public:
Base(int i):m_j(i), m_i(m_j){ }
Base():m_j(0), m_i(m_j){ }
int GetI(){ return m_i; }
int GetJ(){ return m_j; }
};
int main(int argc, char* argv[]){
Base base(98);
cout << base.GetI() << endl << base.GetJ() << endl;
return 0;
}
18. 请讲述Heap与Stack的差别。
19. 写一个字符串拷贝函数strcpy;为什么strcpy的返回值类型为char *。
20. 如何判断一个单向链表是否有环路?
21. 写出判断ABCD四个表达式的是否正确,若正确, 写出经过表达式中 a的值。
int a = 4;
(A)a += (a++); (B) a += (++a) ; (C) (a++) += a; (D) (++a) += (a++);
22. 下面程序的输出为:
union{