野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19266|回复: 14

C语言九阳神功

[复制链接]
发表于 2016-9-8 09:01:57 | 显示全部楼层 |阅读模式


C语言面试笔记







1.static的作用:
(1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。
--static局部变量只初始化一次,下一次依据上一次的结果值
(2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
--static全局变量只初始化一次,防止在其他文件单元被引用
(3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
--static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

2.引用与指针有什么区别
(1) 引用必须被初始化,指针不必。
(2) 引用初始化以后不能被改变,指针可以改变所指的对象。
(3) 不存在指向空值的引用,但是存在指向空值的指针。

3. 描述实时系统的基本特性
——在特定时间内完成特定的任务,实时性与可靠性

4.全局变量和局部变量的区别:
全局变量储存在静态区,进入main函数之前就被创建,生命周期为整个源程序;局部变量在堆栈(动态分配的在堆上),在函数被调用时才创建,生命周期为函数内。

5.什么是平衡二叉树:
左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1。

6.堆栈溢出一般是由什么原因造成的:
(1)没有回收垃圾资源:存储空间垃圾太多 内存已满
(2)层次太深的递归调用:重复调用自己导致内存不足

7.常用排序的时间及空间复杂度
排序法
最差时间分析
平均时间复杂度
稳定度
空间复杂度
冒泡排序
O(n2)
O(n2)
稳定
O(1)
快速排序
O(n2)
O(n*log2n)
不稳定
O(log2n)~O(n)
选择排序
O(n2)
O(n2)
稳定
O(1)
二叉树排序
O(n2)
O(n*log2n)
不一顶
O(n)
插入排序
O(n2)
O(n2)
稳定
O(1)
堆排序
O(n*log2n)
O(n*log2n)
不稳定
O(1)
希尔排序
O
O
不稳定
O(1)
二者不可兼得:以时间换空间,以空间换时间(想节省空间就要耗费时间,想节省时间必要耗费空间)

8. 各类型与零值的比较
写出floatx 与零值比较的if语句:if(x > 0.000001 && x <-0.000001)(6~7位)
写出bool flag 与“零值”比较的if 语句:
if ( flag )//表示flag为真      或 if ( !flag )//表示flag为假
   写出char *p 与“零值”比较的if 语句 : if (p == NULL) 或 if (p != NULL)
   写出整形变量x与零值的比较的if语句:if(x == 0) 或  if(x != 0)

9.不能做switch()的参数类型是:实型
因为switch后面只能带自动转换为整形(包括整形)的类型,比如字符型char,unsigned int等,实数型不能自动转换为整形.可以手动强转实数型(int)double,但是会导致精度的丢失。

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

11.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
可以。在不同的.c文件中以static形式来声明同名全局变量。

12.进程和线程的区别:
——线程是指进程内的一个执行单元,也是进程内的可调度实体.
与进程的区别:
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

13.嵌入式系统中经常要用到无限循环:while(1){}或者for(;;)或者Loop:...gotoLoop;

由于帖子字数限制为10000字节,4600多字节的没法一次性发送,见谅。【顺便关注一波我的博客:http://blog.csdn.net/wqx521




回复

使用道具 举报

发表于 2016-9-8 10:09:24 | 显示全部楼层
感谢分享,帖子还有字数限制?我看看后台能不能改
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-8 10:25:45 | 显示全部楼层
flyleaf 发表于 2016-9-8 10:09
感谢分享,帖子还有字数限制?我看看后台能不能改

是有限制啊,10~10000字节的限制,等于说最多才几千个字,完全不够用啊,一篇文章被迫分成5个了。这部分可以改进一下。
回复 支持 反对

使用道具 举报

发表于 2016-9-8 10:39:00 | 显示全部楼层
1838039453 发表于 2016-9-8 10:25
是有限制啊,10~10000字节的限制,等于说最多才几千个字,完全不够用啊,一篇文章被迫分成5个了。这部分 ...

嗯,改大了,以后可以再试试发长文章
回复 支持 反对

使用道具 举报

发表于 2016-9-8 10:44:28 | 显示全部楼层
不错不错                     
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-8 11:49:09 | 显示全部楼层
flyleaf 发表于 2016-9-8 10:39
嗯,改大了,以后可以再试试发长文章

这办事效率很高啊。以后可以发长的文章了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-8 11:49:31 | 显示全部楼层

多谢火哥鼓励啊。
回复 支持 反对

使用道具 举报

发表于 2016-9-8 15:13:47 | 显示全部楼层
谢谢分享,好经验!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-8 15:30:34 | 显示全部楼层
qq4222 发表于 2016-9-8 15:13
谢谢分享,好经验!

独乐了不如众乐乐。
回复 支持 反对

使用道具 举报

发表于 2016-9-8 15:39:30 | 显示全部楼层
亲爱的小编,,,你敢不敢把文本整理下 ,,,然后上传文本文件,,,,以便我们更好的学习
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-9 09:04:10 | 显示全部楼层
Mr.Guo 发表于 2016-9-8 15:39
亲爱的小编,,,你敢不敢把文本整理下 ,,,然后上传文本文件,,,,以便我们更好的学习

这好像是个很好的主意。
回复 支持 反对

使用道具 举报

发表于 2016-9-9 10:57:49 | 显示全部楼层
1838039453 发表于 2016-9-9 09:04
这好像是个很好的主意。

那就赶快整理,,,,,,期待你的分享
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-9 11:34:21 | 显示全部楼层
Mr.Guo 发表于 2016-9-9 10:57
那就赶快整理,,,,,,期待你的分享

我的博客里面是有的。
回复 支持 反对

使用道具 举报

发表于 2016-9-10 15:49:47 | 显示全部楼层
好东西,必须顶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-10 20:14:34 | 显示全部楼层

顶顶顶
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-1 06:45 , Processed in 0.035790 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表