ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:32KB ,
资源ID:4496405      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4496405.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(西山居笔试题.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

西山居笔试题.doc

1、西山居笔试题 资料仅供参考 西山居笔试题 一、填空: 1、 char szTest[]=“12345\t\n\0abcd\0”,求strlen[szText] = 7, sizeof[szTest] = 14. strlen 是函数,运行时才能确定,因此它只计算了12345\t\n 而sizeof 是操作符,它包括所有的字符12345\t\n\0abcd\0,还要加一个结束字符,因此为13=1 = 14 2、 Int anTest[5][10]; int n1=&anTest[4]-&anTest[0], n2=&anTest[3][1]-&anTest[1

2、][3]; 则n1=____4___ ,n2= ______18____ ; 注意计算第一个的时候能够想一下 指向数组的指针,当指针 +1 的时候实际上是加了一个数组长度,这个题反过来想比较好做 3、 Char szNum[]=””, int n=*(short*)(szNum+4)- *(short*)(szNum); 则n= ___1028_____ ; 这里(short*)(szNum)是指向12 为内存单元为0000 0001 0000 0010 即两个内存单元存储一个数,(short*)(szNum+4)是指向56,内存中存放为 0000 0101 0000 0110

3、即两个内存单元存储一个数 4、 Stl 中二分查找法的函数名,稳定排序的函数名,部分排序的函数名各是什么 5、 Stl中的map常见数据结构中的_____红黑树________实现。 6、 比较两数大小,返回较大值 Int cmp(int x,int y){ Return _____a>b? a:b________________; } 7、#include Int cc(int i){ For(;i<4;) Std::cout<

4、Int main(){ Cc(1); Return 0; } 请输出结果:4444444 8、要增加一个类到某种类型的隐式转换可经过重载______赋值 操作符实现 9、C++64位编译环境下,sizeof(int)=___4_____,sizeof[int *]=____8______ 自己对于64位平台上各种数据类型分别占用多少字节,存在一些疑问,因此用C/C++中的sizeof分别在这两种平台上进行了测试。 运行结果如下:(分别用蓝色和红色标记了两者的差异) —————————————————————————— 机器平台:X86_64 处

5、理器 操作系统:Red Hat 4.1.2-14 编译器: gcc version 4.1.2 0626 Size of char is: 1 Size of unsigned char is: 1 Size of signed char is: 1 Size of int is: 4 Size of short is:

6、 2 Size of long is: 8 Size of long int is: 8 Size of signed int is: 4 Size of unsigned int is: 4 Size of unsigned long int is: 8 Size of long long int is:

7、 8 Size of unsigned long long is: 8 Size of float is: 4 Size of double is: 8 Size of long double is: 16 Size of (void *) is: 8 Size of (char *) is: 8 Size of (int *) is: 8 Size of (long *) is

8、 8 Size of (long long *) is: 8 Size of (float *) is: 8 Size of (double *) is: 8 —————————————————————————— 机器平台: X86_32 处理器 操作系统: Windows XP SP2 编译器: VS 自带的C++编译器 Size of char is: 1 Size of unsigned char is: 1

9、Size of signed char is: 1 Size of int is: 4 Size of short is: 2 Size of long is: 4 Size of long int is: 4 Size of signed int is: 4 Size of unsigned int is: 4 Size of unsigned long int is

10、 4 Size of long long int is: 8 Size of unsigned long long is: 8 Size of float is: 4 Size of double is: 8 Size of long double is: 8 Size of (void *) is: 4 Size of (char *) is: 4 Size of (int *) is

11、 4 Size of (long *) is: 4 Size of (long long *) is: 4 Size of (float *) is: 4 Size of (double *) is: 4 其实就是所有的指针扩充为8位,long 变为8位, long doulbe 变为16位,注意double 是没有变化的 10、列举c++0x的任意三个新特性 11、unsigned int strilen(const char*pstr) { _asm{

12、 Mov eax,pstr Cmp byte ptr[eax],0 Jz zreturn Zloop: ________________ Cmp byte prt[eax],0 Jnz zloop Zreturn: Sub eax,pstr } } 二

13、诊断题。若错误,请写出错在哪里 1、 全局变量与静态变量在内在中的存储位置是相同的。 正确。 1。全局变量中static全局变量和普通全局变量的区别: 相同点:1)共存于同一块内存(静态存储区)中; 2)生命期相同,都是到整个程序的生命期; 不同点:1)前者是内部连接,后者是外部连接; 2)作用域不同: 前者的作用域是局部于它所在的文件的,也就是说在当前程序中其它文件中是不能使用它的,如果想在想其它文件中声明它

