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