猛玛 - MCU软件工程师 - 笔试
❗❗如果本文对您有帮助,请不要吝啬您的评论、点赞、收藏与小花,这对我非常重要!谢谢!❗❗
本文所涉及的题目均为基于个人学习和理解重新表述的内容,仅供学习交流之用,不代表任何实际考试题目。如有雷同,纯属巧合。
岗位:MCU软件工程师
题型:14 道选择题,1 道填空题,1 道编程题
1、选择题
1.1
将命令的标准输出和错误输出都重定向到同一个文件"all_output.txt",应该使用以下哪个命令? ==(D)==
- A. command 2> all_output.txt
- B. command > all_output.txt
- C. command &> all output.txt
- D. command > all_output.txt 2>&1
1.2
在 vi 中,删除一行的命令是 ==(B)==
- A. u
- B. dd
- C. x
- D. yy
解答:
u
:撤销上一次操作
dd
:剪切当前光标所在的行
x
:删除当前光标所在处的字符
yy
:复制当前行
1.3
已知头指针 h 指向一个带头结点的非空单循环链表,结点结构为如下:
struct Node {
int data; //存储数据
struct Node* next; //指向下一个节点的指针
};
p 是指向最后一个元素的尾指针,q 是一个临时指针。现要删除该链表的第一个元素,正确的语句序列是 ==(A)==
- A.
q=h->next; h->next=q->next; if(p==q) p=h; free(q);
- B.
q=h->next; h->next=q->next; if(p!=q) p=h; free(q);
- C.
h->next=h->next->next; q=h->next; free(q);
- D.
q=h->next; h->next=h->next->next; free(q);
1.4
有以下程序,求输出结果 ==(A)==
#include <stdio.h>
int fun(int num) {
int cnt = 0;
while (num) {
cnt++;
num = num & (num - 1);
}
return cnt;
}
int main() {
printf("%d\n\r", fun(2022));
return 0;
}
- A. 8
- B. 2022
- C. 10
- D. 6
解答:
函数
fun
的功能为计算一个整数的二进制表示中有多少个1
,2022
的二进制表示为0111 1110 0110
,一共有 8 个
1.5
以下代码的运行结果是:==(B)==
#include <stdio.h>
int main() {
int flag = 2;
flag ^= ~2;
printf("%d", flag);
return 0;
}
- A. -2
- B. -1
- C. 2
- D. 4
解答:
flag
为 2,假设为 32 位,则用二进制表示为0000 0000 0000 0000 0000 0000 0000 0010
~2
表示对2
进行按位取反,结果为1111 1111 1111 1111 1111 1111 1111 1101
flag
与~2
进行异或处理,结果为1111 1111 1111 1111 1111 1111 1111 1111
,在补码中等于-1
,选项 B 正确
1.6
【多选】请指出以下代码的问题,并选择描述正确的选项 ==(AD)==
//全局变量
int gFlag = 0;
//线程1
void func1() {
// ...
while(!gFlag);
// ...
}
//线程2
void func2() {
// ...
gFlag=1;
// ...
}
- A. int gFlag=0 应该修改:volatile int gFlag=0;
- B. int gFlag=0 应该修改:volatile int gFlag=1;
- C. volatile 关键字告诉编译器,不要使用寄存器中的备份变量用于计算
- D. 这段代码有时候能正确运行,有时候不能正确的运行
解答:
由于全局变量
gFlag
在两个线程中同时被使用,为防止编译器优化造成错误,应该给变量增加volatile
关键词修饰,必须在每次访问时从内存读取,但仅用一个全局变量作为两个线程间同步的机制,可能会出现问题
1.7
以下代码运行结果正确的是:==(A)==
#include <stdio.h>
int main() {
int condition = 0;
if (condition) {
printf("苹果");
}
if (!condition) {
printf("香蕉");
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
欢迎来到我的专栏,在这里,我将整理并分享2024年各大企业的真实笔试/面试真题,帮助求职者了解考试趋势和嵌入式常见考点。无论你是准备面试,还是希望提升自己的专业知识,这里都能为你提供宝贵的参考和学习资源。