编辑: 旋风 2019-07-16
C语言面试题大汇总 4.

static有什么用途?(请至少说明两种) 1.限制变量的作用域(DL:使其只在定义的当前文件中起作用,static是只能由与变量在同一个文件中定义的程序存取的全局变量.也就是说使全局变量成为文件的私有变量,以致其他文件不可以通过将它们定义为extern而存取这些变量.) 2.设置变量的存储域(DL:存储在最开始的静态存储空间里面) 7. 引用与指针有什么区别? 1) 引用必须被初始化,指针不必. 2) 引用初始化以后不能被改变,指针可以改变所指的对象. 3) 不存在指向空值的引用,但是存在指向空值的指针. 8. 描述实时系统的基本特性 在特定时间内完成特定的任务,实时性与可靠性 9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈 10. 什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1 11. 堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源 12. 什么函数不能声明为虚函数? constructor 13. 冒泡排序算法的时间复杂度是什么? O(n^2) 14. 写出float x 与 零值 比较的if语句. if(x-0.000001) 16. Internet采用哪种网络协议?该协议的主要层次结构? tcp/ip 应用层/传输层/网络层/数据链路层/物理层 17. Internet物理地址和IP地址转换采用什么协议? ARP (Address Resolution Protocol)(地址解析协议) 18.IP地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号.不过是要和 子网掩码 按位与上之后才能区分 哪些是网络位,哪些是主机位. 2.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出.写出 C程序. 循环链表,用取余操作做 3.不能做switch()的参数类型是: switch的参数不能为实型. 华为

1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用 :: 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量.对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内

2、如何引用一个已经定义过的全局变量? 答:extern(在使用该变量的地方还要定义一次,extern只相当于声明,且只能在函数体外定义)/ static(在使用时不用定义,且作用域限制在当前源文件,且只能在函数体内重新赋值) 可以用引用头文件的方式(必须用static声明),也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量. 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错

4、语句for( ;

1 ;

)有什么问题?它是什么意思? 答:和while(1)相同.

5、do……while和while……do有什么区别? 答:前一个循环一遍再判断,后一个判断以后再循环

6、请写出下列代码的输出内容 #include main() { int a,b,c,d;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题