返回首页

嵌入式笔试题3

213 2023-08-01 00:25 admin

一、嵌入式笔试题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 int fun(int a) {//定义一个函数,共下面赋值给a7 return (a+1); } void main() { //变量声明如下: int a1; //a) 一个整型数 int *a2; //b) 一个指向整型数的指针 int **a3; //c) 一个指向指针的指针,它指向的指针是指向一个整型数 int a4[10]; //d) 一个有10个整型数的数组 int *a5[10]; //e) 一个有10个指针的数组,该指针是指向一个整型数的 int (*a6)[10]; //f) 一个指向有10个整型数数组的指针 int (*a7)(int); //g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数 int (*a8[10])(int); //h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 //变量使用如下: a1=3; a2=&a1; a3=&a2; a4[0]=4; a5[0]=a2; a6=&a4; a7=fun; a1=a7(a1); a8[0]=a7; a1=a8[0](a1); }

四、关于嵌入式(C/C++)的几个考试题目,大家回答一下

(1)第一个不用说了吧,一个面向过程一个面向对象。

(2)不懂

(3)详细介绍分布式编程。

(4)(Interrupt Latency) 中断延迟

(5)自定义和宏书上面有。

(6)如何定义一个位域结构(参见c程序设计自定义结构体那章)

(7)用汇编写个程序:复制一个内存区域到另外一个(不懂)

(8)把上面的程序用c语言表示

(9)什么是嵌入式系统(这个网上太多了)可裁剪的,有特殊需求的。。。

(10)在嵌入式系统中如何调试。调试程序吗?我只知道gdb

(11)内存泄漏及如何调试(网上有)

(12)编写程序itoa函数(百科自己看)

(13)功能接口?这个真不懂

(14)啥问题