没有合适的资源?快使用搜索试试~ 我知道了~
c语言面试题集(单片机)
4星 · 超过85%的资源 需积分: 35 83 下载量 53 浏览量
2009-10-17
11:07:26
上传
评论 2
收藏 95KB DOC 举报
温馨提示
试读
8页
c语言面试题集(单片机) 1.预处理器(Preprocessor) 2.死循环(Infinite loops) 3.数据声明(Data declarations) 4.关键字Static 5.关键字Const 6.关键字Volatile 7.位操作(Bit manipulation) 8.访问固定的内存位置(Accessing fixed memory locations) 9.中断(Interrupts) 10.动态内存分配(Dynamic memory allocation) 11.数据类型Typedef 12.晦涩的语法 本资源来自互联网,进本人整理,版权归原作者
资源推荐
资源详情
资源评论
c 语言面试题集(单片机)
1.预处理器(Preprocessor)
1. 用预处理指令#define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
注意:
1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少
秒而不是计算出实际的值,是更清晰而没有代价的。
3). 意识到这个表达式将使一个 16 位机的整型数溢出-因此要用到长整型符号 L,告诉编译器
这个常数是的长整型数。
4). 如果你在你的表达式中用到 UL(表示无符号长整型),那么你有了一个好的起点。记
住,第一印象很重要。
2. 写一个“标准”宏 MIN,这个宏输入两个参数并返回较小的一个。
#define MIN(A,B) ((A) <= (B) (A) : (B))
这个测试是为下面的目的而设的:
1). 标识#define 在宏中应用的基本知识。这是很重要的,因为直到嵌入(inline)操作符变为标
准 C 的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要
求的性能,嵌入代码经常是必须的方法。
2). 三重条件操作符的知识。这个操作符存在 C 语言中的原因是它使得编译器能产生比 if-
then-else 更优化的代码,了解这个用法是很重要的。
3). 懂得在宏中小心地把参数用括号括起来
4). 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事?
least = MIN(*p++, b);
例子:
#include <stdio.h>
#dene MIN(a,b) ((a)<=(b)?(a):(b))
void main()
{
int i=1,j=2;
printf("%d %d",MIN(i,j--),j); //对 j 有一次自减的操作
printf(" %d",printf("%d",j));//printf 返回打印的字符的数目,
//在此为 3:两个'',一个整形
}
3. 预处理器标识#error 的目的是什么?
如果你不知道答案,请看参考文献 1。这问题对区分一个正常的伙计和一个书呆子是很有
用的。只有书呆子才会读 C 语言课本的附录去找出象这种问题的答案。当然如果你不是在
找一个书呆子,那么应试者最好希望自己不要知道答案。
资源评论
- ylmmee2012-03-14分类比较全面。
- 空偶尔2013-11-20很全面的资料,谢谢分享
- kongqingzhou1232012-10-02有参考意义,分类比较全面。
liusust
- 粉丝: 2
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功