Linux内核驱动开发笔试题及答案

一、一些常规中举的C考题

第一题:写出下述程序结果:

int m[][3] = {1,4,7,2,5,8,3,6,9};

int i, j, k = 2;

for (i = 0; i < 3; i++) {

printf(“%d”, m[k][i]);

}

问题所在:本题考点一眼就可以看出,二重数组啦!

第二题:下列哪个引用是不正确的?

int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;

(A) a[p-a]; (B) *(&a[i]); (c) p[i]; (D) *(*(a+i));

第三题:下列4个选项中,哪个结果为6?

int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;

(A) *p + 6; (B) *(p+6); (C) *p += 5; (D) p+5;

第四题:关于二叉树的,给你前序与中序,让你画出二叉树图形;

第五题:关于操作系统方面的,具体题目记不清了,大概意思如下:

在多任务操作系统中,任务间的通信方式有哪几种?如何任务间互斥(并举例说明);

漏了一个考点,记不起来了,想起来再补上吧!

二、一些怪题(别误会,不是那些平时根本不用的、只放在旮旯的偏题,而是网上的原题,^_^)

此公司笔试题的另外一个怪像就是,直接将网络上已经很久很久以前的题目(可谓说是嵌入界C笔试题的经典了,在偶的“几道经典C语言面试题”贴中,已经有了)放入试卷中考你,一共大概有3道题,其中有两道是原封不动照搬的,具体题目如下:

1、写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

2、给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。

3、在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。写代码去完成这一任务。(注:这一题稍微改了改,呵呵,改的地方就是文字变了个说法,变长了,^_^,嗯,地址也应该变了吧,唉,记不清了!)

三、还有一道《高质量C++-C编程指南》中的题目

头文件中的 ifndef/endif 干什么用?(呵呵,与原题相比只是少了define)!

还有一些就是关于结构体、++、--等一系列试题;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwgfz.html