1 / 13
文档名称:

软件工程师经典笔试题IT笔试题.pdf

格式:pdf   大小:103KB   页数:13页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件工程师经典笔试题IT笔试题.pdf

上传人:李十儿 2022/8/8 文件大小:103 KB

下载得到文件列表

软件工程师经典笔试题IT笔试题.pdf

相关文档

文档介绍

文档介绍:: .
软件工程师经典笔试题 IT笔试题
<<sizeof(A3)<<sizeof(A4)<<sizeof(A5)<<endl; return
0;}
答案:因为静态变量是存放在全局数据区的,而 sizeof 计算栈中分配的大小,是不会计算在
内的,所以 sizeof(A1)是 4;为了照顾数据对其,int 大小为 4,char 大小为 1,所以 sizeof(A2)
是 8;为了照顾数据对其,float 大小为 4,char 大小为 1,所以 sizeof(A3)为 8;为了照顾数
据对其,float 大小为 4,int 大小为 4,char 大小为 1,所以 sizeof(A4)为 12;为了照顾数据
对其,double 大小为 8,float 大小为 4,int 大小为 4,char 大小为 1,所以 sizeof(A5)选择 8
的倍数为 24。
6. 以下代码的输出结果是()
char var[]
Int test(char var[]){ retrun sizeof(var);}
答案:因为 var[]等价于*var,函数内部已经退化成一个指针了,所以大小是 4.
7. 以下代码的输出结果是()
Class B { float f; char p; int asf[3];}; cout<<sizeof(B)<<endl;答案:float f 占了 4 个字节,char p 占了一个字节,int adf[3]占了 12 个字节,总共是 17 个,
根据内存的对齐原则,要选择 4 的倍数,是 4×5=20 个字节。
8. 以下代码的输出结果是()
Class B { double d; char p; int asf[4];}; cout<<sizeof(B)<<endl;
答案:double d 占了 8 个字节,char p 占了一个字节,int adf[4]占了 16 个字节,总共是 25
个,根据内存的对齐原则,要选择 8 的倍数,是 32 个字节。
9. 一个空类所占空间为 1,多重继承的空类所占的空间还是 1,但是虚继承涉及到虚
表(虚指针),所以虚继承的空类占的空间为 4。
10. this 指针是在实例化一个对象后产生的, pt,那
么 this=&pt;用”&”,如果定义对象 pt 这个类中,有一个 public
变量 x,那么就可以用 this->x=0 来定义 x 的值,等同于 =0.
11. #include <iostream> using namespace std;
Void GetMemory(int *z) { *z=5; }
Int main() { int v; GetMemory(&v); cout<<v<<endl; return 0;}
Getmory 把 v 的地址传了过来,*z 是地址里的值,是 v ,不需
要有返回值,也把 v 给修改了,因为 v 所指向地址的值发生了改变,最终程序会崩溃.
12. 下面的数据声明都代表什么意思?
(1)float(**def)[10]
Def 是一个二级指针,它指向的是一个指向一维数组的指针,数组的元素都是 float。
(2)double*(*gh)[10]
Gh 是一个指针,它指向一个一维数组,该数组元素都是 double*
(3) double(*f[10])()
F 是一个数组,f 有十个元素,元素都是指向函数的指针,指向的函数类型是没有参数且返
回 double 的函数
(4)int*((*b)[10])
就跟“int*(b)[10]”是一样的,b 是一维数组的指针(5)long(*fun)(int)
函数指针:指向函数的指针
(6)int(*(*f)(int,int))(int)
F 是一个函数的指针,指向的函数的类型是有两个 int 参数并且返回一个函数指针的函数,
返回的函数指针指向一个 int 参数且返回 int 的函数。
13. 指针数组与数组指针
指针数组,是指一个数组里面装着指针,数组指针,代表它是指针,指向真个数组