篇1:嵌入式c语言面试题 考查的是结构体和数组的内存布局情况。 #include #include typedef struct array1{ int ID; struct array1* next; }A; typedef struct array2{ int ID; int a; int b; int c; }* B; int main { A s1[15]; A* s2; B s3; for(int i=0;i<10;i++) { s1[i].ID...
16、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错 17、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什...
一、选择题(每题 3 分,共 30 分)。 1. 以下关于嵌入式系统的描述,正确的是( )。 A. 嵌入式系统通常是通用计算机系统。 B. 嵌入式系统的硬件资源不受限制。 C. 嵌入式系统一般要求实时响应。 D. 嵌入式系统不需要操作系统。 2. 在嵌入式 C 语言中,定义一个指向整型数组的指针,正确的是( )。 A. ...
分享10道有趣的嵌入式C语言面试题及答案 10个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个! 1.gets()函数 问:请找出下面代码里的问题: #includeintmain(void) { charbuff[10];memset(buff,0,sizeof(buff)); gets(buff); printf(" Thebufferenteredis[%s] ",buff); return...
答:一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵...
1、为什么C语言适合用来做嵌入式? 答: (1)移植性好; (2)直接访问硬件; (3)运行效率高。 2、使用头文件时双引号和尖括号的区别? 答:使用双引号时,首先要在当前工作目录中查找这个头文件,如果找不到的话就会在内置的include path里面找。 使用尖括号时,只会在当前工作目录中查找这个头文件。 3、gcc编译过程...
嵌入式C语言面试题(附答案) int main(int argc,char *argv[]) { int c=9,d=0; c=c++%5; d=c; printf(d=%d\n,d); return 0; } a) 写出程序输出 b) 在一个可移植的系统中这种表达式是否存在风险?why? #include stdio.h int a=0; int b; static char c; int main(int argc,char *...
因为在 嵌入(inline)操作符 变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。 2)三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。 3) 懂得在宏中小心地...
嵌入式C语言面试题(附答案) 1 读程序段,回答问题 int main(int argc,char *argv[]) { int c=9,d=0; c=c++%5; d=c; printf("d=%d\n",d); return 0; } a) 写出程序输出 b) 在一个可移植的系统中这种表达式是否存在风险?why? #include "stdio.h" ...
16道嵌入式C语言面试题 预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数...