![2025年华为C笔试题_第1页](http://file4.renrendoc.com/view15/M02/1B/01/wKhkGWeo2h6ASOxDAAHZV6kjRBg312.jpg)
![2025年华为C笔试题_第2页](http://file4.renrendoc.com/view15/M02/1B/01/wKhkGWeo2h6ASOxDAAHZV6kjRBg3122.jpg)
![2025年华为C笔试题_第3页](http://file4.renrendoc.com/view15/M02/1B/01/wKhkGWeo2h6ASOxDAAHZV6kjRBg3123.jpg)
![2025年华为C笔试题_第4页](http://file4.renrendoc.com/view15/M02/1B/01/wKhkGWeo2h6ASOxDAAHZV6kjRBg3124.jpg)
![2025年华为C笔试题_第5页](http://file4.renrendoc.com/view15/M02/1B/01/wKhkGWeo2h6ASOxDAAHZV6kjRBg3125.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.static有什么用途?(請至少阐明两种)1)在函数体,一种被申明為静态的变量在這一函数被调用過程中维持其值不变。2)在模块内(但在函数体外),一种被申明為静态的变量可以被模块内所用函数访問,但不能被模块外其他函数访問。它是一种當地的全局变量。3)在模块内,一种被申明為静态的函数只可被這一模块内的其他函数调用。那就是,這個函数被限制在申明它的模块的當地范围内使用2.引用与指针有什么区别?1)引用必须被初始化,指针不必。2)引用初始化後来不能被变化,指针可以变化所指的對象。3)不存在指向空值的引用,不過存在指向空值的指针。3.描述实時系统的基本特性在特定期间内完毕特定的任务,实時性与可靠性。4.全局变量和局部变量在内存中与否有区别?假如有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。5.什么是平衡二叉树?左右子树都是平衡二叉树且左右子树的深度差值的绝對值不不小于1。6.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。7.什么函数不能申明為虚函数?constructor函数不能申明為虚函数。8.冒泡排序算法的時间复杂度是什么?時间复杂度是O(n^2)。9.写出floatx与“零值”比较的if語句。if(x>0.000001&&x<-0.000001)10.Internet采用哪种网络协议?该协议的重要层次构造?Tcp/Ip协议重要层次构造為:应用层/传播层/网络层/数据链路层/物理层。11.Internet物理地址和IP地址转换采用什么协议?ARP(AddressResolutionProtocol)(地址解析協議)12.IP地址的编码分為哪俩部分?IP地址由两部分构成,网络号和主机号。不過是要和“子网掩码”按位与上之後才能辨别哪些是网络位哪些是主机位。13.顾客输入M,N值,從1至N開始次序循环数数,每数到M输出该数值,直至所有输出。写出C程序。循环链表,用取余操作做14.不能做switch()的参数类型是:switch的参数不能為实型。1.如下三条输出語句分别输出什么?[C易]charstr1[]="abc";charstr2[]="abc";constcharstr3[]="abc";constcharstr4[]="abc";constchar*str5="abc";constchar*str6="abc";cout<<boolalpha<<(str1==str2)<<endl;//输出什么?cout<<boolalpha<<(str3==str4)<<endl;//输出什么?cout<<boolalpha<<(str5==str6)<<endl;//输出什么?文章出自2.非C++内建型别A和B,在哪几种状况下B能隐式转化為A?[C++中等]答:a.classB:publicA{……}//B公有继承自A,可以是间接继承的b.classB{operatorA();}//B实現了隐式转化為A的转化c.classA{A(constB&);}//A实現了non-explicit的参数為B(可以有其他带默认值的参数)构造函数d.A&operator=(constA&);//赋值操作,虽不是正宗的隐式类型转换,但也可以勉强算一种3.如下代码中的两個sizeof使用方法有問題吗?[C易]voidUpperCase(charstr[])//将str中的小写字母转换成大写字母{for(size_ti=0;i<sizeof(str)/sizeof(str[0]);++I)if('a'<=str[i]&&str[i]<='z')str[i]-=('a'-'A');}charstr[]="aBcDe";cout<<"str字符長度為:"<<sizeof(str)/sizeof(str[0])<<endl;UpperCase(str);cout<<str<<endl;4.如下代码有什么問題?[C难]voidchar2Hex(charc)//将字符以16進制表达{charch=c/0x10+'0';if(ch>'9')ch+=('A'-'9'-1);charcl=c%0x10+'0';if(cl>'9')cl+=('A'-'9'-1);cout<<ch<<cl<<'';}charstr[]="Ilove中国";for(size_ti=0;i<strlen(str);++I)char2Hex(str[i]);cout<<endl;5.如下代码有什么問題?[C++易]structTest{Test(int){}Test(){}voidfun(){}};voidmain(void){Testa(1);a.fun();Testb();b.fun();}6.如下代码有什么問題?[C++易]cout<<(true?1:"1")<<endl;7.如下代码可以编译通過吗,為何?[C++易]unsignedintconstsize1=2;charstr1[size1];unsignedinttemp=0;cin>>temp;unsignedintconstsize2=temp;charstr2[size2];8.如下代码中的输出語句输出0吗,為何?[C++易]structCLS{intm_i;CLS(intI):m_i(i){}CLS(){CLS(0);}};CLSobj;cout<<obj.m_i<<endl;9.C++中的空类,默认产生哪些类组员函数?[C++易]答:classEmpty{public:Empty();//缺省构造函数Empty(constEmpty&);//拷贝构造函数~Empty();//析构函数Empty&operator=(constEmpty&);//赋值运算符Empty*operator&();//取址运算符constEmpty*operator&()const;//取址运算符const};10.如下两条输出語句分别输出什么?[C++难]floata=1.0f;cout<<(int)a<<endl;cout<<(int&)a<<endl;cout<<boolalpha<<((int)a==(int&)a)<<endl;//输出什么?Floatb=0.0f;cout<<(int)b<<endl;cout<<(int&)b<<endl;cout<<boolalpha<<((int)b==(int&)b)<<endl;//输出什么?11.如下反向遍历array数组的措施有什么錯误?[STL易]vectorarray;array.push_back(1);array.push_back(2);array.push_back(3);for(vector::size_typei=array.size()-1;i>=0;--I)//反向遍历array数组{cout<<array[i]<<endl;}12.如下代码有什么問題?[STL易]typedefvectorIntArray;IntArrayarray;array.push_back(1);array.push_back(2);array.push_back(2);array.push_back(3);//删除array数组中所有的2for(IntArray::iteratoritor=array.begin();itor!=array.end();++itor){if(2==*itor)array.erase(itor);}13.写一种函数,完毕内存之间的拷贝。[考虑問題与否全面]答:void*mymemcpy(void*dest,constvoid*src,size_tcount){char*pdest=static_cast<char*>(dest);constchar*psrc=static_cast<constchar*>(src);if(pdest>psrc&&pdest<psrc+cout)能考虑到這种状况就行了{for(size_ti=count-1;i!=-1;--I)pdest[i]=psrc[i];}else{for(size_ti=0;i<count;++I)pdest[i]=psrc[i];}returndest;}intmain(void){charstr[]="";mymemcpy(str+1,str+0,9);cout<<str<<endl;system("Pause");return0;}本试題仅用于考察C++/C程序员的基本编程技能。内容限于C++/C常用語法,不波及数据构造、算法以及深奥的語法。考试成绩能反应出考生的编程质量以及對C++/C的理解程度,但不能反应考生的智力和软件開发能力。笔试時间90分钟。請考生认真答題,切勿轻视。一、請填写BOOL,float,指针变量与“零值”比较的if語句。(10分)提醒:這裏“零值”可以是0,0.0,FALSE或者“空指针”。例如int变量n与“零值”比较的if語句為:if(n==0)if(n!=0)以此类推。請写出BOOLflag与“零值”比较的if語句:請写出floatx与“零值”比较的if語句:請写出char*p与“零值”比较的if語句:二、如下為WindowsNT下的32位C++程序,請计算sizeof的值(10分)charstr[]=“Hello”;char*p=str;intn=10;請计算sizeof(str)=sizeof(p)=sizeof(n)=voidFunc(charstr[100]){請计算sizeof(str)=}void*p=malloc(100);請计算sizeof(p)=三、简答題(25分)1、頭文献中的ifndef/define/endif干什么用?2、#include和#include“filename.h”有什么区别?3、const有什么用途?(請至少阐明两种)4、在C++程序中调用被C编译器编译後的函数,為何要加extern“C”申明?5、請简述如下两個for循环的优缺陷//第一种for(i=0;i++;){if(condition)DoSomething();elseDoOtherthing();}//第二個if(condition){for(i=0;i++;)DoSomething();}else{for(i=0;i++;)DoOtherthing();}長处:缺陷:長处:缺陷:四、有关内存的思索題(20分)voidGetMemory(char*p){p=(char*)malloc(100);}voidTest(void){char*str=NULL;GetMemory(str);strcpy(str,"helloworld");printf(str);}請問运行Test函数會有什么样的成果?答:char*GetMemory(void){charp[]="helloworld";returnp;}voidTest(void){char*str=NULL;str=GetMemory();printf(str);}請問运行Test函数會有什么样的成果?答:VoidGetMemory2(char**p,intnum){*p=(char*)malloc(num);}voidTest(void){char*str=NULL;GetMemory(&str,100);strcpy(str,"hello");printf(str);}請問运行Test函数會有什么样的成果?答:voidTest(void){char*str=(char*)malloc(100);strcpy(str,“hello”);free(str);if(str!=NULL){strcpy(str,“world”);printf(str);}}請問运行Test函数會有什么样的成果?答:五、编写strcpy函数(10分)已知strcpy函数的原型是char*strcpy(char*strDest,constchar*strSrc);其中strDest是目的字符串,strSrc是源字符串。(1)不调用C++/C的字符串库函数,請编写函数strcpy(2)strcpy能把strSrc的内容复制到strDest,為何還要char*类型的返回值?六、编写类String的构造函数、析构函数和赋值函数(25分)已知类String的原型為:classString{public:String(constchar*str=NULL);//一般构造函数String(constString&other);//拷贝构造函数~String(void);//析构函数String&operate=(constString&other);//赋值函数private:char*m_data;//用于保留字符串};請编写String的上述4個函数。附录C:C++/C试題的答案与评分原则一、請填写BOOL,float,指针变量与“零值”比较的if語句。(10分)請写出BOOLflag与“零值”比较的if語句。(3分)原则答案:if(flag)if(!flag)如下写法均属不良風格,不得分。If(flag==TRUE)if(flag==1)if(flag==FALSE)if(flag==0)請写出floatx与“零值”比较的if語句。(4分)原则答案示例:constfloatEPSINON=0.00001;if((x>=-EPSINON)&&(x<=EPSINON)不可将浮點变量用“==”或“!=”与数字比较,应當设法转化成“>=”或“<=”此类形式。如下是錯误的写法,不得分。If(x==0.0)if(x!=0.0)請写出char*p与“零值”比较的if語句。(3分)原则答案:if(p==NULL)if(p!=NULL)如下写法均属不良風格,不得分。If(p==0)if(p!=0)if(p)if(!)二、如下為WindowsNT下的32位C++程序,請计算sizeof的值(10分)charstr[]=“Hello”;char*p=str;intn=10;請计算sizeof(str)=6(2分)sizeof(p)=4(2分)sizeof(n)=4(2分)voidFunc(charstr[100]){請计算sizeof(str)=4(2分)}void*p=malloc(100);請计算sizeof(p)=4(2分)三、简答題(25分)1、頭文献中的ifndef/define/endif干什么用?(5分)答:防止该頭文献被反复引用。2、#include和#include“filename.h”有什么区别?(5分)华為的C\C++面试題Q1:請你分别划划OSI的七层网络构造图,和TCP/IP的五层构造图?:Q2:請你详细的解释一下IP协议的定义,在哪個层上面,重要有什么作用?:TCP与UDP呢?:總得来說前面两道題目還是比较简朴的!:Q3:請問互换机和路由器分别的实現原理是什么?分别在哪個层次上面实:現的?:Q4:請問C++的类和C裏面的struct有什么区别?:Q5:請讲一讲析构函数和虚函数的使用方法和作用?:Q6:全局变量和局部变量有什么区别?实怎么实現的?操作系统和编译器:是怎么懂得的?:Q7:某些寄存器的題目,我忘掉了详细实什么題目,重要仿佛是寻址和内:存管理等某些知识,不记得了。:Q8:8086是多少尉的系统?在数据總线上是怎么实現的?尚有某些硬件方:面的知识我既不清晰了。:一般提议参与华為的研发面试的同學先要准备一下有关的知识,软件的重要:是看看C和数据构造方面的,硬件模電,数電和微机原理两道c面试題1、一种學生的信息是:姓名,學号,性别,年龄等信息,用一种链表,把這些學生信息连在一起,給出一种age,在些链表中删除學生年龄等于age的學生信息。程序代码#Include"stdio.h"#Include"conio.h"structstu{charname[20];charsex;intno;intage;structstu*next;}*linklist;structstu*creatlist(intn){intI;//h為頭結點,p為前一結點,s為目前結點structstu*h,*p,*s;h=(structstu*)malloc(sizeof(structstu));h->next=NULL;p=h;for(i=0;i<n;i++){s=(structstu*)malloc(sizeof(structstu));p->next=s;printf("Pleaseinputtheinformationofthestudent:namesexnoage\n");scanf("%s%c%d%d",s->name,&s->sex,&s->no,&s->age);s->next=NULL;p=s;}printf("Createsuccessful!");return(h);}voiddeletelist(structstu*s,inta){structstu*p;while(s->age!=a){p=s;s=s->next;}if(s==NULL)printf("Therecordisnotexist.");else{p->next=s->next;printf("Deletesuccessful!");}}voiddisplay(structstu*s){s=s->next;while(s!=NULL){printf("%s%c%d%d\n",s->name,s->sex,s->no,s->age);s=s->next;}}intmain(){structstu*s;intn,age;printf("Pleaseinputthelengthofseqlist:\n");scanf("%d"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年仓储设施征收协议书官方样本
- 2025年合作项目承接与权益转让协议
- 2025年创业企业法律咨询服务合同
- 2025年事业单位税务筹划合作协议
- 2025年公立医院司机招聘合同样本
- 2025年企业租赁合作协议书模板
- 2025年企业人力资源外包合作协议样张
- 2025年农地租赁合同协议书模板
- 2025年二手房产定金合同样本
- 2025年北京离婚财产划分协议
- 特教教师的教育科研
- 员工调岗调薪申请表
- 中心静脉压测量技术-中华护理学会团体标准2023
- 项目考勤表(模板)
- 防呆防错十大原理及案例分析
- 区块链金融发展的现状、挑战与前景
- 《我是班级的主人翁》的主题班会
- 产品报价单(5篇)
- GB/T 43153-2023居家养老上门服务基本规范
- 不锈钢栏杆施工工艺
- 陕西演艺集团有限公司招聘笔试题库2023
评论
0/150
提交评论