欢迎来到天天文库
浏览记录
ID:22787419
大小:122.05 KB
页数:24页
时间:2018-10-31
《c和操作系统面试问题分类 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C++和操作系统面试问题分类inline的使用是有所限制的,inline只适合函数体内代码简单的函数使用,不能包含复杂的结构控制语句例如whileswitch,并且不能内联函数本身不能是直接递归函数(自己内部还调用自己的函数)C++多态实现机制:在C++中,对于有virtual的类,其sizeof会比正常情况多处4个字节。既在类的最开始四个字节,放的是VTABLE表的地址(voi相类型)。而在VTABLE中,所有虚函数是以指针数组的形式存放。对于派生的类,即时没有重载基类的虚函数,也会在其VTABLE占用一格。造成空间上的浪费。非虚基类没有VTABLE
2、,VTABLE是在构造的时候编译器生成的。线程和进程:进程是操作系统资源分配的最小单位,线程是CHJ运行的最小单位。linux中,使用的是用户线程(对应核心线程:线程管理由内核实现),而且是1:1形式,既每一个线程,都对应内核中的一个轻量级进程,调度由内核实现,但是线程的管理(比如产生和结束),均有一个管理线程实现。管理线程在第一次调用pthread_create的时候生成。软件开发流程:需求分析和项目计划:可行性计划,项目计划,需求分析,测试计划软件设计说明书:功能设计说明书,实现设计说明书使用手册测试报告项目总结C++继承机制:n类成员的访问控制方
3、式public:类本身、派生类和其它类均可访问;protected:类本身和派生类均可访问,其它类不能访问;private(默认):类本身可访问,派生类和其它类不能访问。继承成员的访问控制规则一一由父类成员的访问控制方式和继承访问控制方式共同决定private+public(protectd,private)=〉不可访问pubic(protected)+public=>public(protected)public(protected)+protected=>protectedpublic(protected)+private(默认)=>private
4、C++中的模板和virtual异同?private继承和public继承区别?==>?6.static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7.引用与指针有什么区别?1)引用必须被初始化,指针不必。1)引用初始化以后不能被改变,指针可以改变所指的对象。2)不存在指向空值的引用,但是存在指向空值的指针。6.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性7.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据区,局部变量在堆栈8.什么是平衡二叉树?左右子树都是平衡二叉树且左右子树
5、的深度差值的绝对值不大于19.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源10.什么函数不能声明为虚函数?constructor==>C++中的类的构造函数声明11.冒泡排序算法的时间复杂度是什么?0(rf2)12.写出floatx与“零值”比较的if语句。if(x>xl6.Internet采用哪种网络协议?该协议的主要层次结构?tcp/ip应用层/传输层/网络层/数据链路层/物理层17.Internet物理地址和IP地址转换采用什么协议?ARP(AddressResolutionProtoco1)(地址解析协议)地址的编码分为哪俩部分?IP地址由
6、两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。19.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。循环链表,用取余操作做一一〉??20.不能做switch()的参数类型是:SWITH(表达式),表达式可以是整型、字符型以及枚举类型等表达式。switch的参数不能为实型。浅谈C/C++中Static的作用1.先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我
7、们要同时编译两个源文件和一个Makefi1e,一个是,另一个是下面是的内容:#includechara=,A?://globaIvariablevoidmsg(){printf(”Hello”);}下面是的内容:ttincludeintmain(void){externchara://externvariablemustbedeclaredbeforeuseprintf(’’%c“,a);(void)msg():returnO;}下面是Makefile的内容:CC=gccSRC:=$(shellls*•c)OBJS:=$(patsubst%.c,%
8、•o,$(SRC))TARGET:=Main$(TARGET):$(OBJS)$(CC)$(L
此文档下载收益归作者所有