《C_C++笔试题大全(63页).doc》由会员分享,可在线阅读,更多相关《C_C++笔试题大全(63页).doc(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C_C+笔试题大全-第 63 页1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。3.描述实时系
2、统的基本特性在特定时间内完成特定的任务,实时性与可靠性。4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈。5.什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1。6.堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源。7.什么函数不能声明为虚函数? Constructor(构造函数)函数不能声明为虚函数。8.冒泡排序算法的时间复杂度是什么? 时间复杂度是O(n2)。9.写出float x 与“零值”比较的if语句。 if(x0.000001&x-0.000001)10.Internet采用哪种网络协议?该协议
3、的主要层次结构? Tcp/Ip协议 主要层次结构为: 应用层/传输层/网络层/数据链路层/物理层。11.Internet物理地址和IP地址转换采用什么协议? ARP (Address Resolution Protocol)(地址解析協議)12.IP地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。 循环链表,用取余操作做14.不能做switch()的参数类型是: switch的参数不能为实型。上海华为的一道关于指针方
4、面的编程题int AnSize,其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非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=
5、z=20,所以可以编程为:number=0;for (x=0; x=100; x+)for (y=0; y=50; y+)for (z=0; z=20; z+)if (x+2*y+5*z)=100)number+;coutnumberendl;上面这个程序一共要循环100*50*20次,效率实在是太低了事实上,这个题目是一道明显的数学问题,而不是单纯的编程问题。我的解法如下:因为x+2y+5z=100所以x+2y=100-5z,且z=20 x=100 y=50所以(x+2y)=100,且(x+5z)是偶数对z作循环,求x的可能值如下:z=0, x=100, 98, 96, . 0z=1, x=
6、95, 93, ., 1z=2, x=90, 88, ., 0z=3, x=85, 83, ., 1z=4, x=80, 78, ., 0z=19, x=5, 3, 1z=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所以,求总的组合次数可以编程为:numbe
7、r=0;for (int m=0;m=100;m+=5)number+=(m+2)/2;coutnumbernext = NULL;p=h;for(i=0;inext = s;printf(Please input the information of the student: name sex no age n);scanf(%s %c %d %d,s-name,&s-sex,&s-no,&s-age);s-next = NULL;p = s;printf(Create successful!);return(h);void deletelist(struct stu *s,int a)st
8、ruct stu *p;while(s-age!=a)p = s;s = s-next;if(s=NULL)printf(The record is not exist.);elsep-next = s-next;printf(Delete successful!);void display(struct stu *s)s = s-next;while(s!=NULL)printf(%s %c %d %dn,s-name,s-sex,s-no,s-age);s = s-next;int main()struct stu *s;int n,age;printf(Please input the
9、length of seqlist: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;in
10、t 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 0 unsigned char Symmetry (long n)long i,t
11、emp;i=n; temp=0;while(i) /不用出现长度问题,将数按高低位掉换temp=temp*10+i%10;i/=10;return(temp=n);方法一 功能: 判断字符串是否为回文数字 实现: 先将字符串转换为正整数,再将正整数逆序组合为新的正整数,两数相同则为回文数字 输入: char *s:待判断的字符串 输出: 无 返回: 0:正确;1:待判断的字符串为空;2:待判断的字符串不为数字; 3:字符串不为回文数字;4:待判断的字符串溢出 unsigned IsSymmetry(char *s) char *p = s; long nNumber = 0; long n =
12、 0; long nTemp = 0; /*判断输入是否为空*/ if (*s = 0) return 1; /*将字符串转换为正整数*/ while (*p != 0) /*判断字符是否为数字*/ if (*p9) return 2; /*判断正整数是否溢出*/ if (*p-0) (4294967295-(nNumber*10) return 4; nNumber = (*p-0) + (nNumber * 10); p+; /*将数字逆序组合,直接抄楼上高手的代码,莫怪,呵呵*/ n = nNumber; while(n) /*判断正整数是否溢出*/ if (n%10) (4294967
13、295-(nTemp*10) return 3; nTemp = nTemp*10 + n%10; n /= 10; /*比较逆序数和原序数是否相等*/ if (nNumber != nTemp) return 3; return 0; 方法二 功能: 判断字符串是否为回文数字 实现: 先得到字符串的长度,再依次比较字符串的对应位字符是否相同 输入: char *s:待判断的字符串 输出: 无 返回: 0:正确;1:待判断的字符串为空;2:待判断的字符串不为数字; 3:字符串不为回文数字 unsigned IsSymmetry_2(char *s) char *p = s; int nLen
14、= 0; int i = 0; /*判断输入是否为空*/ if (*s = 0) return 1; /*得到字符串长度*/ while (*p != 0) /*判断字符是否为数字*/ if (*p9) 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; i-; r
15、eturn 0; 求22000的所有素数.有足够的内存,要求尽量快答案:int findvalue2000=2;static int find=1;bool adjust(int value)assert(value=2);if(value=2) return true;for(int i=0;i=find;i+)if(value%findvaluei=0)return false;findvaluefind+;return true;华为最后三个大题1.A,B,C,D四个进程,A向buf里面写数据,B,C,D向buf里面读数据,当A写完,且B,C,D都读一次后,A才能再写。用P,V操作实现。
16、2.将单向链表reverse,如ABCD变成DCBA,只能搜索链表一次。3.将二叉树的两个孩子换位置,即左变右,右变左。不能用递规(变态!)华为笔试题:2007.03.31华为笔试题之一二给大家说几个:(感觉华为不过如此,虽然我的分不高,因为很多题我做给他实在是侮辱我的智商)1。大意如下:38头牛中选出3头跑得最快的,使用一个每次只能供6头比赛的场地,要求用最快的方法。(我给一个最傻瓜的答案,因为我发现一起笔试的有且恰好有38个人,不知道*什么意思?)2。大意如下:公司职员知道老板的年龄,不知道他女儿的年龄,老板3个女儿的年龄相加为13,相乘为老板年龄,且只有一个女儿的年龄大于5岁,求这4个的
17、年龄?(网上有一大堆答案!)3。原题是2002年以前的一道大学生数学建模竞赛的题,是说一个学生冒雨从宿舍去食堂吃饭,200米的距离内,问是走着少淋雨还是跑着少?(该题简化了大部分的假设,只剩下一点点问题要你解决,做着没劲!)选择题:(每题2分,共100分)1、以下属于物理层的设备是( ); A、中继器B、以太网交换机C、桥D、网关2、在以太网中,是根据( )地址来区分不同的设备的。 A、LLC地址B、MAC地址C、IP地址D、IPX地址3、以下为传输层协议的是()A、IPB、ICMPC、UDPD、SPX4、以下对MAC地址描述正确的是()A、由32位2进制数组成B、由48位2进制数组成C、前6
18、位16进制由IEEE负责分配D、后6位16进制由IEEE负责分配5、以下属于数据链路层功能的是()A、定义数据传输速率B、定义物理地址C、描述网络拓扑结构D、流控制6、IEEE802.3u标准是指( )A、以太网B、快速以太网C、令牌环网D、FDDI网7、如果要将两计算机通过双绞线直接连接,正确的线序是()A、1-1、2-2、3-3、4-4、5-5、6-6、7-7、8-8B、1-2、2-1、3-6、4-4、5-5、6-3、7-7、8-8C、1-3、2-6、3-1、4-4、5-5、6-2、7-7、8-8D、两计算机不能通过双绞线直接连接8、在V.35和V.24规程中,控制信号RTS表示()A、数
19、据终端准备好;B、数据准备好;C、数据载体检测;D、请求发送;E、清除发送。9、路由器作为网络互连设备,必须具备以下哪些特点。( )A、至少支持两个网络接口B、协议至少要实现到网络层C、至少支持两种以上的子网协议D、至少具备一个备份口E、具有存储、转发和寻径功能F、一组路由协议G、必须有较高的协议处理能力10、路由器的作用有() A、异种网络互连 B、子网间的速率适配 C、连接局域网内两台以上的计算机 D、隔离网络,防止网络风暴,指定访问规则(防火墙) E、子网协议转换 F、加快网络报文的传递速度 G、路由(寻径):路由表建立、刷新、查找 H、报文的分片与重组 11、调用上一条历史命令的快捷键
20、是() A、CTRL-P B、CTRL-O C、ALT-P D、ALT-O 12、交换机工作在OSI七层的哪一层?() A、一层 B、二层 C、三层 D、三层以上 13、以下对CSMA/CD描述正确的是( ) A、在数据发送前对网络是否空闲进行检测 B、在数据发送时对网络是否空闲进行检测 C、在数据发送时对发送数据进行冲突检测 D、发生碰撞后MAC地址小的主机拥有发送优先权 14、以下对STORE AND FORWARD描述正确的是( ) A、收到数据后不进行任何处理,立即发送 B、收到数据帧头后检测到目标MAC地址,立即发送 C、收到整个数据后进行CRC校验,确认数据正确性后再发送 D、发送
21、延时较小 E、发送延时较大 15、以下对交换机工作方式描述正确的是( ) A、可以使用半双工方式工作 B、可以使用全双工方式工作 C、使用全双工方式工作时要进行回路和冲突检测 D、使用半双工方式工作时要进行回路和冲突检测 16、VLAN的主要作用有() A、保证网络安全 B、抑制广播风暴 C、简化网络管理 D、提高网络设计灵活性 17、在交换机中用户权限分为几个级别( ) A、1 B、2 C、3 D、4 18、在路由器的配置过程中查询以S开头所有命令的方法是() A、直接使用? B、S? C、S ? D、DIR S* 19、第一次配置路由器时可以使用的方法为( ) A、使用CON口本地配置 B
22、、使用CON口远程配置 C、使用AUX口远程配置 D、使用TELNET远程配置 20、在何种状态下可以为路由器改名() A、普通模式 B、超级模式 C、全局模式 D、接口模式 21、某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有 26台计算机,每个子公司在一个网段中,则子网掩码应设为()。 A、255.255.255.0 B、255.255.255.128 C、255.255.255.192 D、255.255.255.224 22、与10.110.12.29 mask 255.255.255.224属于同一网段的主机IP地址是()。 A、10.110.12.0 B、1
23、0.110.12.30 C、10.110.12.31 D、10.110.12.32 23、ARP协议的作用是( ) A、将端口号映射到IP地址 B、连接IP层和TCP层 C、广播IP地址 D、将IP地址映射到第二层地址 24、当路由器接收的IP报文的TTL值等于1时,采取的策略是( ) A、丢掉该分组 B、将该分组分片 C、转发该分组 D、以上答案均不对 25、在NetWare 网络中,客户需要访问某个类型的服务器时,首先要发送一个 ()广播报文来寻找服务器 A、Rip B、Sap C、Gns D、Arp 26、IPX地址网络地址有( )个字节 A、10 B、8 C、4 D、6 27、对于帧中
24、继描述正确的是( ) A、使用具有本地意义的DLCI描述PVC B、使用具有全局意义的DLCI描述PVC C、使用具有本地意义的DLCI描述SVC D、使用具有全局意义的DLCI描述SVC 28、对于INVERSE ARP的描述正确的是( ) A、通过广播方式解析对端网络地址 B、通过多播方式解析对端网络地址 C、通过LMI信令解析对端网络地址 D、通过广播方式解析对端DLCI 29、下列对于PAP协议描述正确的是( ) A、使用两步握手方式完成验证 B、使用三步握手方式完成验证 C、使用明文密码进行验证 D、使用加密密码进行验证 30、X.25与帧中继对比描述正确的是( ) A、X.25是面
25、向连接的协议,传输正确性、稳定性高于帧中继 B、X.25具有两层结构,较帧中继简单 C、X.25对于IP而言传输效率低于帧中继 D、X.25可以提供比帧中继更多的服务 31、X.25使用映射的作用是( ) A、映射本地IP到对端端口值,以便路由器发送数据时确认发送端口 B、映射本地IP到本地端口值,以便路由器发送数据时确认发送端口 C、映射对端IP到本地端口值,以便X.25交换网络查找数据发送路径 D、映射对端IP到对端端口值,以便X.25交换网络查找数据发送路径 32、各个路由协议衡量路由的好坏标准是( ) A、路由 B、路由器优先级 C、路由权 D、包转发率 33、以下是基于链路状态算法的
26、动态路由协议是() A、RIP B、ICMP C、IGRP D、OSPF 34、三种路由协议 RIP 、OSPF 、IGRP 各自得到了一条到达目标网络,在华为路由器默认情况下,网络最终选选定() 路由作为最优路由。 A、RIP B、OSPF C、IGRP D、静态路由 35、路由环问题会引起() A、循环路由器 B、慢收敛 C、路由器重起 D、路由不一致 36、OSPF 协议适用于基于 IP 的( ) A、大型网络 B、中小型网络 C、更大规模的网络 D、isp与isp之间 37、在rip中metric等于()为不可达 A、8 B、9 C、10 D、15 E、16 38、对于ISDN BRI
27、描述正确的是() A、2B+D B、30B+D C、使用同轴电缆作为物理传输介质 D、使用普通电话线作为物理传输介质 39、设置话机模拟入呼叫时需要检查的被叫号码或子地址的命令是( ) A、isdn pots1-answer B、isdn pots2-answer C、isdn answer1 D、isdn answer2 40、使能DDR的命令是( ) A、Access-list B、dialer in-band C、Dialer-group D、Dialer-list 41、访问控制列表配置中,*作符 gt portnumber表示控制的是( )。 A、端口号小于此数字的服务 B、端口号大
28、于此数字的服务 C、端口号等于此数字的服务 D、端口号不等于此数字的服务 42、某台路由器上配置了如下一条访问列表 access-list 4 deny 202.38.0.0 0.0.255.255 access-list 4 permit 202.38.160.1 0.0.0.255 表示:( ) A、只禁止源地址为202.38.0.0网段的所有访问; B、只允许目的地址为202.38.0.0网段的所有访问; C、检查源IP地址,禁止202.38.0.0大网段的主机,但允许其中的202.38.160.0小网段上的主机; D、检查目的IP地址,禁止202.38.0.0大网段的主机,但允许其中的
29、202.38.160.0小网段的主机; 43、某单位路由器防火墙作了如下配置: firewall enable access-list normal 101 permit ip 202.38.0.0 0.0.0.255 10.10.10.10 0.0.0.255 access-list normal 101 deny tcp 202.38.0.0 0.0.0.255 10.10.10.10 0.0.0.255 gt 1024 access-list normal 101 deny ip any any 端口配置如下 interface Serial0 Enable Ip address 202
30、.38.111.25 255.255.255.0 encapsulation ppp ip access-group 101 out interface Ethernet0 ip address 10.10.10.1 255.255.255.0 内部局域网主机均为10.10.10.0 255.255.255.0网段。以下说法正确的是(本题假设其他网络均没有使用防火墙):() A、外部主机202.38.0.50可以ping通任何内部主机; B、内部主机10.10.10.5,可以任意访问外部网络资源; C、外部202.38.5.0 255.255.255.0网段主机可以与此内部网主机建立tcp连接
31、; D、外部202.38.0.0 255.255.255.0网段主机不可以与此内部网主机建立tcp连接 E、内部任意主机都可以与外部任意主机建立tcp连接; F、内部任意主机只可以与外部202.38.0.0 255.255.255.0网段主机建立tcp连接 44、RIP 协议适用于基于 IP 的() A、大型网络 B、中小型网络 C、更大规模的网络 D、isp与isp之间 45、以下的协议中,哪些是面向连接的协议( )。 A、X25 B、Ethernet C、IP D、Frame-relay 46、路由器A的配置如下: Quidway#SHOW RUN Current configuratio
32、n user huawei service-type ppp password 0 quidway interface Ethernet0 ip address 1.1.1.1 255.0.0.0 interface Serial0 encapsulation ppp ppp authentication chap ppp chap host huawei ip address 2.1.1.1 255.0.0.0 interface Serial1 encapsulation ppp interface Serial2 flowcontrol normal async mode dedicat
33、ed encapsulation ppp exit ip route 0.0.0.0 0.0.0.0 2.1.1.2 preference 60 end 路由器B的配置如下 Quidway#SHOW RUN Current configuration user hw service-type ppp password 0 quidway ip address 3.1.1.1 255.0.0.0 interface Serial0 clock-select DTECLK1 encapsulation ppp ppp chap host huawei ip address 1.1.1.2 255.
34、0.0.0 interface Serial1 encapsulation ppp interface Serial2 flowcontrol normal async mode dedicated encapsulation ppp exit ip route 0.0.0.0 0.0.0.0 2.1.1.2 preference 60 end 发现两端路由器不能PING同对端以太网端口,下述说法正确的是() A、A验证配置错误 B、B验证配置错误 C、A验证方路由配置错误 D、B被验证方路由配置错误 47、路由器A配置如下: Quidway#SHOW RUN Now create confi
35、guration. Current configuration interface Ethernet0 ip address 1.1.1.1 255.0.0.0 clock-select DTECLK1 encapsulation x25 dte ietf x25 address 2111 x25 map ip 2.1.1.2 2112 ip address 2.1.1.1 255.0.0.0 interface Serial1 encapsulation ppp interface Serial2 flowcontrol normal async mode dedicated encapsu
36、lation ppp exit router rip end 路由器B配置如下 Quidway#SHOW RUN Now create configuration. Current configuration interface Ethernet0 ip address 3.1.1.1 255.0.0.0 interface Serial0 encapsulation x25 dce ietf x25 address 2112 x25 map ip 2.1.1.1 2111 ip address 2.1.1.2 255.0.0.0 interface Serial1 encapsulation
37、 ppp interface Serial2 flowcontrol normal async mode dedicated encapsulation ppp exit router rip end 如下说法正确的是() A、两端广域网可以联通,但局域网不可以连通 B、两端广域网不可以连通,但局域网可以连通 C、广域网和局域网都可以连通 D、广域网和局域网都不能连通 48、路由器A的配置为: Quidway#SHOW RUN Now create configuration. Current configuration frame-relay switching interface Ethernet0 ip address 10.1.1.1 255.255.0.0 ip rip version 2 mcast interface Serial0 clock-select DTECLK1 encapsulation frame-relay frame-relay intf-type DCE frame-relay interface-dlci 100 ip address 2.1.1.1 255.0.0.0 ip rip version 2 mcast interface Serial1 encapsulation ppp interface Serial2 flowcon
限制150内