- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
华为校园招聘考试C语言C++笔试题
1.static有什么用途?(请至少说明两种)
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,
但不能被模块外其它函数访问。它是一个本地的全局变量。
3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,
这个函数被限制在声明它的模块的本地范围内使用
2.引用与指针有什么区别?
1)引用必须被初始化,指针不必。
2)引用初始化以后不能被改变,指针可以改变所指的对象。
3)不存在指向空值的引用,但是存在指向空值的指针。
3.描述实时系统的基本特性
在特定时间内完成特定的任务,实时性与可靠性。
4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在堆栈。
5.什么是平衡二叉树?
左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于
1。
6.堆栈溢出一般是由什么原因导致的?
没有回收垃圾资源。
7.什么函数不能声明为虚函数?
constructor函数不能声明为虚函数。
8.冒泡排序算法的时间复杂度是什么?
时间复杂度是
O(n^2)。
9.写出
floatx与“零值”比较的
if语句。
if(x0.000001x-0.000001)
10.Internet采用哪种网络协议?该协议的主要层次结构?
Tcp/Ip协议
主要层次结构为:应用层
/传输层/网络层/数据链路层
/物理层。
11.Internet物理地址和
IP地址转换采用什么协议?
ARP(AddressResolutionProtocol)(地址解析協議)
12.IP地址的编码分为哪俩部分?
IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能
区分哪些是网络位哪些是主机位。
13.用户输入
M,N值,从
1/7
1至
N开始顺序循环数数,每数到
M输出该数值,直至全部输出。
写出
C程序。
循环链表,用取余操作做
14.不能做
switch()的参数类型是:
switch的参数不能为实型。
1.写出判断
ABCD四个表达式的是否正确,若正确,写出经过表达式中a的值(3分)
inta4;
(A)a+(a++);(B)a+(++a);(C)(a++)+a;(D)(++a)+(a++);
a?
答:C错误,左侧不是一个有效变量,不能赋值,可改为
(++a)+a;
改后答案依次为
9,10,10,11
2.某
32位系统下
,C++程序,请计算
sizeof的值(5分).
charstr[]“/”
char*pstr;
intn10;
请计算
sizeof(str)?(1)
sizeof(p)?(2)
sizeof(n)?(3)
voidFoo(charstr[100]){
请计算
sizeof(str)?(4)
}
void*pmalloc(100);
请计算
sizeof(p)?(5)
答:(1)17(2)4(3)4(4)4(5)4
3.回答下面的问题
.(4分)
(1).头文件中的ifndef/define/endif干什么用?预处理
答:防止头文件被重复引用
(2).#include和#
include“filename.h”有什么区别?
答:前者用来包含开发环境提供的库头文件,后者用来包含自己编写的头文件。
2/7
(3).在
C++程序中调用被C编译器编译后的函数,为什么要加extern“C”声明?
答:函数和变量被
C++编译后在符号库中的名字与
C语言的不同,被
externC修饰的变
量和函数是按照
C语言方式编译和连接的。由于编译后的名字不同,
C++程序不能直接调
用
C函数。C++提供了一个
C连接交换指定符号
extern“C”来解决这个问题。
(4).switch()中不允许的数据类型是?
答:实型
4.回答下面的问题
(6分)
(1).VoidGetMemory(char**p,intnum){
*p(char*)malloc(num);
}
voidTest(void){
char*strNULL;
GetMemory(
文档评论(0)