IT公司面试题总结(一)_it公司面试题总结五

2020-02-27 公司工作总结 下载本文

IT公司面试题总结(一)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“it公司面试题总结五”。

1.引用与指针有什么区别?

1)引用必须被初始化,指针不必。

2)引用初始化以后不能被改变,指针可以改变所指的对象。3)不存在指向空值的引用,但是存在指向空值的指针。2.堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源。

3.什么函数不能声明为虚函数?

constructor函数不能声明为虚函数。4.写出floatx与“零值”比较的if语句。if(x-0.000001)5.不能做switch()的参数类型是: switch的参数不能为实型

6..头文件中的ifndef/define/endif干什么用?预处理 答:防止头文件被重复引用

7.#include和#include“filename.h”有什么区别?

答:对于#include,编译器从标准库路径开始搜索filename.h 对于#include“filename.h”,编译器从用户的工作路径开始搜索filename.h

8.在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”声明?

答:c++语言支持函数重载,c语言不支持函数重载。函数被c++编译后在库中的名字与c语言的名字不同。假设某个函数的原型为void foo(int x,int y)。该函数被c编译器编译后在库中的名字为_foo,而在c++编译后会产生_foo_int_int之类的名字。C++提供了c连接交换指定符extern C来解决名字匹配问题。9.char str1[]=“abc”;char str2[]=“abc”;

const char str3[]=“abc”;const char str4[]=“abc”;

const char* str5=“abc”;const char* str6=“abc”;

char *str7=“abc”;char *str8=“abc”;cout

&a是数组指针,其类型为int(*)[5];而指针加1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同;a是长度为5的int数组指针,所以要加5*sizeof(int)。所以ptr实际是a[5]。但是prt与(&a+1)类型是不一样的(这点很重要),所以prt-1只会减去sizeof(int*)。a,&a的地址是一样的,但意思不一样,a是数组首地址,也就是a[0]的地址,&a是对象(数组)首地址,a+1是数组下一元素的地址,即a[1],&a+1是下一个对象的地址,即a[5]。11.交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3;

答:有两种解法,一种用算术算法,一种用^(异或)a=a+b;b=a-b;a=a-b;or a=a^b;//只能对int,char..b=a^b;a=a^b;

12.列举几种进程的同步机制,并比较其优缺点。答:原子操作、信号量机制、自旋锁、管程、会合、分布式系统 13.进程死锁的原因和4个必要条件

答:资源竞争及进程推进顺序非法;互斥、请求与保持、不可剥夺、循环与等待

14.要对绝对地址0x100000赋值,我们可以用(unsignedint*)0x100000=1234;那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? 答:*((void(*)())0x100000)();首先要将0x100000强制转换成函数指针,即:(void(*)())0x100000。然后再调用它:*((void(*)())0x100000)();用typedef可以看得更直观些: typedef void(*)()void Func Ptr;*((voidFuncPtr)0x100000)();15.unsignedchar*p1;unsignedlong*p2;p1=(unsigned char*)0x801000;p2=(unsigned long*)0x810000;请问

p1+5=______;p2+5=______;答案:0x801005;0x810014。不要忘记了这个是16进制的数字,p2要加20变为16进制就是14 16.设有以下说明和定义: typedef union { long i;int k[5];char c;}DATE;struct data { int cat;DATE cow;double dog;}too;DATE max;则语句printf(“%d”,sizeof(too)+sizeof(max));的执行结果是:______

答:DATE是一个union,变量公用空间.里面最大的变量类型是int[5],占用20个字节.所以它的大小是20 data是一个struct,每个变量分开占用空间.依次为int4+DATE20+double8=32.所以结果是20+32=52.当然...在某些16位编辑器下,int可能是2字节,那么结果是int2+DATE10+double8=20

《IT公司面试题总结(一).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
IT公司面试题总结(一)
点击下载文档
相关专题 it公司面试题总结五 公司 面试题 it公司面试题总结五 公司 面试题
[公司工作总结]相关推荐
    [公司工作总结]热门文章
      下载全文