版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年迅雷网络技术公司面试题(C++工程
师岗位)第1题:一、单选题下列for循环的循环体执行次数为for(inti=10,j=l;i=j=0;i++,j-)AOB1C无限D以上都不对答案:A解析:这个问题可以这样理解,在for(stringl;string2;string3)中,stringl用于设定循环变量处置,string2用于循环推断,string3用于转变循环变量到调整,一般状况下,我们采纳规律推断表达式来打算循环是否执行,而假如在这里采纳赋值语句,其规律值始终为假,导致循环不执行第2题:下面程序的输出结果是char*pl="123",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(pl,p2));coutstr;Axyzl23ABCBZ123ABCCxyl23ABCD出错答案:D解析:strcat(pl,p2)出错,由于pl只被安排了4个字节的地址空间,将p2拼接在pl后面会引起内存溢出。第3题:下面函数的执行结果是输出charstr[]=/zxunleiw;char*p=str;intn=10;printf("%d,%d,%d/n”,sizeof(str),sizeof(p),sizeof(n));A4,4,4B7,4,4C6,4,4D6,6,4答案:B解析:指针和int、float类型均占4个字节,而sizeof(str)包括\0'所以是7个字节第4题:char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s”,p,q);printf("%s%s/n”,p,q);若从键盘输入:abcdef,则输出结果是AdefdefBabcdefCabedDdd答案:A解析:q=p;因此p,q指向的是同一段内存.scanf先是把abc写到p指向的空间,再把def写到q指向的空间,也就是同一段空间,因此abc被def掩盖了。第5题:现在有以下语句:struct_THUNDER{intiVersion;charcTag;charcAdv;intillser;charcEnd;}Thunder;intsz=sizeof(Thunder);则执行后,变量sz的值将得到AllB12C13D16答案:D解析:结构体默认对齐方式为8,则iVersion取4字节对齐,CTag、CAdv和cEnd取2字节对齐,结构体大小为14,14不为4的整数倍,补空字节,增至16时符合全部条件,则sizeof(Thunder)为16。第6题:有如下程序段:voidGetMemeory(char*p)p=(char*)malloc(100);}voidtest()char*str=NULL;GetMemory(str);strcpy(str,"Thunder");strcat(str+2//Downloader,/);printf(str);}请问运行Test函数结果是:AThunderDownloaderBunderDownloaderCThunderownloaderD程序崩溃答案:D分析:在函数中给指针安排空间,实际上是给指针的临时变量安排空间,函数结束后,这个临时变量也消亡,而str仍旧为NULL,没有为其安排空间,此时strcpy()是确定会出错的。第7题:P是指向类X的成员m的指针,s是类X的一个对象。现要给m赋值,()是正确的。As.p=5Bs-p=5Cs.*p=5D*s.p=5答案:C第8题:函数fun(char*p){returnp;)的返回值是A无准确值B行参p中存放的地址值C一个临时存储单元的地址D行参p自身的地址值答案:B分析:可参考找工作笔试面试那些事儿⑶一内存管理那些事,返回的是形参p中存放的地址值。第9题:a,b均为不等于0的整形变量,以下关系式恒成立的是:Aa*b/a*b==lBa/b*b/a==lCa/b*b+a%b==aDa/b*b==a答案:C解析:a/b得到的是去除余数后的值,再加上a%b取摸的值就等于a了,所以选C第10题:设有如下说明:typedefstructST{longa;intb;charc[2];}NEW;则下面叙述中正确的是:A以上的说明形式非法BST是一个结构体类型CNEW是一个结构体类型DNEW是一个结构体变量答案:C解析:structST等价于NEW,为同一个结构类型第11题:二、不定项选择下列表达式中,不合法的是()已知:doubled=3.2;intn=3;Ad2;Bd/nC!d(n-3)D(d-0.2)|n答案:AD解析如下:(1)float、double、longdouble等类型不允许直接进行位与操作符啊,可用间接的方法变通,如float取地址(也是符号)转换为unsignedint类型,再用取值操作符(*),这样编译器会以为是unsignedint类型。(2)使用int、short、long移位时最好加上unsigned,这样就是汇编中规律移位(即全部移位),假如不加unsigned状况就较为简单,正数全是规律移位,负数左移时保持符号位为1、右边补0,负数右移时保持符号位为1,左边补1,所以-1不管怎么右移都是-1。(3)位与操作符就是将两个数进行与操作,0x01就相当于掩码取出最终一位,其他位置成0(4)位与操作符的操作优先级小于移位操作符,但移位操作符小于取地址操作符(取值操作符*),所以上面代码不会出错第12题:下面描述正确的是()Awhile循环语句的循环体至少执行1次Bdo-while循环可以写成while循环的格式Ccontinue语句可以消失在各种循环体中Dbreak语句不行以消失在循环体内答案:BC解析:break语句可以消失在switch语句块中,while循环体可能不会执行第13题:关于内联函数正确的是()A类的私有成员函数不能作为内联函数B在全部类说明中内部定义的成员函数都是内联函数C类的爱护成员函数不能作为内联函数D使用内联函数的地方会在运行阶段用内联函数体替换掉答案:B解析如下:A是可以的,私有成员函数可以内联C也可以D应当是在编译阶段替换第14题:下面模板声明中,哪些是非法的()AtemplateclassTypeclassCl;BtemplateclassT,U,classVclassC2;CtemplateclassCl,ypenameC2classC3{};Dtemplatetypenamemyl;classmyTclassC4{};答案:BD解释:B选项的U参数没有指定类型,D选项的2个形参名同名。函数模板的格式:templateclass形参名,class形参名,......返回类型 函数名(参数列表)函数体}类模板的格式为:templateclass形参名,class形参名,...class类名{...);第15题:在使用扫瞄器打开一个网页的过程中,扫瞄器会使用的网络协议包括()ADNSBTCPCHTTPDTelnet答案:ABC思路:使用DNS去获得域名的主机ip,使用HTTP去获得报文交互,而HTTP是基于TCP协议的第16题:三、问答题有n个文件的长度记载在一个无符号64位整数数组中unsigned_int64file_length[n],把这n个文件从规律上按序首尾拼接在一起形成一个规律上的大文件,然后以每块长度为unsignedblockjength把这个规律上的大文件划分成大小相等的数据块(当然,最终一块有可能比blockjength小),请定义和实现一个函数,把边界块的序号集合返回给函数的调用者(第一个数据块序号为0)。注:边界块指的是跨多个文件的数据块。vectorintfindSeq(unsigned_int64*filejengthjntn,unsignedblockjength)(vectorintseqnums;unsigned_int64totalSize=0;intpreSeq=-l;for(inti=0;in;i++){totalSize+=file_length[i];intseq=totalSize/blockJength;if(!(totalSize%block_length)){seq-;}if(preSeq==seq){if(seqnums.empty()||seqnums.back()!=seq){seqnums.push_back(seq);})preSeq=seq;}returnseqnums;)第17题:请实现一个函数,把两个从大到小的有序链表合并成一个链表,新的链表是一个从小到大的有序链表。structlist(intvalue;list*next;);list*merge(list*listl_head,Iist*list2_head);list*merge(list*listl_head,list*list2_head)list*newlist=NULL;list*current=NULL;while(NULL!=listl_headNULL!=list2_head){if(listl_head-valueIist2_head-value)(current=listl_head-next;listl_head-next=newlist;newlist=listl_head;listl_head=current;}else(current=Iist2_head-next;Iist2_head-next=newlist;newlist=Iist2_head;Iist2_head=current;while(NULL!=listl_head){current=listl_head-next;listl_head-next=newlist;newlist=listl_head;listl_head=current;}while(NULL!=list2_head){current=Iist2_head-next;Iist2_head-next=newlist;newlist=Iist2_head;Iist2_head=current;}returnnewlist;}第18题:假如两个英文单词,组成它们的字符集合相同,而且相同字符消失的次数也相同,则称这两个词匹配:比如说:同"abbc"与词"babe”是匹配的。有一个词典,存储在字符串数组con
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023云南大数据公司内部员工笔试复习题附答案
- 2021洛阳二中小升初高频考点押题卷附答案解析
- 2026年法律法规测试题及答案
- 2024甘肃省书记员考试历年真题考点复现率统计及答案
- 2020征信业专业面必考35题及完整标准答案解析
- 2023河南工勤职业道德考试高分秘籍配套题库及答案解析
- 通过率超95%的2020济南工程综评内部密卷带答案
- 2026特聘动物防疫专员招聘考试押题密卷附全题答案
- 伊减少履行伊核协议书
- 分公司风险承包协议书模板
- 城市道路日常养护作业服务投标文件(技术方案)
- 国家职业技术技能标准 6-29-03-03 电梯安装维修工 人社厅发2018145号
- 放化疗相关口腔黏膜炎预防及护理课件
- 农业机械设计手册上册
- 智慧高速无人机巡检
- 第三版基本公共卫生服务项目健康教育服务规范解读
- MSA测量系统线性分析报告
- 多维度空间课件
- 景观生态学课件
- 第3章-转座子与遗传重组课件
- 奋战五十天扶摇九万里-高考50天冲刺主题班会 高考倒计时主题班会课件
评论
0/150
提交评论