红联Linux门户
Linux帮助

linux内核驱动开发笔试题

发布时间:2007-10-17 00:50:10来源:红联作者:Nesoikps
一、一些常规中举的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)!

还有一些就是关于结构体、++、--等一系列试题。
文章评论

共有 3 条评论

  1. zengziyiloudai 于 2012-09-11 16:41:35发表:

    收藏

  2. hospcuq 于 2007-10-19 12:08:59发表:

    收藏起来做个对照

  3. lwtbenben 于 2007-10-19 09:19:32发表:

    楼主的第一条题目写地不对吧
    我估计应该是:printf("%d", m[k][i]); 吧?????