14、为extern的来访问它,编译器就会报错,当然在其它文件中即使有同名的变量也不会有名字冲突的问题; 后者的作用域是整个程序中的所有文件,能够在其它文件中声明它为extern来访问它,当然在整个程序中不论是否是同一个文件都不能有同名的普通全局变量,否则会有名字冲突,(如果在一个函数体内有与全局变量同名的局部变量,那么局部变量会屏蔽全局变量,除非使用作用域运算符:: ); 2。局部变量中的static变量和普通变更的区别: 相同点:作用域相同,都是局部于当前所在的函数体内。 不同点:1)前者是内部连接,后者没有连

15、接,因为普通局部变量是位于堆栈中,连接器不知道它们; 2)存储区域不同:前者存放于静态存储区,后者存放于栈中; 3)生命期不同:前者是整个程序的生命期,后者是所在函数的生命期(即随它所在的函数调用的结束而结束;        4)初始化:前者只在函数第一次被调用时初始化,当次调用时的变量值会保存到下次调用时使用,也就只初始化一次;后者则是在每次调用函数时都要重新创立它的存储空间,重新初始化一次,即调用一次函数初始化一次。 2、 Windows操作系统中进程是基本执行单位。 答:错,在Wind

16、ows 中,线程是基本执行单位,进程是一个容纳线程的容器。进程是线程的资源分配单元 3、 在栈上分配内存和在堆上分配内存,效率是一样的 答:堆的效率要低,堆是应用程序在运行的时候请求操作系统分配给自己内存,由于从操作系统管理的内存分配,因此在分配和销毁时都要占用时间,因此用堆的效率非常低.可是堆的优点在于,编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要在堆里停留多长的时间,因此,用堆保存数据时会得到更大的灵活性。 4、 Sizeof属于C++内置函数 答:错误sizeof()是一个操作符,不是函数,因此在第一题中sizeof的值是14,因为它不是运行时确定 5、

17、 构造函数只能定义为public,不能为protected或private. 答:错误,如果你不想让外面的用户直接构造一个类(假设这个类的名字为A)的对象,而希望用户只能构造这个类A的 子类,那你就能够将类A的构造函数/析构函数声明为protected,而将类A的子类的构造函数/析构函数声明为public。 如果将构造函数/析构函数声明为private,那只能这个类的“内部”的函数才能构造这个类的对象了。这里所说的“内部”是指类的成员函数。 因为在外部不能定义对象,因此不能经过对象调用成员函数,如果想要调用成员函数的话,能够将成员函数定义为静态,然后经过类的::操作符调用,A& ra

18、 = A::Instance();ra.Print();即可 6、 C的qsort与C++的std::sort均采用快速排序,但C效率高于C++,故qsort的效率高 答:错,与编译系统有关 7、 用new[]分配的内存如果用delete释放,结果是一定会内存泄露。 答:错误,在林锐的《C++高质量编程》中提到 如果用new 创立对象数组,那么只能使用对象的无参数构造函数。例如 Obj *objects = new Obj[100]; // 创立100 个动态对象 不能写成Obj *objects = new Obj[100](1);// 创立10

