嵌入式面试题3

csharp]  view plain copy
  1. 1.局部变量能否和全局变量重名?  
  2. 答:能,局部会屏蔽全局  
  3. 2.如何引用一个已经定义过的全局变量  
  4. 答:extern  
  5. 3.全局变量可不可以定义在可被多个.c文件包含的头文件中?  
  6. 答:可以,在不同的c文件中以static形式来声明同名全局变量  
  7. 4.语句for(; 1; )有什么问题?它是什么意思  
  8. 答:死循环  
  9. 5.程序中,全局变量、静态变量存在于(全局数据区)  
  10. 局部变量存在于(堆栈中),动态申请数据存在于(堆)中  
  11. 6.队列和栈有什么区别?  
  12. 答:队列先进先出,栈后进先出  
  13. 7.对于一个频繁使用的短小函数,在C语言中用什么实现,C++中呢?  
  14. 答:C用宏定义,C++用inline  
  15. 8.确定模块的功能和模块的接口是在软件设计的那个时期完成的  
  16. 答:概要设计  
  17. 9.引用和指针有什么区别?  
  18. 答:1)引用必须被初始化,指针不必  
  19.     2)引用初始化以后不能被改变,指针可以改变所指的对象   
  20.     3)不存在指向空值的引用,存在指向空值的指针  
  21. 10.RTOS的基本特性  
  22. 答:实时性与可靠性  
  23. 11.什么是平衡二叉树?  
  24. 答:左右子树都是平衡二叉树,且左右子树的深度差的绝对值小于1  
  25. 12.堆栈溢出一般是由什么原因导致的?  
  26. 答:没有回收垃圾资源  
  27. 13.构造函数不能声明为虚函数  
  28. 14.Internet采用哪种网络协议?该协议主要层次结构?  
  29. 答:TCP/IP,应用层、传输层、网络层、物理层(数据链路层)  
  30. 15.Internet物理地址和IP地址转换采用什么协议?  
  31. 答:ARP(地址解析协议)  
  32. 16.请定义一个宏,比较两个数a,b的大小,不能使用大于,小于,if语句  
  33. 答:#define MAX(a,b)  (a/b) ? a:b  
  34. 17.写一个病毒  
  35. while(1)  
  36. {  
  37.     int *p = new int[100000000];  
  38. }  
  39.   
  40. 18.求一个字符串的长度,两种方法  
  41. int mystrlen(char *s)  
  42. {  
  43.     int len = 0;  
  44.     while(*s++)  
  45.         len++;  
  46.     return len;  
  47. }  
  48.   
  49. int mystrlen(char *s)  
  50. {  
  51.     char *str = s;  
  52.     while(*str)  
  53.         str++;  
  54.     return (str - s);  
  55. }  
  56.   
  57. 19.字符串复制  
  58.  char *mystrcpy(char *strDest, const char *strSrc)
  59. {
  60.       if ( strDest == NULL || strSrc == NULL)
  61.       return NULL ;
  62.       if ( strDest == strSrc)
  63.       return strDest ;
  64.       char *tempptr = strDest ;
  65.       while( (*strDest++ = *strSrc++) != ‘\0’);
  66.       return tempptr 
  67. }
  1. 20.内存复制  
  2. void *mymemcpy(void *_dst, const void *_src, unsigned len)  
  3. {  
  4.     unsigned char *dst= _dst;  
  5.     const unsigned char  *src = _src;  
  6.     while(len-- > 0)  
  7.     {  
  8.         *dst++ = *src++;  
  9.     }  
  10.     return _dst;  
  11. }  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值