1、 static有什么用途?(请至少说明两种)
限制变量的作用域
设置变量的存储域
2、引用与指针有什么区别?
1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。
3、描述实时系统的基本特性
在特定时间内完成特定的任务,实时性与可靠性
4、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在堆栈。
5、 什么是平衡二叉树?
左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1
6、堆栈溢出一般是由什么原因导致的?
堆栈溢出一般是循环的递归调用导致的,如果使用的大数据结构的局部变量,也可能导致堆栈溢出。
没有回收垃圾资源导致的是内存泄露最后内存耗尽。
7、什么函数不能声明为虚函数?
构造函数,静态成员函数,非成员函数,部分模板函数。
8、冒泡排序算法的时间复杂度是什么?
O(n^2)
9、写出float x 与“零值”比较的if语句。
if(x>0.000001&&x<-0.000001)
10、Internet采用哪种网络协议?该协议的主要层次结构?
tcp/ip 网络可以分为七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
11、Internet物理地址和IP地址转换采用什么协议?
ARP (Address Resolution Protocol)(地址解析協議)
12、IP地址的编码分为哪俩部分?
IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
循环链表,用取余操作做
14、不能做switch()的参数类型是:
switch的参数不能为实型。
#include<iostream.h>
int main()
{
int arr[10]={3,6,1,8,9,2,5,8,4,0};
int size=sizeof(arr)/sizeof(int);
int *p=new int[size+1];//加1是因为下标可能达到size
//memset(p,0,sizeof(arr));
for(int i=0;i<size;i++)
{
if(p[arr[i]] == -1)
cout<<"这个值重复了:"<<arr[i]<<endl;
p[arr[i]]=-1;
}
return 0;
}