2016年嵌入式面试C语言试题「精选」
第1题: 考查对volatile关键字的认识
#include
static jmp_buf buf;
main()
{
volatile int b;
b =3;
if(setjmp(buf)!=0)
{
printf("%d ", b);
exit(0);
}
b=5;
longjmp(buf , 1);
}
请问, 这段程序的输出是
(a) 3
(b) 5
(c) 0
(d) 以上均不是
第2题:考查类型转换
main()
{
struct node
{
int a;
int b;
int c;
};
struct node s= { 3, 5,6 };
struct node *pt = &s;
printf("%d" , *(int*)pt);
}
这段程序的输出是:
(a) 3
(b) 5
(c) 6
(d) 7
第3题:考查递归调用
int foo ( int x , int n)
{
int val;
val =1;
if (n>0)
{
if (n%2 == 1) val = val *x;
val = val * foo(x*x , n/2);
}
return val;
}
这段代码对x和n完成什么样的'功能(操作)?
(a) x^n (x的n次幂)
(b) x*n(x与n的乘积)
(c) n^x(n的x次幂)
(d) 以上均不是
第4题:考查指针,这道题只适合于那些特别细心且对指针和数组有深入理解的人
main()
{
int a[5] = {1,2,3,4,5};
int *ptr = (int*)(&a+1);
printf("%d %d" , *(a+1), *(ptr-1));
}
这段程序的输出是:
(a) 2 2
(b) 2 1
(c) 2 5
(d) 以上均不是
第5题:考查多维数组与指针
void foo(int [][3]);
main()
{
int a [3][3]= { { 1,2,3} , { 4,5,6},{7,8,9}};
foo(a);
printf("%d" , a[2][1]);
}
void foo(int b[][3])
{
++ b;
b[1][1] =9;
}
这段程序的输出是:
(a) 8
(b) 9
(c) 7
(d)以上均不对
-
嵌入式处理器的分类
全世界嵌入式处理器的品种总量已经超过1000多种,流行的体系结构有30多个系列。现在几乎每个半导体制造商都生产嵌入式处理器,下面yjbys小编为大家准备了关于嵌入式处理器的分类,欢迎阅读。1、嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式处理器的基础...
-
2016年嵌入式QT编程小技巧
做嵌入式系统的童鞋都需要用到QT,这个可视化的编程工具确实非常强悍,今天yjbys就为大家介绍QT编程的小技巧,通过几个小技巧让大家更喜欢这个工具。1、Qt信号和插槽通信Signal和Slot是Qt中一种用于对象间通信的调用机制,不同于传统的函数回调方式。信号和插槽是Qt中...
-
2016嵌入式开发驱动程序设计的5个窍门
在嵌入式系统的开发中,驱动程序的设计和实施是一个关键组成部分,是满足系统实时性需求的关键。yjbys小编为大家总结了设计驱动程序开发者应该掌握的五个技巧。希望对大家有所帮助!每一个嵌入式应用软件都会在某些时候访问最底层的固件和进行一些硬件控制。驱动的...
-
嵌入式车库管理系统设计
过去智能卡应用领域常采用磁卡或接触式IC卡,但由于读写速度慢,易损坏,使用寿命比较短,无法保证系统长期运行的可靠性和方便性。非接触式IC卡由于使用方便、交易速度快、便于维护和使用寿命较长等优点,正在各种场合逐渐替代目前广泛使用的接触式IC卡。我们对现代化车...