嵌入式笔试

 1. 简述一个Linux驱动程序的主要流程与功能。

2. 请列举一个软件中时间换空间或者空间换时间的例子。
  
数组成倍增长(空间换时间)
 
3.
简述进程与线程的区别。

进程和线程的区别在于:

线程的划分尺度小于进程,使得多线程程序的并发性搞。

另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

4. static有什么用途?(请至少说明两种)
    static
关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).
  (1)
局部静态变量 
  (2)
外部静态变量/函数 
  (3)
静态数据成员/成员函数  

 
5.
头文件中的ifndef/define/endif做什么用?条件编译

6. 请问一下程序将输出什么结果?

乱码

char *RetMenory(void)
{
       char p[] = “hellow world”;
       return p;
}

void Test(void)
{
       char *str = NULL;
       str = RetMemory();
       printf(str);
}

7. 引用与指针有什么区别?


8.
描述实时系统的基本特性


9.
全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

10. 什么是平衡二叉树?

11. 堆栈溢出一般是由什么原因导致的?
    
递归调用深度过深()
 
12.
什么函数不能声明为虚函数?
 
一个类中将所有的成员函数都尽可能地设置为虚函数总是有益的。 
 
设置虚函数须注意: 
  1
:只有类的成员函数才能说明为虚函数; 
  2
:静态成员函数不能是虚函数; 
  3
:内联函数不能为虚函数; 
  4
:构造函数不能是虚函数; 
  5
:析构函数可以是虚函数,而且通常声明为虚函数。

13. 冒泡排序算法的时间复杂度是什么?n*n
 
14. #include <filename.h>
#include “filename.h” 有什么区别?
   
#include <filename.h> 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)
   
#include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)
 
15.
写出float x 零值比较的if语句。
    const float EPSINON = 0.00001;
    if ((x >= - EPSINON) && (x <= EPSINON)

16. 操作系统中进程调度策略有哪几种?
   
先来先服务 短作业优先 高优先权优先 时间片轮转

17. Internet采用哪种网络协议?该协议的主要层次结构?TCP/IP

18. Internet物理地址和IP地址转换采用什么协议?ARP RARP
 
19. IP
地址的编码分为哪俩部分?网络号 主机号 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值