没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
有什么用途?(请至少说明两种)
在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。
它是一个本地的全局变量。
在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块
的本地范围内使用
引用与指针有什么区别?
引用必须被初始化,指针不必。
引用初始化以后不能被改变,指针可以改变所指的对象。
不存在指向空值的引用,但是存在指向空值的指针。
描述实时系统的基本特性
在特定时间内完成特定的任务,实时性与可靠性。
全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在堆栈。
什么是平衡二叉树?
左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于 。
堆栈溢出一般是由什么原因导致的?
没有回收垃圾资源。
什么函数不能声明为虚函数?
函数不能声明为虚函数。
冒泡排序算法的时间复杂度是什么?
时间复杂度是 。
写出 与“零值”比较的 语句。
!
"## 采用哪种网络协议?该协议的主要层次结构?
$%&"% 协议
主要层次结构为: 应用层&传输层&网络层&数据链路层&物理层。
"## 物理地址和 "' 地址转换采用什么协议?
()'(**#)#+'+(地址解析协议 )
"' 地址的编码分为哪俩部分?
"' 地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
用户输入 ,-. 值,从 至 . 开始顺序循环数数,每数到 , 输出该数值,直至全部输出。写出 / 程序。
循环链表,用取余操作做
不能做 01的参数类型是:
01 的参数不能为实型。
华为 /&/22笔试题
某 位系统下-/22程序,请计算 3#的值
#include<stdio.h>
#include<malloc.h>
voidFoo(charstr[100])
{
printf("sizeof(str)=%d\n",sizeof(str));
}
main()
{
charstr[]="www.ibegroup.com";
char*p1=str;
intn=10;
void*p2=malloc(100);
printf("sizeof(str)=%d\n",sizeof(str));
printf("sizeof(p1)=%d\n",sizeof(p1));
printf("sizeof(n)=%d\n",sizeof(n));
printf("sizeof(p2)=%d\n",sizeof(p2));
Foo(str);
}
答:
回答下面的问题
头文件中的 *#&*#4#&#* 干什么用5预处理
答:防止头文件被重复引用
6+*# 4+#7#1和 6+*#84+#7#18有什么区别5
答:
对于6+*# 4+#7#1,编译器从标准库路径开始搜索 4+#7#1
对于6+*#84+#7#18,编译器从用户的工作路径开始搜索 4+#7#1
在 /22程序中调用被 /编译器编译后的函数,为什么要加 ##9/:声明5
答:函数和变量被 /22编译后在符号库中的名字与 / 语言的不同,被 ##8/8修饰的变量和函数是按照 / 语言方式
编译和连接的。由于编译后的名字不同,/22程序不能直接调用 /函数。/22提供了一个 /连接交换指定符号
##9/:来解决这个问题。
回答下面的问题
请问运行 $#函数会有什么样的结果5
VoidGetMemory(char**p,intnum)
{
*p=(char*)malloc(num);
}
voidTest(void)
{
char*str=NULL;
GetMemory(&str,100);
strcpy(str,"hello");
printf(str);
}
答:输出“1#++:
请问运行 $#函数会有什么样的结果5
voidTest(void)
{
char*str=(char*)malloc(100);
strcpy(str,“hello”);
free(str);
if(str!=NULL)
{
strcpy(str,“world”);
printf(str);
}
}
答:输出“0+*:
请问运行 $#函数会有什么样的结果5
char*GetMemory(void)
{
charp[]="helloworld";
returnp;
}
voidTest(void)
{
char*str=NULL;
str=GetMemory();
printf(str);
}
答:无效的指针,输出不确定
编写 函数
已知 函数的原型是 1;1;<#-1;=>其中 <#是目的字符串,
=是源字符串。
不调用 /22&/的字符串库函数,请编写函数
答:?/ 源码:
char*__cdeclstrcat(char*dst,constchar*src)
{
char*cp=dst;
while(*cp)
cp++;/*findendofdst*/
while(*cp++=*src++);/*Copysrctoendofdst*/
return(dst);/*returndst*/
}
能把 =的内容连接到 <#,为什么还要 1;类型的返回值5
答:方便赋值给其他变量
程序什么时候应该使用线程,什么时候单线程效率高
耗时的操作使用线程,提高应用程序响应
并行操作时使用线程,如 /&= 架构的服务器端并发线程响应用户的请求。
多 /'@ 系统中,使用线程提高 /'@ 利用率
改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独
立的运行部分,这样的程序会利于理解和修改。
其他情况都使用单线程。
/22中什么数据分配在栈或堆中,.#0 分配数据是在近堆还是远堆中5
答:栈A存放局部变量,函数调用参数,函数返回值,函数返回地址。由系统管理堆A程序运行时动态申请,#0和
7++ 申请的内存就在堆上
关于内存对齐的问题以及 3的输出
答:编译器自动对齐的原因:为了提高程序的性能,数据结构尤其是栈应该尽可能地在自然边界上对齐。原因在于,为
了访问未对齐的内存,处理器需要作两次内存访问;然而,对齐的内存访问仅需要一次访问。
B-CB-DB>D;B2C>D 最后的值是5
答:,此题考察优先级,实际写成: D;B2C>,赋值运算符优先级最低
动态连接库的两种方式5
答:调用一个 <EE 中的函数有两种方法:
.载入时动态链接+*!7#*F7+DG,模块非常明确调用某个导出函数,使得他们就像本地函数一样。
这需要链接时链接那些函数所在 <EE 的导入库,导入库向系统提供了载入 <EE 时所需的信息及 <EE 函数定位。
.运行时动态链接!7#*F7+DG,运行时可以通过 E*EHF 或 E*EHFI 函数载入
<EE。<EE 载入后,模块可以通过调用 J#'(**# 获取 <EE 函数的出口地址,然后就可以通过返回的函数指针
调用 <EE 函数了。如此即可避免导入库文件了
函数模板与类模板有什么区别5
答:函数模板的实例化是由编译程序在处理函数调用时自动完成的,而类模板的实例化必须由程序员在程序中显式地指定。
K*0 是内核级线程么。
答:见下一题
E 有内核级线程么。
答:线程通常被定义为一个进程中代码的不同执行路线。从实现方式上划分,线程有两种类型:“用户级线程”和“内核级线
程”。 用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、
同步、调度和管理线程的函数来控制用户线程。这种线程甚至在象 <=这样的操作系统中也可实现,但线程的调度需要
用户程序完成,这有些类似 K*0的协作式多任务。另外一种则需要内核的参与,由内核完成线程的调度。其
依赖于操作系统核心,由内核的内部需求进行创建和撤销,这两种模型各有其好处和缺点。用户线程不需要额外的内核开
支,并且用户态线程的实现方式可以被定制或修改以适应特殊应用的要求,但是当一个线程因 "&而处于等待状态时,整
个进程就会被调度程序切换为等待状态,其他线程得不到运行的机会;而内核线程则没有各个限制,有利于发挥多处理器
的并发优势,但却占用了更多的系统开支。
K*0.$ 和 =& 支持内核线程。E支持内核级的多线程
使用线程是如何防止出现大的波峰。
答:意思是如何防止同时产生大量的线程,方法是使用线程池,线程池具有可以同时提高调度效率和限制资源使用的好处,
线程池中的线程达到最大数时,其他线程就会排队等候。
写出判断 (L/< 四个表达式是否正确-若正确-写出经过表达式中 的值
B>
剩余58页未读,继续阅读
资源评论
fenggy0248
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功