




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.面试资料C语言C语言类1. static有什么用途?1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?1、栈区(stack) 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放 4、文字常量区 常量字符串就是放在这里的。 程序结束后由系统释放 5、程序代码区存放函数体的二进制代码。 3. 什么是平衡二叉树?任何一个结点的左右子树高度差绝对值不超过14. 写出float x 与“零值”比较的if语句。const float EPSINON = 0.00001; if (x = - EPSINON) & (x = EPSINON)5. 队列和栈有什么区别? 栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表。队列(Queue)是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。从数据结构的角度看,它们都是线性结构,即数据元素之间的关系相同。但它们是完全不同的数据类型。除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的限定。栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按后进先出的规则进行操作,而队列必须按先进先出的规则进行操作。和线性表相比,它们的插入和删除操作受更多的约束和限定,故又称为限定性的线性表结构。可将线性表和栈及队列的插入和删除操作对比6. 结构体和共用体的区别? 结构体里面的每一个元素都占有一定的内存空间。而共用体占用其元素中最长的变量的那个类型的内存空间。其赋值是覆盖式的 union data int a; long b; char c; d,e,f;d.a=1;d.b=10000000000;d.c=s;那么只有d.c是有效的,其余的都没有意义啦。7. 已知一颗树的后序遍历结果为:CEFHCGIBA,中序遍历结果为:HCFEAGDBI,则前序遍历为: AHFCEBGDI 8. 在TC环境下,C语言中int、float、double、long、char、unsigned int分别占多少个字节?2,4,8,4,1,29. C语言中关键字volatile是什么意思?在多线程或者中断处理程序中指明一个变量的值可能会被其他线程或者中断处理程序做出改变。如:int i = 3;void func() int j = i + 2;i的值可能被其他线程或者中断处理程序改变,如果不加这一关键字,编译器无从知道这一信息,可能直接把j的值用常数5代替,程序就不对了。10. 请编写插入排序的算法:#include int num=0;void Insert_Sort() int i,j,t; for(int i=0;i0&tnumi;-j) aj=aj-1; Aj-1=t; int main(void) int i; for(i=0;i10;i+) scanf(%d,&numi); Insert_Sort(num); for(i=0;i10;i+) printf(%d ,numi); return 1;11. 编写一个整数拆分的算法,即把一个数拆分为若干个质数(也称素数)相乘,如果被拆分数为30,则结果为: #include int num20=0;/*保存拆分的素数*/int index;int Div2Prime(int m) /*请在此处填写您的程序代码*/int main(void) int m; index=0; Div2Prime(m); printf(%d=,m); for(i=0;i 、(b)? (a): (b) 2、volatile的含义3、写出float x 与“零值”比较的if语句4、求1000!的未尾有几个05、给出了一个求值公式,要求是这样的:一个数,例如abcde,把它变成aabbccddee6、进程和线程三、 编程题1、判断一个整数是否为回文,例如1234543212、分解一个整数为质因数的乘积,例如90=2*3*3*5一、选择题部分:1.不少涉及到指针,比较简单,其中容易错的一条是:对于int a9; int *p;下面那个表达式不能表示a1的地址?选项中a+是错误的,因为此时a9是一个常量,不可以对其执行+操作。如果声明是是int a = abcdefg这种类型,则可以。2.网络七层结构从底到高的顺序:物理层 数据链路层 网络层 传输层 会话层 表示层 应用层3.多题涉及到移位操作 ,以及相关的位与&运算, 4.有一题涉及字对齐的概念,是UNION中包含STRUCT。首先要注意的是union的大小取决于它所有的成员中,占用空间最大的一个成员的大小。另外,就是如果按4字节对齐,则struct A int a; char b; short c;struct B char b; int a; short c;一个占8字节,一个占12字节,而非7字节。(假设在32位环境下, int占4字节,char占2字节,short占2字节)二、简答题部分:关于字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校清真灶管理制度
- 学校考勤谁管理制度
- 学生上放学管理制度
- 学生洗浴室管理制度
- 安保部查岗管理制度
- 安全生产科管理制度
- 实行会员制管理制度
- 宠物店封闭管理制度
- 客运车安全管理制度
- 室外充电桩管理制度
- 脐灸技术评分标准
- 2022-2023学年河南省郑州外国语中学数学八年级第二学期期末调研试题含解析
- 旅游俄语知到章节答案智慧树2023年海南外国语职业学院
- 乡村规划原理智慧树知到答案章节测试2023年同济大学
- ArcGIS高级制图技术
- 角膜接触镜学智慧树知到答案章节测试2023年山东中医药大学
- Unit 2 Neither Pine nor Apple in Pineapple-高中英语外研版(2019)必修第一册
- 通信工程建设强制性标准条文培训材料(第1-3章)
- YY/T 0475-2011干化学尿液分析仪
- SB/T 10654-2012茶馆经营服务规范
- GB/T 16422.4-2022塑料实验室光源暴露试验方法第4部分:开放式碳弧灯
评论
0/150
提交评论