19、0 个动态对象的同时赋初值1 在用delete 释放对象数组时,留意不要丢了符号‘[]’。例如 delete []objects; // 正确的用法 delete objects; // 错误的用法 后者相当于delete objects[0],漏掉了另外99 个对象。 而如果我们只是 int *p = new int[1]; 则用deledte删除的时候就能够释放p指向的内存,不会造成内存泄露 8、 全局对象及静态对象均在main函数执行之前构造。 对 三、1、unresolved extrenal Symbol是

20、什么错误?原因是什么? 不确定的外部“符号”, 产生这个错误的原因:如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。一般来说,发生错误的原因有两个:一是所引用的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本的连接库。 2、线程死锁发生的原因?要防止死锁在多线程编程中我们要注意什么? 3、什么叫哈希算法?有什么应用? 4、列举Windows中进程注入的方式。 为了对内存中的某个进程进行操作,而且获得该进程地址空间里的数据,或者修改进程的私有数据结构,必须将自己的代码放在目标进程的地址空

21、间里运行,这时就避免不了使用进程注入方法了。 进程注入的方法分类如下: 带DLL的注入 利用注册表注入 利用Windows Hooks注入 利用远程线程注入 利用特洛伊DLL注入 不带DLL的注入 直接将代码写入目标进程,并启动远程线程 5、请从程序机制上解释缓冲区溢出攻击原理。 当一个超长的数据进入到缓冲区时,超出部分就会被写入其它缓冲区,其它缓冲区存放的可能是数据、下一条指令的指针,或者是其它程序的输出内容,这些内容都被覆盖或者破坏掉。可见一小

22、部分数据或者一套指令的溢出就可能导致一个程序或者*作系统崩溃。 缓冲区溢出是当前导致“黑客”型病毒横行的主要原因。从红色代码到Slammer,再到日前爆发的“冲击波”,都是利用缓冲区溢出漏洞的典型。缓冲区溢出是一个编程问题,防止利用缓冲区溢出发起的攻击,关键在于程序开发者在开发程序时仔细检查溢出情况,不允许数据溢出缓冲区。另外,用户需要经常登录*作系统和应用程序提供商的网站,跟踪公布的系统漏洞,及时下载补丁程序,弥补系统漏洞 6、简述copy-on-write机制及应用。 简单来说,在复制一个对象时并不是真的在内存中把原来对象的数据复制一份到另外一个地址,而是在新对象的内

23、存映射表中指向同原对象相同的位置,而且把那块内存的 Copy-On-Write 位设为 1。在对这个对象执行读操作的时候,内存数据没有变动,直接执行就能够。在写的时候,才真正将原始对象复制一份到新的地址,修改新对象的内存映射表到这个新的位置,然后往这里写。 这个技术需要跟虚拟内存和分页同时使用,其好处是在复制对象的时候因为并不是真的复制,而只是建了一个“指针”,因而大大提高性能。但这并不是一直成立的,前提是在复制新对象之后,进行的写操作只是在一小部分的内存分页上,大部分分页不会用到或者只是读取。不然会产生大量的分页错误,得不偿失。 作用是提高内存的使用率和共享率,在线程同步,迟缓写入等方

24、面都有应用 7、解释函数声明中三个const作用。 Templatevoid Fun(const T* const &p)const; 四、编程题 1、以下函数把传入的两个整数值存到一个Buffer里,完成函数实现。 Bool StroredDataToBuffer(int a,int b,char *pBuffer,unsigned int uBufferSize); 2、100个苹果完全随机分给4人,每人可能得0~100个。设计一个随机分配算法。要求:在结果随机(不可预知)基础上每种分配概率均等。如(25,25,25,25),(0,0,0,100)都是分配结果,机率一样。 3、某游戏服务器最多能同时接受N个连接,当游戏客户端连接服务器时,服务器会给该连接分配一个连接ID(ID范围1~N),当游戏客户端断开连接时该ID会重新回收重用,请设计并实现一个ID分配器,说明:1)ID分配给一个连接后回收前不能再分配。 2)若已无可分配ID,则分配失败,返回0

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服