c语言一份驱动开发笔试试题的理解-创新互联
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SEC_YEAR(365*24*60*60UL) 32位设备int=429467295 16位设备int=65536,八位就更不用说了,加UL第一为了兼容各种设备的处理位,第二因为宏可能作为一个计算单位当乘上一定倍数后难免超出int
2 . 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个。
#define MIN(x,y) ((x)<(y)?(x):(y))
前面为何加(x) (y) 防止MIN()宏嵌套 因为<的优先级比:大(还有位运算符)
3. 预处理器标识#error的目的是什么?
当编译时遇到#error 会生成一错误提示并停止编译,这个东西有点像当你做错事然后家长对你说的话一样,可能这个错误不会导致程序崩溃,只是一些操作如程序定义int类型你却输入char这时候你通过一个判断句检测然后跳到#error中
4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?
While(1)
For(;;)
5. 用变量a给出下面的定义
a) 一个整型数 int a
b)一个指向整型数的指针 int *a
c)一个指向指针的的指针,它指向的指针是指向一个整型数int **a (猜的)
d)一个有10个整型数的数组 int a[10]
e) 一个有10个指针的数组,该指针是指向一个整型数的。 int *a[10]
f) 一个指向有10个整型数数组的指针 int (*a)[10] (猜的)
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数 int *a(int)
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
int *a[10](int)
6. 关键字static的作用是什么?
1,Static为静态关键字,1)在子函数中其作用是定义一个变量它只在子函数有效,并且只一次性赋值,其下次调用还是其值 这里有点像(const) 2)在子模块中用它定义的子函数只能被子模块调用(内连接)(此点像在java中的类中的static 定义的函数一样。
,2,在内存层面,static可以把一个全局变量变成一个局部变量,把一个全局函数变成局部静态函数(外链接变成内连接),当程序大的时候这个方法很有用可以很有的预防整个工程的函数重名,但这个方法不能彻底解决重名问题。
7.关键字const有什么含意?
简单的说:Const 意为“常量”即从定义完后不能改变的量,
其实这个const定义的量可以改变,因为在编译的时候const没有被特定的标志出来只要骗过编译器就可以改变了,但程序员这样定义了就表示这个量没有改变的价值,你只要用的时候调用即可
下面的声明都是什么意思?
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:c语言一份驱动开发笔试试题的理解-创新互联
标题路径:http://ybzwz.com/article/gddss.html