[其它考试]C语言面试题汇总.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[其它考试]C语言面试题汇总

7.?printf (“%d%d\n”,++n, power(2,n)); 其中power(2,n)为实现一定功能的函数 如 2^n 。 ??? 请问这种表示方法有什么潜在的问题? ?答案:编译器的不同,对++n 和power(2,n)处理的先后顺序不一样,形成二义性,造成程 序的移植性差,因此最好把++n 写在printf函数外面,以消除二义性。 printf (s); 请问这样的语句有没有问题?(s为一指向有效字符串的指针) ?? 答案:没有%的话,可以这样表达,如果有%在s中的话,有意想不到的输出结果。 9.?两段代码共存于一个文件,编译时有选择的编译其中的一部分,请问如何实现? 答案:有两种简单的办法可以实现: 在源码中使用条件编译语句,然后在程序文件中定义宏的形式来选择需 要的编译代码。 在源码中使用条件编译语句,然后在编译命令的命令中加入宏定义命令 来实现选择编译。 10.数据结构指针传给函数,函数能访问数据单元,但不能修改实际的内容,如何实现? 答案:定义为指向常量的指针,这样指针所指的数据结构中的内容就不会被改变。如: ??????? const 类型 *p 或 类型 const *p??? 11.?在头文件中定义静态变量,可能产生什么问题? 答案:在使用了该头文件的每个c程序文件中都单独存在一个该静态变量,这样造成空间的浪费并且很容易引起错误。因此建议不要在头文件中定义任何变量。 12.malloc()与 calloc()的区别? 答案: ? 1)参数上的区别 malloc (size_t size); calloc (size_t n , size_t size); malloc分配一块size大小的内存块,而calloc分配一个n*size大小的内存块 ? 2)返回内存块的状态不同 malloc分配的内存块没有被清零,而calloc分配的内存块是清了零的。但是建议在使用内存时,如果需要初始化,则最好自己按照需要来进行初试化,不要依赖函数的实现说明。 13.寄存器变量可不可以访问其地址?可否是全局变量?在什么场合使用寄存器变量??? 答案:这些问题都与编译器的实现有关,建议不要声明全局变量为寄存器变量,即使是局部变量都最好不要声明其为寄存器变量,现在的编译器在优化时都会较为合理的安排寄存器变量的使用,而人为的安排有时会造成优化的低效。 14.\n \n? 的区别? 答案:前者是一个字符串并且以’/0’结束,而后者只是一个简单的字符。 15.包含预定义头文件 ? 和 的区别? 答案: 只在指定的目录里寻找被包含文件; 先在当前目录下查找 ,再在指定目录下查找;通常方式用于系统的头文件,而一般用户的头文件用 的方式。 16.strunt? S_A{ ?????????? int a[10]; ??????? }; ??????? void f() ??????? { ????????? int i; ????????? strunt S_A *s_ptr; ????????? for (i=0,i10,i++) ??????????? s_ptr - a[i] = i; ???????? } ? 请问这段代码正确否? 答案:这段代码不正确,没有对s_ptr指针进行初始化,在编程中要注意此类低级错误的发生。 C语言面试题大汇总 作者: ???? 来源:zz???? 发表时间:2006-06-23???? 浏览次数: 75736 ???? 字号:大??中??小 4. static有什么用途?(请至少说明两种) 1.限制变量的作用域 2.设置变量的存储域 7. 引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 2) 不存在指向空值的引用,但是存在指向空值的指针。 8. 描述实时系统的基本特性 在特定时间内完成特定的任务,实时性与可靠性 9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈 10. 什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1 11. 堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源 12. 什么函数不能声明为虚函数? constructor 13. 冒泡排序算法的时间复杂度是什么? O(n^2) 14. 写出float x 与“零值”比较的if语句。 if(x0.000001x-0.000001) 16. Internet采用哪种网络协议?该协议的主要层次结构? tcp/ip 应用层/传输层/网络层/数据链路层/物理层 17. Internet物理地址和IP地址转换采用什么协议? ARP (Address Resolution Pro

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档