《华为c笔试题目.docx》由会员分享,可在线阅读,更多相关《华为c笔试题目.docx(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华为1.static有什么用途?(请至少说明两种)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指针有什么区别?1)引用必须被初始化,指针不必。2)引用初始化以后不能被改变,指针可以改变所指的对象。3)不存在指向空值的引用,但是存在指向空值的指针。3 .描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可
2、靠性。4 .全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。5 .什么是平衡二叉树?左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于lo6 .堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。7 .什么函数不能声明为虚函数?constructor函数不能声明为虚函数。8 .冒泡排序算法的时间复杂度是什么?时间复杂度是0(心2).9 .写出float x与“零值”比较的if语句。if(x0.000001&x-0.000001)lO.Internet采用哪种网络协议?该协议的主要层次结构?Tcp/ip协议主要层次结构为:应用层/传输层/网
3、络层/数据链路层/物理层。11.Internet物理地址和IP地址转换采用什么协议?ARP (Address Resolution Protocol)(地址解析愤12.IP地址的编码分为哪俩部分?IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。13 .用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。循环链表,用取余操作做14 .不能做switch。的参数类型是:switch的参数不能为实型。上海华为的一道关于指针方面的编程题int AnSize,其中隐藏着若干0,其余非0整数,写一个函数int
4、Func(int* A, int nSize),使A把0移至后面,非。整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路)华为笔试题含答案软件工程题写一个程序,要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。如:100个1是一个组合,5个1加19个5是一个组合。请用C+语言写。答案:最容易想到的算法是:设x是1的个数,y是2的个数,z是5的个数,number是组合数注意到0= x=100,0= y=50,0= z=20,所以可以编程为:number=0;for (x=0; x=100; x+
5、)for (y=0; y=50; y+)for (z=0; z=20; z+)if (x+2*y+5*z)=100)number+;cout number endl;上面这个程序一共要循环10CT 50*20次,效率实在是太低了事实上,这个题目是道明显的数学问题,而不是单纯的编程问题。我的解法如下:因为 x+2y+5z=100所以 x+2y=1005z,且zv =20 x=100 y=50所以(x+2y)v =100,且(x+5z)是偶数对Z作循环,求X的可能值如下:z=0, x=100,98,96,.0z=1, x=95,93,1z=2, x=90,88,0z=3, x=85,83,.,1z
6、=4, x=80,78,0 z=19, x=5,3,1 z=20,x=0因此,组合总数为100以内的偶数+95以内的奇数+90以内的偶数+5以内的奇数+1,即为:(51+48)+(46+43)+(41+38)+(36+33)+(31+28)+(26+23)+(21+18)+(16+13)+(11+8)+(6+3)+1某个偶数m以内的偶数个数(包括0)可以表示为m/2+1=(m +2)/2某个奇数m以内的奇数个数也可以表示为(m +2)/2所以,求总的组合次数可以编程为:number=0;for (int m=0;m=100;m +=5)(number+=(m +2)/2;cout number
7、 next = NULL;p=h;for(i=0;i next = s;printf(HPlease input the information of the student: name sex no age nH); scanf(H%s %c %d %dH,s-name,&s-sex,&s-no,&s-age);s- next = NULL;P = s;printf(MCreate successful!*);return(h);void deletelist(struct stu *s,int a)(struct stu * p;while(s-age!= a)(p = s;s = s-
8、next;)if(s= NULL)printf(RThe record is not exist.”);elsep- next = s- next;printf(HDelete successful!*);) void display(struct stu *s)s = s- next;while(s!=NULL)(printf(H%s %c %d %dnH,s- name,s- sex,s- no,s-age);s = s- next;)int main()(struct stu * s;int n,age;printf(Please input the length of seqlist:
9、n);scanf(%d,&n);s = creatlist(n);display(s);printf(Please input the age:n);scanf(%d,&age);deletelist(s,age);display(s);return 0;)2、实现一个函数,把一个字符串中的字符从小写转为大写。# include stdio.h* include “conio.hvoid uppers(char * s,char * us)(for(;* s!=,0,;s+,us+)(if(*s=,a,&*s=z,)* us =* s-32;else* us =* s;)*us =0;int
10、main()(char * s,* us;char ss20;printf(Please input a string:n);scanf(%s,ss);s = ss;uppers(s.us);printf(The result is:n%sn,us);getch();)随机输入一个数,判断它是不是对称数(回文数)(如3,121,12321,45254).不能用字符串库函数1.函数名称:Symmetry功能:判断一个数时候为回文数(121,35653)输入:长整型的数输出:若为回文数返回值为1 esle 0A*/unsigned char Symmetry (long n)(long i,tem
11、p;i= n; temp=0;while(i)不用出现长度问题,将数按高低位掉换(temp=temp*10+i%10;i/=10;return(temp= n);)方法一功能:判断字符串是否为回文数字实现:先将字符串转换为正整数,再将正整数逆序组合为新的正整数,两数相同则为回文数字输入:char *s:待判断的字符串输出:无返回:0:正确;1:待判断的字符串为空;2:待判断的字符串不为数字;3:字符串不为回文数字;4:待判断的字符串溢出 unsigned lsSymmetry(char *s)(char * p = s;long nNumber =0;long n =0;long nTemp
12、=0;/*判断输入是否为空*/return 1;/*将字符串转换为正整数*/while (*p !=*0)(/*判断字符是否为数字*/if (*p,9,)return 2;/*判断正整数是否溢出*/if (*p-,0,)(4294967295-(nNumber*10)return 4;nNumber =(* p-*0)+(nNumber *10);P+;/*将数字逆序组合,直接抄楼上高手的代码,莫怪,呵呵*/n = nNumber;while(n)(/*判断正整数是否溢出*/if (n%10)(4294967295-(nTemp*10)return 3;nTemp = nTemp*10+ n%
13、10;n/=10 j/*比较逆序数和原序数是否相等*/if (nNumber != nTemp)return 3;return 0;)方法二功能:判断字符串是否为回文数字实现:先得到字符串的长度,再依次比较字符串的对应位字符是否相同输入:char *s:待判断的字符串输出:无返回:0:正确;1:待判断的字符串为空;2:待判断的字符串不为数字;3:字符串不为回文数字 unsigned IsSymmetry_2(char *s)(char * p = s;int nLen =0;int i =0;判断输入是否为空*/if (*s =*0)return 1;/*得到字符串长度*/while (*p
14、!=0)(/*判断字符是否为数字*/if (*p,9,)return 2;nLen+;P+;/*长度不为奇数,不为回文数字/if (nLen%2=0) return 4;/*长度为1,即为回文数字*/if (nLen =1) return 0;/*依次比较对应字符是否相同*/P = s;i = nLen/2-1;while (i)(if (*(p+ i)!=*(p+ nLen-i-1) return 3;;return 0;求22000的所有素数.有足够的内存,要求尽量快答案:int findvalue2000=2;static int find=1;bool adjust(int value
15、)(assert(value=2);if(value=2) return true;for(int i=0;iipconfig/all 其中 physical address 就是 mac 地址。5、以下属于数据链路层功能的是()A、定义数据传输速率B、定义物理地址C、描述网络拓扑结构D、流控制数据链路层的主要功能有:1 .数据链路的建汇和拆除在两个或多个网络实体间建立一条逻辑通道,发方发M建立和拆除链路的请求指示,收方收到后给出应答信号。2 .帧传输和帧同步帧是具有一定长度和格式的信息块,是数据链路层的传输单位,由一些字段和标志组成,.不同网络其帧格式或长度可不同,但将位流组成帧的方法基本相
16、同,常用的有:带填充字符的首尾定界法,带填充位的首尾标志法等。其目的是使接收方能够准确的从收到的比特流中识别出帧的边界,达到帧同步。3 .差错与流量控制常用的差错控制方法有自动重发请求(ARQ)技术和前向纠错技术(FEC);常用的流量控制方法有停止等待协议和滑动窗口协议。4 .数据链路管理提供各种服务质量参数,包括检测到不可纠正错误的平均时间、漏检差错率、传输延迟和吞吐量等,以及对异常情况的处理数据链路层通过物理网络链路提供可靠的数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。物理编址(相对应的是网络编址)定义了设备在数据链路层的
17、编址方式;网络拓扑结构定义了设备的物理连接方式,如总线拓扑结构和环拓扑结构;错误校验向发生传输错误的上层协议告警:数据帧序列重新整理并传输除序列以外的帧:流控可能延缓数据的传输,以使接收设备力的信息流而崩溃。数据链路层实际上由两个独立的部分组成,介质存取控制(Media Access Control,MAC)和逻辑链路控制层(Logical Link Control.LLC) MAC描述在共享介质环境中如何进行站的调度、发生和接收数据。MAC确保信息跨链路的可靠传输,对数据传输进行同步,识别错误和控制数据的流向。一般地讲,MAC只在共享介质环境中才是重要的,只有在共享介质环境中多个节点才能连接
18、到同一传输介质上。IEEE MAC规则定义了地址,以标识数据链路层中的多个设备。逻辑链路控制子层管理单一网络链路上的设备间的通信, IEEE 802.2标准定义了 LLC。LLC支持无连接服务和面向连接的服务。在数据链路层的信息帧中定义了许多域。这些域使得多种高层协议可以共享一个物理数据链路。6、正EE802.3U标准是指()A,以太网B、快速以太网C、令牌环网D、FDDI 网IEEE8O2.3IEEE802.3u 100BASE-T快速以太网标准IEEE802.3Z基于光纤和短距离铜缆的1000Base-XIEEE8O2.3ab 基于5类 UTP 的1000Base-T 标准7、如果要将两计
19、算机通过双绞线直接连接,正确的线序是()A、1-1、2-2,3-3、4-45-5,6-67-7、8-8B、1-2.21、3-64-45-5、6-3,7-7、8-8C、1-3、2-6、3-1,4-455、62、7-7,8-8D、两计算机不能通过双绞线宜接连接将两计算机通过双绞线直接连接就是一端是A线序,一端是B线序。A和B的不同就是把1和3互换,把2和6互换顺序,其它不变。8、在V.35和V.24规程中,控制信号RTS表示()A、数据终端准备好;B、数据准备好;C、数据载体检测;D、请求发送;E、清除发送。d9、路由器作为网络互连设备,必须具备以卜.哪些特点。()A、至少支持两个网络接口B、协议
20、至少要实现到网络层C、至少支持两种以上的子网协议D、至少具备一个备份口E、具有存储、转发和寻径功能F、一组路由协议G、必须有较高的协议处理能力abe10、路由器的作用有()A、异种网络互连B、子网间的速率适配C、连接局域网内两台以上的计算机D、隔离网络,防止网络风暴,指定访问规则(防火墙)E、子网协议转换F、加快网络报文的传递速度G、路由(寻径):路由表建立、刷新、查找H、报文的分片与重组abdg11、调用上一一条历史命令的快捷键是()A、CTRL-PB、CTRL-OC、ALT-PD、ALT-O12、交换机工作在OSI七层的哪一层?()A、一层B、二层C、二层D、三层以上 b13、以下对CSM
21、A/CD描述正确的是()A、在数据发送前对网络是否空闲进行检测B、在数据发送时对网络是否空闲进行检测C、在数据发送时对发送数据进行冲突检测D、发生碰撞后MAC地址小的主机拥有发送优先权14、以下对STORE AND FORWARD描述正确的是()A、收到数据后不进行任何处理,立即发送B、收到数据帧头后检测到目标MAC地址,立即发送C、收到整个数据后进行CRC校验,确认数据正确性后再发送D、发送延时较小E、发送延时较大ce15、以下对交换机工作方式描述正确的是()A、可以使用半双工方式工作B,可以使用全双工方式工作C、使用全双工方式工作时要进行回路和冲突检测D、使用半双工方式工作时要进行回路和冲
22、突检测abd以太网卡可以工作在两种模式下:半双工和全双工。半双工:半双工传输模式实现以太网载波监听多路访问冲突检测。传统的共享LAN是在半双工下工作的,在同一时间只能传输单一方向的数据。当两个方向的数据同时传输时,就会产生冲突,这会降低以太网的效率。全双工:全双工传输是采用点对点连接,这种安排没有冲突,因为它们使用双绞线中两个独立的线路,这等于没有安装新的介质就提高了带宽。16、VLAN的主要作用有()A、保证网络安全B,抑制广播风暴C、简化网络管理D、提高网络设计灵活性acd17、在交换机中用户权限分为几个级别()A、1B、2C、3D、4d21、某公司申请到一个C类IP地址,但要连接6个的子
23、公司,最大的一个子公司有26台计算机,每个子公司在一个网段中,则子网掩码应设为()。A、255.255.255.0B、255.255.255.128C、255.255.255.192D、255.255.255.22422、与10.110.12.29mask255.255.255.224属于同一网段的主机主地址是()。A、10.110.12.0B、10.110.1230C、10,110.12.31D、I0.110J2.32 be23、ARP协议的作用是()A、将端口号映射到IP地址B、连接IP层和TCP层C,广播IP地址D、将IP地址映射到第二层地址 d24、当路由器接收的IP报文的TTL值等于
24、1时,采取的策略是()A、丢掉该分组B、将该分组分片C、转发该分组D、以上答案均不对25、在NetWare网络中,客户需要访问某个类型的服务器时,首先要发送一个()广播报文来寻找服务器A、RipB V SapC、GnsD、Arp b26、IPX地址网络地址有()个字节A、10B、8C、4D、627、对于帧中继描述正确的是()A、使用具有本地意义的DLCI描述PVC B、使用具有全局意义的DLCI描述PVC C、使用具有本地意义的DLCI描述SVC D、使用具有全局意义的DLCI描述SVC28、对于INVERSE ARP的描述正确的是()A、通过广播方式解析对端网络地址B、通过多播方式解析对端网
25、络地址C、通过LMI信令解析对端网络地址D、通过广播方式解析对端DLCI30、X.25与帧中继对比描述正确的是()A、B、C、D、X.25是面向连接的协议,传输正确性、稳定性高于帧中继X.25具有两层结构,较帧中继简单X.25对于IP而言传输效率低于帧中继X.25可以提供比帧中继更多的服务31、X.25使用映射的作用是(A、B、C、D、映射本地IP到对端端口值, 映射本地IP到本地端口值, 映射对端1P到本地端口值, 映射对端IP到对端端口值,)以便路山器发送数据时确认发送端口 以便路由器发送数据时确认发送端口 以便X.25交换网络查找数据发送路径 以便X.25交换网络查找数据发送路径A、B、
26、C、D、A、B、C、D、 d32、各个路由协议衡量路由的好坏标准是()路由路由器优先级路山权包转发率33、以卜是基于链路状态算法的动态路由协议是()RIPICMPIGRPOSPF34、三种路由协议RIP、OSPF、IGRP各自得到了一条到达目标网络,在华为路由器默认情况下,网络最终选选定()路由作为最优路由。A、RIPB、OSPFC、IGRPD、静态路由b35、路由环问题会引起()A、循环路由器B、慢收敛C、路由器重起D、路由不一致abd36、OSPF协议适用于基于IP的()A、大型网络B、中小型网络C、更大规模的网络D、isp与isp之间44、RIP协议适用于基于IP的()A、大型网络B、中
27、小型网络C、更大规模的网络D、isp与isp之间45、以下的协议中,哪些是面向连接的协议().A、X25B、EthernetC、IPD、Frame-relay1-10A、 B、CD BC、CD、B、C、D、ABE、ABEXj 1120A、B、AD?、CE、ABD、ACD、D、B、A B?2130D、BC、D、C、B、A、A、 C、AC、 AC31-40C、C、D、B、ABD、C、E、AD、AB、B 4150B、C、AC、B、AD、bed、A、C、A、BCD华为笔试2006年华为研发类笔试编程题(2006年10月29日晚,成都电子科技大学考试题目)题目:网球中心共有100个网球场,每个单位可以来
28、申请1至IJ 100的场地,申请的场地编号必须是连续的,如果场地已经被其他单位占用,就不能再次使用,而且单位在使用完场地后必须归还。请设计一个完整的系统(c语言)。(限时5分钟)Tennis.hstruct TennisGround(int num;char *agentName;);typedef struct TennisGround TG;void mallocTG(TG * total);void freeTG(TG *total);Tennis.c#include #include #include #include #include Tennis.h void mallocTG(T
29、G *total)(int size, start,count =0;char *agentName =(char*)malloc(sizeof(char)*10);printf(HPlease input your agentName:1);scanf(%s agentName);printf(MPlease input the size of the TennisGround:*);scanf(H%dM,&size);printf(MPlease input the TennisGround number you want to start:);scanf(d”,&start);if(to
30、tal+start)-agentName !=0*)(printf(Mmalloc failed !nM);exit(-l);)else(while(count agentName = agentName;count+;void freeTG(TG* total)(char *an =(char*)malloc(sizeof(char)*10);printf(Mplease input agentName you want to free:1);scanf(%s an);int count =0;while(count agentName, an)=0)(total+count)-agentN
31、ame =H;count+;int main()int i;int sw;TG *total =(TG*)malloc(sizeof(TG)*100);for(i=0; inum = i;(total+i)-agentName = while(l)(printf(*Tennis Ground Mallocation*n);for(i=0; inum,(total+i)-agentName);if(i%5=0)printf(HnH);printf(n);printf(MPlease input your choosen:(1-malloc,2-free):n);scanf(,%d*,&sw);i
32、f(sw =1)mallocTG(total);elsefreeTG(total);return 0;华为D卷最后四大题1、Al,A2.An和B交换资源,求写出PV操作的序列2、非递归实现FEBACHI数列.3、折半查找干啥用的?实现之.4、实现有序链表上的插入1、在个以太网中,30台 PC 通过 QUTDWAYR2501路由器 S0口连接 INTERNET,QUIDWAYR2501路由器配置如下:Qutidway(config-if-eO)# ip address 192.168.1.1.255.255.255.0Qutidway( config-if-eO) eixtQutidway(co
33、nfig)# interface sOQutidway(config-if-sO)# ip address 211.136.3.6.255.255.255.252Qutidway(config-if-sO)# encapsulation ppp台PC机默认网关为192.168.2.1,路由器会怎样处理发自这台PC的数据包?A.路由器会认为发自这一台PC的数据包不在同一网段,不转发数据包B.路由器会自动修正这一台PC机的IP地址,转发数据包C.路由器丢弃数据包,这时候需要重启路由器,路由器自动修正误配D.路由器丢弃数据包,不做任何处理,需要求配PC网关为192.168.1.12,关于MAC地址表示正确的是()A、00-e0-fe-01-23-45B、00e0.fe01.2345C、00e.0fe.