- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
勿以恶小而为之,勿以善小而不为。——刘备
C/C++面试笔试题
答题要求:
1)所有答案写在空白答题纸上,考试过程不得使用手机等通信工具!
2)试卷需回收复用(低碳环保),不得涂写,否则考试结果总分扣10分;
一基础简答题(30分,每道题目2分)
1简要描述C++指针和引用区别
指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质
上是同一个东西,只不过是原变量的一个别名而已
(4)指针的值可以为空,但是引用的值不能为NULL,并且引用在定义的时候必须初始化;
指针的值在初始化后可以改变,即指向其它的存储单元,而引用在进行初始化后就不会再改变了。
2简要描述中断和异常的区别
3操作系统的堆(Heap)和栈(Stack)的区别?(非数据结构里面的堆和栈)
栈(操作系统):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据
结构中的栈,栈使用的是一级缓存,他们通常都是被调用时处于存储空间中,调用完毕立即释放
堆(操作系统):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,分配方式倒是
类似于链表。堆则是存放在二级缓存中,
4进程和线程有什么区别
线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己
的执行堆栈和程序计数器为其执行上下文
5在32位系统的机器上,下面数据类型的指针变量占多少位?
char*pszChar=NULL;
int*pInt=NULL;
6列举几种进程/线程间通信的方法
线程间通信和同步的方式主要有锁、信号、信号量
7已知一个数组ARRAY,定义一个宏(NA),求出数组的元素个数
8简要描述C++new操作符与C语言的malloc区别
9下列代码:
intGetValue()
{
staticchar*tmp0=12131;
intm=1;
returnnValue;
}
请问“12131”是分配在堆上还是分在栈上?
10在32位系统下,定义变量char*a[5][6],则变量a内存空间大小为字节
1/5
人人好公,则天下太平;人人营私,则天下大乱。——刘鹗
11简要描述TCP/IP的协议架构层次,并简单描述每一层次的主要功能
12简单描述路由器和普通以太网交换机的区别以及各自工作在那一层协议
13简要描述自己使用过的几个C++STL常用组件
14什么叫函数可重入?
15简要描述进程(线程)同步、异步的区别
二代码排错题(共16分,每道题目4分)
1分析下面程序在32位Windows或32位Linux系统下下编译执行,会出现什么情况?
#includestdio.h
intmain(intargc,char*argv[])
{
charbuffer[100*1024*1024];
printf(helloworld\n);
return0;
}
2分析add函数有什么问题?
intadd(intn,intm)//实现两个数相加
{
staticinttemp=0;
temp+=m;
temp+=n;
returntemp;
}
3下面代码编译,执行后会有什么问题?
#includestdio.h
#includestring.h
intmain(intargc,char*argv[])
{
char*s1=abcdefg;
char*s2=bcde;
memcpy(s1,s2,sizeof(4));
printf(%s,s1);
return0;
}
4分析下面的代码运行会有什么问题
#includestdio.h
#includestring.h
intmain(intargc,char*argv[])
{
intbuffer[20];
int
文档评论(0)