嵌入式linux工程师面试题目C语言基础部分

2024-04-30

嵌入式linux工程师面试题目C语言基础部分(通用2篇)

篇1:嵌入式linux工程师面试题目C语言基础部分

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]);}

问题所在:本题考点一眼就可以看出,二重数组啦!第二题:下列哪个引用是不正确的?
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;(A)a[p-a];(B)*(&a);(c)p;(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)!


篇2:嵌入式linux工程师面试题目C语言基础部分

嵌入式linux笔试题目

一、简答题:

1. 请写出实现后面几个功能的Linux命令:显示文件,拷贝,删除

2. do„„while和while„„do有什么区别?

3. Linux系统下.ko文件是什么文件?.so文件是什么文件?

4. 如何使用vi进行块拷贝、粘贴、删除的操作

5. 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是。

6. 如何使用gcc得到宏展开的中间代码

7. 如何使用gdb调试多进程

8. 用户进程间通信主要哪几种方式

9. 解释命令ls-amore具体含义。

10. LINUX中的管道指什么,重定向又指什么

11. 请写出下列代码的输出内容 #include “stdio.h” main(){ int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf(“b,c,d:%d,%d,%d”,b,c,d);return 0;

12. 编写一个函数intcharnum(charfn[10]),该函数以只读方式打开文件fn,,通过统计,返回文件中字符的个数,请使用while循环实现计数功能。请勿修改主函数main和其他函数中的任何内容,仅在函数charnum的花括号中填写若干语句。

文件kt7_2.cpp的内容如下:

#include

第1页/共2页

北京航天泰睿科技有限公司

#include #include intcharnum(charfn[10]);voidmain(){ intnum;

num=charnum(“abc.txt”);} cout<<“num=”<

intcharnum(charfn[10]){

}

二、编程题

13. 如果有一个简单的Test项目目录如下:

# tree Test Test |--common.h |--main.cpp |--test.cpp `--test.h

1)使用wildcard、patsubst函数编写一个C++项目的Makefile文件 2)使用automake、autoconfig编写一个支持configure选项的configure.in脚本

14. 编写一个hello world程序,要求以创建进程的方式打印Hello World!

15. 打开一个文件,并读取从第100字节开始的50字节数据。

16. 编写一对socket程序,要求类似于network echo procotol。

Client每隔1秒把自己的IP地址轮流循环发送给一个Server.Server接到IP后,在屏幕上打印对方IP;然后把自己的IP发送回去。Client收到回复后,在屏幕上打印对方IP。

程序一直运行,直到用户退出。各自分类统计接收到的各IP的数据包的个数。

注意:Client可以向多个Server发送请求,Server也可以接收多个Client请求。

17.请描述Linux下程序开发到执行的工作流程(结合自己的项目经历)。

18.结合自己的学习或工作感受简述Linux与Windows编程的区别,嵌入式Linux与Windows的嵌入式OS(如XPE、WinCE)的区别。

上一篇:群英会活动工作总结下一篇:《白雪公主与七个小矮人》童话婚礼方案