华为C++笔试题大全.pdf
《华为C++笔试题大全.pdf》由会员分享,可在线阅读,更多相关《华为C++笔试题大全.pdf(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华为笔试题大全1.s ta ti c 有什么用途?(请至少说明两种)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指针有什么区别?1)引用必须被初始化,指针不必。2)引用初始化以后不能被改变,指针可以改变所指的对象。3)不存在指向空值的引用,但是存在指向空值的指针。3 .描述实时系统的基本特性在特定时间内完成特定
2、的任务,实时性与可靠性。4 .全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。5 .什么是平衡二叉树?左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。6 .堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。7 .什么函数不能声明为虚函数?C o n s tr u c to r (构 造 函 数)函数不能声明为虚函数。8.冒泡排序算法的时间复杂度是什么?时间复杂度是0(n 2)。9 .写出f l o a t x与 零 值 比 较 的 i f 语句。i f(x 0.0 0 0 0 0 1&x -0.0 0 0 0 0 1)1 0 .I
3、n te r n e t采用哪种网络协议?该协议的主要层次结构?T c p/i p 协议主要层次结构为:应用层/传输层/网络层/数据链路层/物理层。1 1 .In te r n e t物理地址和IP 地址转换采用什么协议?A R P (A d d r e s s R e s o l u ti o n P r o to c o l)(地址解析1 2 .IP地址的编码分为哪俩部分?I P地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。1 3.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。循环链表,用取
4、余操作做1 4.不能做s w i t c h。的参数类型是:s w i t c h的参数不能为实型。上海华为的一道关于指针方面的编程题i n t A n Si z e ,其中隐藏着若干0,其余非0整数,写一个函数i n t F u n c(i n t*A,i n t n Si z e),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路)t t i n c l u d e#i n c l u d e v o i d s w a p(i n t*a,i n t*b )(i n t t=*a;*
5、a=*b;*b=t;i n t F u n c(i n t*a,i n t n)i f(n a 0 )s w a p(&a l ,&a 0 );r e t u r n;)s w a p(&a n/2 ,&a 0 );i n t j i e=a 0 ;i n t*L=a+1;i n t*R=a+n-l;w h i l e(L R)w h i l e (Lj i e)+L;w h i l e(a j i e)R;i f(L j i e)s w a p (R,&a 0 );F u n c (a,R-a);F u n c (R+l,n-l-(R-a);)i n t*i n p u t(i n t n)
6、(i n t i;i n t*p=m a l l o c(s i z e o f(i n t n );p r i n t f (E n t e r%d n u m b e r:,z,n);f o r(i=0;i n;i+)(s c a n f (%d”,&p i );r e t u r n p;)v o i d s h o w(i n t*p,i n t n)(i n t i;f o r (i=0;i n;i+)(p r i n t f(%d ,p i );)p r i n t f(n);)i n t m a i n()(i n t*p=i n p u t(1 0);F u n c (p,1
7、0);s h o w (p,1 0);)华为笔试题含答案 软件工程题写一个程序,要求功能:求出用1,2,5这三个数不同个数组合的和为1 0 0的组合个数。如:1 0 0个1是一个组合,5个1加1 9个5是一个组合。请用C+语言写。答案:最容易想到的算法是:设x是1的个数,y是2的个数,z是5的个数,n u m b e r是组合数注意到0 二x 二1 0 0,0 二 丫 二5 0,0 二z二2 0,所以可以编程为:n u m b e r=O;f o r (x=0;x =1 0 0;x+)f o r (y=0;y =5 0;y+)f o r (z=0;z =2 0;z+)i f (x+2*y+5*
8、z)=1 0 0)n u m b e r+;c o u t n u m b e r e n d l;上面这个程序一共要循环1 0 0*5 0*2 0 次,效率实在是太低了事实上,这个题目是一道明显的数学问题,而不是单纯的编程问题。我的解法如下:因为 x+2 y+5 z=1 0 0所以 x+2 y=1 0 0-5 z,且 z =2 0 x =1 0 0 y =5 0所以(x+2 y)*1 0 0,且(x+5 z)是偶数对 z 作循环,求 x的可能值如下:z=0,x=1 0 0,9 8,9 6,.0z=l,x=9 5,9 3,.,1z=2,x=9 0,8 8,.,0z=3,x=8 5,8 3,.,
9、1z=4,x=8 0,7 8,.,0z=1 9,x=5,3,1z=2 0,x=0因此,组合总数为1 0 0 以内的偶数+9 5 以内的奇数+9 0 以内的偶数+.+5 以内的奇数+1,即为:(5 1+4 8)+(4 6+4 3)+(4 1+3 8)+(3 6+3 3)+(3 1+2 8)+(2 6+2 3)+(2 1+1 8)+(1 6+1 3)+(1 1+8)+(6+3)+1某个偶数m以内的偶数个数(包括0)可以表示为m/2+l=(m+2)/2某个奇数m以内的奇数个数也可以表示为(m+2)/2所以,求总的组合次数可以编程为:n u m b e r=O;f o r (i n t m=0;m =
10、1 0 0;m+=5)n u m b e r+=(m+2)/2;)coutnumber n e x t =N U L L;P=h;f o r (i=0;i n e x t =s;p r i n t f(,zP l e a s e i n p u t t h e i n f o r m a t i o n o f t h e s t u d e n t:n a m es c a n f (%s%c%d%d”,s-n a m e,&s-s e x,&s-n o,&s-a g e);s-n e x t =N U L L;P =s;)p r i n t f (C r e a t e s u c c e
11、 s s f u l!z,);r e t u r n(h);)s e x n o a g e n);void deletelist(struct stu*s,int a)struct stu*p;while(s-age!=a)(P=s;s=s-next;)if(s=NULL)printf(,zThe record is not exist.,z);else(p-next=s-next;printf(Delete successful!;)void display(struct stu*s)(s=s-next;while(s!=NULL)(printf(,%s%c%d%dn,z,s-name,s
12、-sex,s-no,s-age);s=s-next;)int main()(struct stu*s;int n,age;printf(,zPlease input the length of seqlist:n);s c a n f&n);s =c r e a t l i s t(n);d i s p l a y(s);p r i n t f (z zP l e a s e i n p u t t h e a g e:n );scanf&age);d e l e t e l i s t(s,a g e);d i s p l a y(s);r e t u r n 0;)2、实现一个函数,把一个
13、字符串中的字符从小写转为大写。t t i n c l u d e s t d i o.h#i n c l u d e z,c o n i o.h v o i d u p p e r s(c h a r *s,c h a r *u s)(f o r (;*s!=0 ;s+,u s+)(i f (*s =a&*s =a)*u s =*s-3 2;e l s e*u s =*s;)*u s =0 ;)i n t m a i n()(c h a r *s,*u s;c h a r s s 2 0 ;p r i n t f (,zP l e a s e i n p u t a s t r i n g:n
14、,z);s c a n f(s ,s s);s =s s;u p p e r s(s,u s);p r i n t f (,zT h e r e s u l t i s:n%s n ,u s);g e t c h O ;)随机输入一个数,判断它是不是对称数(回文数)(如3,1 2 1,1 2 3 2 1,4 5 2 5 4)。不能用字符串库函数1.函数名称:Sym m e try功能:判断一个数时候为回文数(1 2 1,3 5 6 5 3)输入:长整型的数输出:若为回文数返回值为1 e sl e 0un si g n e d c h a r Sym m e try(l on g n)(l on
15、 g i,te m p;i=n;te m p=0;wh i l e(i)不用出现长度问题,将数按高低位掉换(te m p=te m p*1 0+i%1 0;i/=1 0;)re turn(te m p=n);)方法/*-功能:判断字符串是否为回文数字实现:先将字符串转换为正整数,再将正整数逆序组合为新的正整数,两数相同则为回文数字输入:c h a r*s:待判断的字符串输出:无返回:0:正确;1:待判断的字符串为空;2:待判断的字符串不为数字;3:字符串不为回文数字;4:待判断的字符串溢出-*/un si g n e d I sSym m e try(c h a r*s)(c h a r*p=
16、s;l on g n N um b e r=0;l on g n =0;l on g n Te m p=0;/*判断输入是否为空*/i f (*s=0 V)re turn 1;/*将字符串转换为正整数*/wh i l e (*p!=0 )(/*判断字符是否为数字*/i f (*p 9)re turn 2;/*判断正整数是否溢H I*/i f (*p-0 )(4 2 94 96 72 95-(n N um b e r*1 0)re turn 4;n N um b e r=(*p-0 )+(n N um b e r*1 0);p+;)/*将数字逆序组合,直接抄楼上高手的代码,莫怪,呵呵*/n =n
17、 N um b e r;wh i l e (n)(/*判断正整数是否溢出*/i f (n%1 0)(4 2 94 96 72 95-(n Te m p*1 0)re turn 3;n Te m p=n Te m p*1 0 +n%1 0;n /=1 0;)/*比较逆序数和原序数是否相等*/i f (n N um b e r!=n Te m p)re turn 3;re turn 0;)方法二/*-功能:判断字符串是否为回文数字实现:先得到字符串的长度,再依次比较字符串的对应位字符是否相同输入:c h a r*s:待判断的字符串输出:无返回:0:正确;1:待判断的字符串为空;2:待判断的字符串不
18、为数字;3:字符串不为回文数字-*/un si g n e d I sSym m e try_ 2(c h a r*s)(c h a r*p=s;i n t n L e n =0;i n t i =0;/*判断输入是否为空*/i f (*s=*0 )re turn 1;/*得到字符串长度*/wh i l e (*p!=0 )(/*判断字符是否为数字*/i f (*p 0|*p 9V)re turn 2;n L e n+;p+;)/*长度不为奇数,不为回文数字*/i f (n L e n%2 =0)re turn 4;/*长度为1,即为回文数字*/i f (n L e n =1)re turn
19、0;/*依次比较对应字符是否相同*/P =s;i =n L e n/2 -1;wh i l e (i)(i f (*(p+i)!=*(p+n L e n-i-l)re turn 3;i ;)re turn 0;)求 2 2 0 0 0 的所有素数.有足够的内存,要求尽量快答案:i n t f i n d va l ue 2 0 0 0 =2;sta ti c i n t f i n d=l;b ool a d j ust(i n t va l ue)a sse rt(va l ue=2);i f(va l ue=2)re turn true;f or(i n t i=0;i S?D、D I R
20、 S*1 9、第一次配置路由器时可以使用的方法为()A、使用C O N 口本地配置B、使用C O N 口远程配置C、使用AU X 口远程配置D、使用T E L N E T 远程配置2 0、在何种状态下可以为路由器改名()A、普通模式B、超级模式C、全局模式D、接口模式2 1、某公司申请到个C 类 I P 地址,但要连接6 个的子公司,最大的一个子公司有2 6台计算机,每个子公司在一个网段中,则子网掩码应设为()oA、2 55.2 55.2 55.0B、2 55.2 55.2 55.1 2 8C、2 55.2 55.2 55.1 92D、2 55,2 55.2 55.2 2 42 2、与 1 0
21、.1 1 0.1 2.2 9 m a s k 2 55.2 55.2 55.2 2 4 属于同一网段的主机 I P 地 址 是()。A、1 0.1 1 0.1 2.0B、1 0.1 1 0.1 2.3 0C、1 0.1 1 0.1 2.3 1D、1 0.1 1 0.1 2.3 22 3、AR P 协议的作用是()A、将端口号映射到I P 地址B、连 接 I P 层和T CP 层C、广 播 I P 地址D、将 I P 地址映射到第二层地址2 4、当路由器接收的I P 报文的T T L 值等于1 时,采取的策略是()A、丢掉该分组B、将该分组分片C、转发该分组D、以上答案均不对2 5、在 Ne t
22、 W a r e 网络中,客户需要访问某个类型的服务器时,首 先 要 发 送 一 个()广播报文来寻找服务器A、R i pB、S a pC、G n sD Ar p2 6、I P X 地址网络地址有()个字节A、1 0B、8C、4D、62 7、对于帧中继描述正确的是()A、使用具有本地意义的DL CI 描述P V CB、使用具有全局意义的DL C1 描述P V CC、使用具有本地意义的DL CI 描述S V CD、使用具有全局意义的DL CI 描述S V C2 8、对 于 I NV E R S E AR P 的描述正确的是()A、通过广播方式解析对端网络地址B、通过多播方式解析对端网络地址C、通
23、过L MI 信令解析对端网络地址D、通过广播方式解析对端DL CI2 9、下列对于P AP 协议描述正确的是()A、使用两步握手方式完成验证B、使用三步握手方式完成验证C、使用明文密码进行验证D、使用加密密码进行验证3 0、X.2 5与帧中继对比描述正确的是()A、X.2 5是面向连接的协议,传输正确性、稳定性高于帧中继B、X.2 5具有两层结构,较帧中继简单C、X.2 5对 于 I P 而言传输效率低于帧中继D、X.2 5可以提供比帧中继更多的服务3 1、X.2 5使用映射的作用是()A、映射本地I P 到对端端口值,以便路山器发送数据时确认发送端口B、映射本地I P 到本地端口值,以便路由
24、器发送数据时确认发送端口C、映射对端I P 到本地端口值,以便X.2 5交换网络查找数据发送路径D、映射对端I P 到对端端口值,以便X.2 5交换网络查找数据发送路径3 2、各个路由协议衡量路由的好坏标准是()A、路由B、路由器优先级C、路由权D、包转发率3 3、以下是基于链路状态算法的动态路由协议是()A、R I PB、I CMPC、I G R PD、OS P F3 4、三种路由 协 议 R I P、OS P E、I G R P 各自得到了 条到达目标网络,在华为路由器默认情况下,网络最终选 选 定()路由作为最优路由。A、RIPB、OSPFC、IGRPD、静态路由3 5、路由环问题会引起
25、()A、循环路由器B、慢收敛C、路由器重起D、路由不一致3 6、OSPF协议适用于基于I P 的()A、大型网络B、中小型网络C、更大规模的网络D、i s p 与 i s p 之间3 7 在 r i p 中 m e t r i c 等 于()为不可达A、8B、9C、1 0D、1 5E、1 63 8、对 于 ISD N BRI描述正确的是()A、2B+DB、3 0 B+DC、使用同轴电缆作为物理传输介质D、使用普通电话线作为物理传输介质3 9、设置话机模拟入呼叫时需要检查的被叫号码或子地址的命令是()A、i s d n p o t s l-a n s w e rB、i s d n p o t s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华为 C+ 笔试 大全
限制150内