关于面试宝典中的各个问题(一)
2011-06-07 21:29
387 查看
1、关于浮点数1.0f在内存中的表示:是3f800000.
各个类型所占的字节数(byte),1byte=8bit
char 1
short 2
bool 1
int 4
long 4
float 4
double 8
long double 8
char * 4
int * 4
float * 4
以上是对于我的电脑,在典型的32位机上面的用VS2008的情况,64位机上会有不同。具体情况会因为电脑和编译器的原因而不同。参考资料《深入理解计算机系统》P28.
2、整数提升 --来自《面试宝典》P37
结果是b=250,原因是整数提升,a取反后不是8Bit是16Bit,前面的0也变成了1.
3、a,b交换问题
先发一段求a,b中较大的一个的程序:
这个程序我觉得还比较有意思,另一种较简单的做法就是int max=((a+b)+abs(a-b))/2;
再来说说ab交换的问题:
用异或^比较好,因为不容易出现越界的问题,
a=a^b;
b=a^b;
a=a^b;
就可以了。
4、这个问题是在处女面的时候被问到的问题:
C和C++
C++中调用被C编译器编译后的函数为什么要加extern "C"
C++语言支持函数重载,而C不支持,所以extern c这个链接交换指定符号解决名字匹配问题。
最后关于extern "C"等等,推荐一个网页
http://www.cnblogs.com/skynet/archive/2010/07/10/1774964.html
好啦,这部分程序设计的基本概念先告一段落~
各个类型所占的字节数(byte),1byte=8bit
char 1
short 2
bool 1
int 4
long 4
float 4
double 8
long double 8
char * 4
int * 4
float * 4
以上是对于我的电脑,在典型的32位机上面的用VS2008的情况,64位机上会有不同。具体情况会因为电脑和编译器的原因而不同。参考资料《深入理解计算机系统》P28.
2、整数提升 --来自《面试宝典》P37
int _tmain(int argc, _TCHAR* argv[]) { unsigned char a=0xA5; unsigned char b=~a>>5; printf("b=%d",b); getchar(); return 0; }
结果是b=250,原因是整数提升,a取反后不是8Bit是16Bit,前面的0也变成了1.
3、a,b交换问题
先发一段求a,b中较大的一个的程序:
int a=5; int b=3; int c=a-b; char *strs[2]={"a large","b large"}; c=unsigned(c)>>(sizeof(int)*8-1); printf("%s",strs[c]); getchar(); return 0;
这个程序我觉得还比较有意思,另一种较简单的做法就是int max=((a+b)+abs(a-b))/2;
再来说说ab交换的问题:
用异或^比较好,因为不容易出现越界的问题,
a=a^b;
b=a^b;
a=a^b;
就可以了。
4、这个问题是在处女面的时候被问到的问题:
C和C++
C++中调用被C编译器编译后的函数为什么要加extern "C"
C++语言支持函数重载,而C不支持,所以extern c这个链接交换指定符号解决名字匹配问题。
最后关于extern "C"等等,推荐一个网页
http://www.cnblogs.com/skynet/archive/2010/07/10/1774964.html
好啦,这部分程序设计的基本概念先告一段落~
相关文章推荐
- 关于面试问题一
- 面试之如何回答关于算法设计的问题?
- 关于面试常见的一个数组中找出出现一次的几个数字的问题
- Java面试中关于String的问题总结
- C++面试中关于智能指针的问题
- 面试也常遇到的关于Integer大小比较的问题
- 一次面试留下的实际应用问题。关于HttpModule,IIS集成模式。
- 【逻辑面试题】关于需要几架飞机可以让其中一架飞机绕地球一圈的问题
- 面试宝典 问题记录
- 面试中关于Java虚拟机(jvm)的问题看这篇就够了
- 关于JAVA线程的面试问题~
- 如何回答C++面试中关于智能指针的问题?
- 我的面试宝典(4):面试问题早准备
- 关于面试的几个小问题
- 关于数据库(Mysql)的一些面试(笔试)问题
- 面试时,如何回答关于“缺点”的问题——大学生求职七大昏招衍生系列(2)
- 关于c++面试问题的一些总结
- 面试中关于C++中的类,结构体,enum,字符变量等所占内存空间问题总结
- 关于文件拷贝效率问题(面试总结)