没有合适的资源?快使用搜索试试~ 我知道了~
首页华为笔试题大全(史上最齐全).doc
华为笔试题大全(史上最齐全).doc

华为笔试题大全(史上最齐全).doc 华为笔试题大全(史上最齐全).doc 华为笔试题大全(史上最齐全).doc 华为笔试题大全(史上最齐全).doc 华为笔试题大全(史上最齐全).doc
资源详情
资源评论
资源推荐

华为
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 地址转换采用什么协议?
ARP (Address Resolution Protocol)(地址解析協議)
12.IP 地址的编码分为哪俩部分?
IP 地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分
1

哪些是网络位哪些是主机位。
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)是偶数
对 z 作循环,求 x 的可能值如下:
z=0, x=100, 98, 96, ... 0
2

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 次, 两个变量,就可以得到答案,比上面的那个程序高效了许多
倍----只是因为作了一些简单的数学分析
这再一次证明了:计算机程序=数据结构+算法,而且算法是程序的灵魂,对任何工程问
题,当用软件来实现时,必须选取满足当前的资源限制,用户需求限制,开发时间限制等
种
种限制条件下的最优算法。而绝不能一拿到手,就立刻用最容易想到的算法编出一个程序
了
事——这不是一个专业的研发人员的行为。
那么,那种最容易想到的算法就完全没有用吗?不,这种算法正好可以用来验证新算法
的正确性,在调试阶段,这非常有用。在很多大公司,例如微软,都采用了这种方法:在
调
试阶段,对一些重要的需要好的算法来实现的程序,而这种好的算法又比较复杂时,同时
用
容易想到的算法来验证这段程序,如果两种算法得出的结果不一致(而最容易想到的算法
保
证是正确的),那么说明优化的算法出了问题,需要修改。
可以举例表示为:
#ifdef DEBUG
int simple();
3

#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)
{
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;
}
4

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
{
p->next = s->next;
printf("Delete successful!");
}
}
void display(struct stu *s)
{
s = s->next;
while(s!=NULL)
{
printf("%s %c %d %d\n",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:\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、实现一个函数,把一个字符串中的字符从小写转为大写。
5
剩余63页未读,继续阅读











安全验证
文档复制为VIP权益,开通VIP直接复制

评论2