




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精选深信服科技2011校园招聘笔试题一、 选择题(单选多选都有,每题2分,时间:120分钟)1. 正则表达式 (a | b) + 0 - 9*c 可匹配下列哪些字符串?( )A. abacB. 90cC. aba10cD. ac2. 已知a, b 都是double类型,下列哪些判断a, b相等的方法是正确的?( )A. a = bB. fabs(a-b) DBL_EPSILONC. fabs(a-b) = FLT_EPSILOND. fabs(a-b) = DBL_EPSILONE. fabs(a-b) pnext;elsephead = plast = prhs;prhs = prhs-pnext;while(_)if(plhs-val val)plast-pnext = plhs;plast = plhs;plhs = plhs-pnext;elseplast-pnext = prhs;plast = prhs;prhs = prhs-pnext;plast-pnext = _;return _;3. 一个正整数n, 可以分解为多个小于等于n的正整数的和,表达式右部的各个正整数要求都是2的幂,例如给定正整数4、7,它们可以分解得到如下表达式:4 = 1+1+1+17 = 1+1+1+1+1+1+14 = 1+1+27 = 1+1+1+1+1+24 = 2+27 = 1+1+1+2+24 = 47 = 1+1+1+47 = 1+2+2+27 = 1+2+4因此,正整数4、7可以得到的表达式个数分别是4个和6个,下列程序可以计算给定正整数n(0 n 10000) 的和式个数,请补充其中空缺。_int64 calc(int n)int i;int size = _;_int64* w = (_int64*)malloc(size);if(!w)abort():_int64 ret = 0;_;_;for(i=3; i=n; i+)if(i%2)wi = _;elsewi = _;ret = wn;free(w);return ret;四、 问答题(每题5分,共25分)1. 下列代码期望输出结果是1111,请找出fun1.fun4中存在的问题,并简单说明原因:1) int* fun1(int a) 问题1:返回局部变量的地址 问题2 第二次调用时将覆盖第一次的结果所以等到的是02) int ret = a;3) Return &ret;4) 5) int* fun2(int a)6) int* p = (int*)malloc(sizeof(int); 可以得到1 但是没有释放在堆中分配的内存7) *p = a;8) return p;9) 10) int* fun3(int a) 等到的是0 因为静态局部变量只在第一次调用时分配空间初始化一 次,以后调用孔用此空间11) static int ret; static int a=5;这个是初始化 a=6这个是赋值12) ret = a;13) return &ret;14) 15) int* fun4(int a)16) return &a;17) 18) int main()19) 20) printf(“%d”, *fun1(2)-*fun1(1);21) printf(“%d”, *fun2(2)-*fun2(1);22) printf(“%d”, *fun3(2)-*fun3(1);23) printf(“%d”, *fun4(2)-*fun4(1);24) return 0;25) 2. 怎么查找产生内存泄漏的代码位置,请至少写出三种不同类型的方法:3. C语言中的main函数的返回值有什么作用?如何通过C代码取得该返回值?main 函数的返回值类型必须是 int ,这样返回值才能传递给操作系统。如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入 return 0,表示程序正常退出。不过,我还是建议你最好在 main 函数的最后加上 return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在生成的目标文件中加入 return 0 ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上int main()返回整数( 通常和return 0)连用,返回0,告诉系统程序正常终止,返回非零值告诉系统程序异常关闭.打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo%ERRORLEVEL%”,回车,就可以看到程序的返回值为0。假设刚才编译好的文件是a.exe,如果输入“a & dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非0值,重新编译后输入“a & dir”,则dir不会执行。因为&的含义是:如果&前面的程序正常退出,则继续执行&后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是int main的好处。如果你有兴趣,也可以把main函数的返回值类型改成非int类型(如float),重新编译后执行“a & dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入a | dir的话,则表示如果a异常退出,则执行dir4. 汉诺塔问题:有A、B、C三个台子,每个台子上面可放若干个盘子,要求每个盘子下面的盘子都比自己大。现在要从A台移10个盘子到B台,每次只能移动一个盘子,可以借助C台,问:一共要移动几次盘子,请写出计算过程。5. 近来有人声称发明了一类神奇的直角三角形,其每一条边的长度都是互不相等的Fibonacci数, 聪明的你能找到这样的三角形吗?如果能,请写出符合条件的三个数值,如果不能,请写出分析过程,Fibonacci数:满足:f(1) = 1, f(2) = 1, f(n) = f(n-1) + f(n-2)。五、 编程题(20分)1. 编写函数align_n, 将size的低n位(即:0到n-1位)清零,如果size的低n位不为函数原型:unsigned int align_n(unsigned int size, int n)2. 计算a的n次方是许多加密算法的基本操作, 蛮力计算方法的复杂度是O(n),请设计一个时间复杂度小于O(n)的算法,(假设计算结果可以使用long型存储)。(6分)3. 不调用库函数实现split_ext,该函数作用是从WINDOWS格式路径中提取文件的后缀名,函数原型:char* split_ext(const char* pszPath, char* ext)需要正确处理以下格式路径:C:Dlan Fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 欢乐周末团队历奇小组(计划书)
- 项目管理制度 (二)
- 襄阳枣阳市招聘事业单位工作人员考试试题及答案
- 2025年新型分子筛系列产品项目合作计划书
- 2025年玻璃、陶瓷制品生产专用设备合作协议书
- 2025年邮政专用机械及器材项目建议书
- 2025年高纯度丙烯酰胺及聚丙烯酰胺项目建议书
- 学习动力与教育环境的互动关系
- 教育创新论坛国际在线教育平台的挑战与机遇
- 教育国际合作打破教育壁垒的实践研究
- 2025年浙江金华市义乌市双江湖开发集团有限公司招聘笔试参考题库附带答案详解
- DB65-T8024-2024 建筑用室外气象参数标准J17664-2024
- 霍尔果斯人才集团招聘笔试冲刺题2025
- 2024年中级咖啡师技能认证考试复习题库(含答案)
- 新课标(水平三)体育与健康《篮球》大单元教学计划及配套教案(18课时)
- GB/T 44910-2024琥珀分级
- 应急文化守护万家
- 临时施工出入口交通疏导方案
- 医疗设备器材供货安装、调试及售后服务方案
- 汽车内饰件及材料气味评价标准解析
- 大学生创新创业基础(创新创业课程)完整全套教学课件
评论
0/150
提交评论