一、嵌入式笔试题3
char iArr[10]={0,1,2,3,4,5,6,7,8,9};
short int *pVal = NULL;
pVal = (short int *)(iArr+2); //pVal和(iArr+2)都指向数组iArr的的3个元素2的地址
short int tVal = *pVal; //pVal指向的地址的内容(按字节)是:0x02,0x03,0x04,0x05
由于tVal和pVal分别是short类型的变量和指针
而Intel CPU的对short双字节的存放是:高字节在后,低字节在前
所以,tVal=*pVal=0x02+(0x03<<8)=0x0302=770
二、嵌入式笔试题5
#include<stdio.h>
void main()
{
unsigned int a=6;
int b=-20;
(a+b>6)?printf(>6):printf(<=6);
}
在VC上运行结果是:>6
它们在内存中的值是:(16进制表示)
a: 0x00000006
b: 0xffffffec
a+b:0xfffffff2
b+a:0xfffffff2
从上面我们可以看出:
先把int类型的b当成unsinged int类型了,然后再与a进行相加的
显然这种结果是错误的,但编译器就是这么干的!!
没有上机调试这个题,我也不太清楚还有这种情况!
三、嵌入式笔试题6
这个题目好啊!我喜欢! 把各种各样的指针都考到了! 下面我给了小程序,a1-a8分别是这8种类型的变量a #include
四、关于嵌入式(C/C++)的几个考试题目,大家回答一下
(1)第一个不用说了吧,一个面向过程一个面向对象。
(2)不懂
(3)详细介绍分布式编程。
(4)(Interrupt Latency) 中断延迟
(5)自定义和宏书上面有。
(6)如何定义一个位域结构(参见c程序设计自定义结构体那章)
(7)用汇编写个程序:复制一个内存区域到另外一个(不懂)
(8)把上面的程序用c语言表示
(9)什么是嵌入式系统(这个网上太多了)可裁剪的,有特殊需求的。。。
(10)在嵌入式系统中如何调试。调试程序吗?我只知道gdb
(11)内存泄漏及如何调试(网上有)
(12)编写程序itoa函数(百科自己看)
(13)功能接口?这个真不懂
(14)啥问题