华为校园招聘笔试题大全

2025-03-08 4 0 291KB 88 页 10玖币
侵权投诉
★笔试题大全★
1.static 有什么用途?(请至少说明两种)
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它
函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明
它的模块的本地范围内使用
2.引用与指针有什么区别?
1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。
3.描述实时系统的基本特性
在特定时间内完成特定的任务,实时性与可靠性。
4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在堆栈。
5.什么是平衡二叉树?
左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于 1。
6.堆栈溢出一般是由什么原因导致的?
没有回收垃圾资源。
7.什么函数不能声明为虚函数?
Constructor(构造函数)函数不能声明为虚函数。
8.冒泡排序算法的时间复杂度是什么?
时间复杂度是 O(n^2)。
9.写出 float x 与“零值”比较的 if 语句。
if(x>0.000001&&x<-0.000001)
10.Internet 采用哪种网络协议?该协议的主要层次结构?
Tcp/Ip 协议
主要层次结构为: 应用层/传输层/网络层/数据链路层/物理层。
11.Internet 物理地址和 IP 地址转换采用什么协议?
1 / 88
ARP (Address Resolution Protocol)(地址解析協議)
12.IP 地址的编码分为哪俩部分?
IP 地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些
是主机位。
13.用户输入 M,N 值,从 1 至 N 开始顺序循环数数,M 输出该数值,至全部输出。写出 C 程序。
循环,用取余操作做
14.不能switch()的类型是:
switch数不能为实
海华为的一道关于指针方面的编程题
int A[nSize],其中隐藏着若干 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<=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++;
cout<<number<<endl;
这个程序一循环 100*50*20 次,效率实在是太低了
实上,这个题是一的数问题,不是单纯的编程问题。的解法如
因为 x+2y+5z=100
所以 x+2y=100-5z,且 z<=20 x<=100 y<=50
所以(x+2y)<=100,且(x+5z)是
2 / 88
z 作循环x 的可能值如
z=0, x=100, 98, 96, ... 0
z=1, x=95, 93, ..., 1
z=2, x=90, 88, ..., 0
z=3, x=85, 83, ..., 1
z=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<<endl;
这个程序,只循环 21 次, 两个变量,就可以得到答案,比上的那个程序高效了许多
----只是因为作了一些简单的数分析
一次算机程序=数据结构+算法,且算法是程序的灵魂,对任何工程问
题,软件来时,必须选取满足当前的资源限制,用户需求限制,开时间限制
种限制条件下最优算法。绝不能一拿到手,就立刻最容易想到的算法编出一个程序
事——这不是一个专业研发人员为。
那么,那种最容易想到的算法就完全没有用?不,这种算法正好可以用来验证新算法
正确性,在调试阶段,这非常有用。在很多公司微软,都采用这种法:在调
3 / 88
阶段,对一些要的的算法的程序,这种的算法比较复杂时,时用
容易想到的算法来验证程序,如果两种算法出的结果不一致(而最容易想到的算法
正确的),那么说明化的算法出问题,改。
可以举例表示为:
#ifdef DEBUG
int simple();
#end if
int optimize();
......
in a function:
{
result=optimize();
ASSERT(result==simple());
}
,在调试阶段,如果简单算法和化算法的结果不一致,就会打断言时,在程
序的发布版本,会包含笨重的 simple()函数。——型工软件预先设计良
的调试手段里提到的就是一种有用的法。
个 age,
在些链删除学生年龄等于 age 的学生信息
#include "stdio.h"
#include "conio.h"
struct stu{
char name[20];
char sex;
int no;
int age;
struct stu * next;
}*linklist;
struct stu *creatlist(int n)
4 / 88
{
int i;
//h,p 为一结,s 为当前
struct stu *h,*p,*s;
h = (struct stu *)malloc(sizeof(struct stu));
h->next = NULL;
p=h;
for(i=0;i<n;i++)
{
s = (struct stu *)malloc(sizeof(struct stu));
p->next = 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)
{
struct stu *p;
while(s->age!=a)
{
p = s;
s = s->next;
}
if(s==NULL)
printf("The record is not exist.");
else
{
5 / 88
摘要:

★笔试题大全★1.static有什么用途?(请至少说明两种)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指针有什么区别?1)引用必须被初始化,指针不必。2)引用初始化以后不能被改变,指针可以改变所指的对象。3)不存在指向空值的引用,但是存在指向空值的指针。3.描述实时系统的基本特性在特定时间内完成特定的任务,实...

展开>> 收起<<
华为校园招聘笔试题大全.doc

共88页,预览5页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:人力资源/企业管理 价格:10玖币 属性:88 页 大小:291KB 格式:DOC 时间:2025-03-08

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 88
客服
关注