46道嵌入式工程师相关的经典面试题
扫描二维码
随时随地手机看文章
微信公众号:嵌入式开发圈
关注可了解更多的教程。问题或建议,请公众号留言;
如果你觉得本文对你有帮助,欢迎赞赏
用find 写出查找/opt/kernel目录下(包括子目录)文件名为Kconfig的命令。
用 Vi 编译器底行命令模式实现字符串替换,把当前文件中的“xiaodai”全部替换成“banzhang”。
变量的声明和定义有什么区别?
sizeof是库函数吗?sizeof 和 strlen 的区别?
链表和数组有什么区别
简述队列和栈的异同
有以下语句: char a=3, b=6, c; c = a^b<<2; 则c的二进制值是_____。
如何打印出当前源文件的文件名以及源文件的当前行号?
假设某个函数的原型为:void foo( int x, int y ); 该函数分别被C编译器和C++编译器编译后在符号库中的名字是什么?
在QT程序中可以调用被C 编译器编译后的函数吗?如果可以怎么实现?
.h头文件中的ifndef/define/endif 的作用?#i nclude 与 #include "file.h"的区别?
结构与联合有和区别?
全局变量和局部变量可否同名,他们是否有区别?如果有,是什么区别?
static有什么用途? static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
什么是预编译,何时需要预编译?
有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为多少?。
请计算sizeof的值。
char str[] = “Hello” ;
char *p = str ;
int n = 10;
请计算
sizeof (str ) =_____
sizeof ( p ) =_____
sizeof ( n ) =_____
void Func ( char str[100])
{
请计算sizeof( str ) =
}
void *p = malloc( 100 ); 请计算sizeof ( p ) =
char *str[]={“Hello”,”HI”, “\x0”};
请计算:
sizeof(str) =
sizeof(str[0]) =
头文件中有如下宏定义,
#define DECLARE_TASKLET(name, func, data) \
struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(0), func, data }
.c源文件中有如下语句:
static DECLARE_TASKLET(btn_tasklet,
btn_tasklet_func,
(unsigned long)&mydata);
请写出预编译后,该语句展开的结果.
写一个程序,以递归方式反序输出一个字符串。如给定字符串“abc”输出“cba ”。
对于一个字节(8bit)的无符号整形变量,求二进制表示中“1”的个数,要求算法执行效率尽可能地高。
参数传递有哪些形式?寄存器和堆栈传递各有什么优缺点?
define宏语句和inline函数有什么区别?
char a[5][4],a的地址为0,问printf(“%d”,a[4]+3)值
编写一个宏,实现判断数组a元素的个数。
.#define DOUBLE(x) x+x ,i = 5*DOUBLE(5); i 是多少?
i++一下代码的输出结果是?
int i = 1;
int j = 2;
int k = i+++j;
cout << k << endl;
下面代码输出是什么?为什么
void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) puts("> 6") : puts("<= 6");
}
关于动态申请内存的问题
void GetMemory(char *p)
{
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
GetMemory(str);
strcpy(str, "hello world");
printf(str);
}
请问运行 Test 函数会有什么样的结果?
请问运行 Test 函数会有什么样的结果?
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}
请问运行 Test 函数会有什么样的结果?
void GetMemory2(char **p, int num)
{
*p = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, "hello");
printf(str);
}
请问运行 Test 函数会有什么样的结果?
void Test(void)
{
char *str = (char *) malloc(100);
strcpy(str, “hello”);
free(str);
if(str != NULL)
{
strcpy(str, “world”);
printf(str);
}
}
用预处理指令#define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题)
C 语言中结构化程序设计的三种基本控制结构
请说出 const 与#define相比,有何优点?
简述数组与指针的区别?
main 函数执行完毕后,是否可能会再执行一段代码,给出说明?
如果编写一个标准 strlen 函数
如何引用一个已经定义过的全局变量?
do……while 和 while……do 有什么区别?
写一个“标准”宏 MIN
typedef 和 define 有什么区别
Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。
例如,思考一下下面的例子:
#define dPS struct s *
typedef struct s * tPS;
以上两种情况的意图都是要定义dPS 和 tPS 作为一个指向结构s指针。哪种方法更好呢?(如果有的话)为什么?
int (*s[10])(int) 表示的是什么
写出 bool 、int、 float、指针变量与“零值”比较的 if 语句bool 型数据:
请写出以下代码的打印结果
#include
void main( void )
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d,%d",*(a+1),*(ptr-1));
return;
}
设置地址为 0x67a9 的整型变量的值为 0xaa66
参考答案:公众号回复"面试题答案"获取下载链接!
王争老师优秀数据结构算法学习课程推荐
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!