华为C/C++笔试题一
2009-05-26 16:05
281 查看
1. static有什么用途?(请至少说明两种)
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。(局部静态变量)
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。(外部静态变量)
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。(外部静态函数)
2. 引用与指针有什么区别?
1)引用被创建的同时必须被初始化,指针则可以在任何时候被初始化。
2)不存在指向空值的引用,引用必须与合法的存储单元关联,指针则可以指向NULL。
3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
3. 描述实时系统的基本特性
1)对外部事件的响应必须在一定时间内完成。
2)必须满足—定的峰值负荷要求,即在负载重,甚至超负荷的情况下,某些关键任务一定要得到满足。
3)实时系统的可靠性至关重要。
4. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量存放在内存的全局数据区,局部变量放在堆栈区。
ps:
一个程序将操作系统分配给其运行的内存块分为4个区域:
(1)代码区,存放程序的代码,即程序中的各个函数代码块。
(2)全局数据区,存放程序的全局数据和静态数据。
(3)堆区,存放程序的动态数据。
(4)栈区,存放程序的局部数据,即各个函数中的数据。
5. 什么是平衡二叉树?
平衡二叉树,又称AVL树。它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的高度之差之差的绝对值不超过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地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
13. 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
循环链表,用取余操作做
ps:#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
int data;
struct Node* next;
}LNode, *LinkList;
LinkList list = NULL;
int n; //人数
int m; //报数号
//n为总人数,k为第一个开始报数的人,m为出列者喊到的数
void JosephRing(int n, int k, int m)
{
LinkList p, r; /* p为当前结点,r为辅助结点,指向p的前驱结点*/
for(int i = 1; i <= n; i++) /*建立循环链表*/
{
p = (LinkList)malloc(sizeof(LNode));
p->data = i;
if(list == NULL)
list = p;
else
r->next = p;
r = p;
}
p->next = list; /*使链表循环起来*/
p = list; /*使p指向头节点*/
/*把当前指针移动到第一个报数的人*/
for(i = 1; i < k; i++)
{
r = p;
p = p->next;
}
/*循环地删除队列结点*/
while(p->next != p)
{
for(i = 1; i < m; i++)
{
r = p;
p = p->next;
}
r->next=p->next;
printf("%4d ",p->data);
free(p);
p=r->next;
}
printf("%4d/n",p->data);
}
void main()
{
printf("please input n:");
scanf("%d", &n);
printf("please input m:");
scanf("%d", &m);
JosephRing(n, 1, m);
}
14. 不能做switch()的参数类型是:
switch的参数不能为实型
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。(局部静态变量)
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。(外部静态变量)
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。(外部静态函数)
2. 引用与指针有什么区别?
1)引用被创建的同时必须被初始化,指针则可以在任何时候被初始化。
2)不存在指向空值的引用,引用必须与合法的存储单元关联,指针则可以指向NULL。
3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
3. 描述实时系统的基本特性
1)对外部事件的响应必须在一定时间内完成。
2)必须满足—定的峰值负荷要求,即在负载重,甚至超负荷的情况下,某些关键任务一定要得到满足。
3)实时系统的可靠性至关重要。
4. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量存放在内存的全局数据区,局部变量放在堆栈区。
ps:
一个程序将操作系统分配给其运行的内存块分为4个区域:
(1)代码区,存放程序的代码,即程序中的各个函数代码块。
(2)全局数据区,存放程序的全局数据和静态数据。
(3)堆区,存放程序的动态数据。
(4)栈区,存放程序的局部数据,即各个函数中的数据。
5. 什么是平衡二叉树?
平衡二叉树,又称AVL树。它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的高度之差之差的绝对值不超过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地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
13. 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
循环链表,用取余操作做
ps:#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
int data;
struct Node* next;
}LNode, *LinkList;
LinkList list = NULL;
int n; //人数
int m; //报数号
//n为总人数,k为第一个开始报数的人,m为出列者喊到的数
void JosephRing(int n, int k, int m)
{
LinkList p, r; /* p为当前结点,r为辅助结点,指向p的前驱结点*/
for(int i = 1; i <= n; i++) /*建立循环链表*/
{
p = (LinkList)malloc(sizeof(LNode));
p->data = i;
if(list == NULL)
list = p;
else
r->next = p;
r = p;
}
p->next = list; /*使链表循环起来*/
p = list; /*使p指向头节点*/
/*把当前指针移动到第一个报数的人*/
for(i = 1; i < k; i++)
{
r = p;
p = p->next;
}
/*循环地删除队列结点*/
while(p->next != p)
{
for(i = 1; i < m; i++)
{
r = p;
p = p->next;
}
r->next=p->next;
printf("%4d ",p->data);
free(p);
p=r->next;
}
printf("%4d/n",p->data);
}
void main()
{
printf("please input n:");
scanf("%d", &n);
printf("please input m:");
scanf("%d", &m);
JosephRing(n, 1, m);
}
14. 不能做switch()的参数类型是:
switch的参数不能为实型
相关文章推荐
- 华为C/C++笔试题二
- 华为C/C++笔试题(附答案,华为面试题系列)
- 华为C/C++笔试题
- 华为--C++ 笔试+面试题目
- 华为C/C++笔试题(5)
- 华为_C++ 笔试题目
- 华为C/C++笔试题(附答案,华为面试题系列)
- 华为C/C++笔试题(附答案,华为面试题系列)
- C++笔试题——华为
- C++笔试题——华为
- 华为C/C++笔试题(1)
- 华为--C++ 笔试面试题目
- 【c++】【2015华为笔试】分解字符串
- 华为C/C++笔试题(附答案)
- 华为--C++ 笔试面试题目
- 【c++】【2015华为笔试】分解字符串
- 华为_C++ 笔试题目
- 华为--C++ 笔试+面试题目
- benefits from Huawei's written examination(华为笔试题的收获C/C++基础)
- 华为C/C++笔试题(附答案,华为面试题系列)