当前位置: 首页 > news >正文

嵌入式软件工程师笔试题(二)

嵌入式软件工程师笔试题(二)

要求:

1.闭卷

2.做题时间30分钟


题目1

在C语言中,关键字const的用途?

const关键字修饰的变量的值不可以更改,具有只读属性。提升代码安全性;

题目2

在C语言中,条件表达式" a<b?a:b "的含义是什么?

题目中使用了三目运算符,第一个表达式a<b,条件成立的输出a,条件不成立的输出b。这是使用三名运算符求最小值

题目3

请写出下列代码的输出内容

void main()
{int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("%d,%d,%d",b,c,d);
}

b=a++;//a在++前面,所以先取值后++,这个时候b=10,a=11;

c=++a;//a在++后面,所以先++后赋值,这个时候c=12,a=12;

d=10*a++;//a在++前面,所以先运算后++,这个时候d=120,a=13;

最终结果输出:10,12,120

题目4

闰年是能被4整除且不能被100整除或者能被400整除的年份,用宏定义实现判断某一个年份是否是闰年。

#define   year(y)     ( ( y%4==0 && y%100!=0) || y%400==0)        //结果为1是闰年,结果为0则不是闰年

题目5

 写出字符串strcpy函数的实现过程

void str_cpy(char arr1[],char arr2[])
{int i=0;while(arr2[i]!='\0'){arr1[i]=arr2[i];i++;}arr1[i]='\0'
}

题目6

编写函数实现16位的无符号10进制整型数据转换为字符串

#include <stdio.h>
#include <string.h>void uint16_to_str(unsigned short num, char *str) {// 临时缓冲区,用于逆序存储数字字符char temp[6]; // 16位无符号数最大为65535(5位数)加上结束符int i = 0;// 处理0的特殊情况if (num == 0) {str[0] = '0';str[1] = '\0';return;}// 将数字转换为字符(逆序)while (num > 0) {temp[i++] = (num % 10) + '0'; // 获取最低位数字并转换为字符num /= 10;                   // 去掉最低位}// 添加字符串结束符temp[i] = '\0';// 反转字符串到输出缓冲区int j = 0;while (i > 0) {str[j++] = temp[--i];}str[j] = '\0'; // 确保字符串正确终止
}

题目7

图为矩阵按键,请说明键值判断的具体操作流程。

首先将矩阵键盘的行列线细分为行线和列线。将行线配置为输出模式,列线配置为输入模式

开始扫描,第一步将第一行设置为低电平,其余行设置为高电平。读取所有列的电平状态,如果有一列线为低电平。说明对应行线为低电平的列线为低电平的那个按键按下,以此类推。一直重复执行上述步骤;

题目8

图为共阳极7段数码管,如果与MCU的P0端口的硬件连接方式为:P0.0-h,P0.1-a,P0.2-b,P0.3-c,P0.4-d,P0.5-e,P0.6-f,P0.7-8:那么显示数据5,P0 需要赋值多少?

根据题目中给出的硬件连接方式:P0.0 - h(本题未涉及h段,可默认熄灭),P0.1 - a,P0.2 - b,P0.3 - c,P0.4 - d,P0.5 - e,P0.6 - f,P0.7 - g。

P0端口赋值为:01001001;

题目9

红外解码电路中,IO口分配需要注意什么?请说明解码的具体操作流程。

在红外解码电路中,IO口分配要注意电平兼容、抗干扰能力、优先选支持中断的口以提升实时性且避免资源冲突。解码时先初始化配置IO口及中断,检测到信号后测量电平跳变时间间隔,再按特定红外编码协议解析数据以获取有效信息。

题目10

下列为一组采集AD 的数据 char ad[10]=(50,51,49,80,52,48,50,10,51,49);需要对数据进行滤波处理,请说明具体的操作流程。

采集的数据可以明显的观察出ad[4]=80,ad[8]=10;这两个数据为异常数据;

先采用排序算法实现从小到打排序,在取中间值为滤波后的值。

题目11

如果在一个新项目中用到自己不熟悉的模块,比如WIFI模块,该如何处理?

在一个新项目中接触到自己不熟悉的模块

首先我要查询官方数据手册,对该芯片各个引脚和该芯片支持的通讯协议做充分的了解。

在观看官方提供的示例代码或在开源社区平台如CSDN上查看示例代码。

对该某块的各个功能模式进行基本的配置。

在最后进行不断的测试,使其逐渐掌握该模块


制作不易!喜欢的小伙伴给个小赞赞!喜欢我的小伙伴点个关注!有不懂的地方和需要的资源随时问我哟!

注意事项

在深圳遇到这家公司的笔试题跟我这个一样题型一模一样。大家一定要慎重进入这家公司,可以进入小红书APP搜索这家公司的名字。大家就知道原由啦,这里本博主就不说公司名称。小伙伴自行搜索

http://www.xdnf.cn/news/1272475.html

相关文章:

  • 腾讯COS云存储入门
  • 原创邮件合并Python工具使用说明(附源码)
  • 安装NodeJS和TypeScript简要指南
  • 东方心绣脸启幕26周年盛典:以匠心锚定百年基业
  • 百度网盘自动启动如何关闭,关闭智能看图
  • AI推理的“灵魂五问”:直面2025算力鸿沟与中国的破局之路
  • 模拟人脑处理文本——从分句到分词,从段落到时间线叙事
  • 【Datawhale AI夏令营】让AI读懂财报PDF(多模态RAG)(Task 2)
  • 《汇编语言:基于X86处理器》第12章 复习题和练习
  • 《励曼旋耕》Liman Rotary Tillage
  • 202506 电子学会青少年等级考试机器人五级器人理论真题
  • JVM相关(AI回答)
  • 云渲染的未来已来:渲酷云如何重新定义数字内容生产效率
  • [CUDA] CUTLASS | C++ GEMM内核--高度模板化的类
  • 基于STM32H5的循环GPDMA链表使用
  • C语言指针完全指南:从入门到精通
  • C++虚函数表实现机制以及用C语言对其进行的模拟实现(加入了自己的思考和笔记)
  • 轻松Linux-5.进程控制
  • Linux文件系统基石:透彻理解inode及其核心作用
  • 复现论文关于3-RPRU并联机器人运动学建模与参数优化设计
  • 智慧农业-无人机视角庄稼倒伏农作物倒伏识别分割数据集labelme格式541张1类别
  • java基础(六)jvm
  • 12. “static关键字是什么意思”,Java中是否可以覆盖(override)一个private或者是static的方法
  • drippingblues靶机
  • 06-docker容器常用命令
  • 浏览器自动播放策略
  • AtCoder Beginner Contest 418
  • 嵌入式知识日常问题记录及用法总结(一)
  • Level-MC 11“天空”
  • 【动态数据源】⭐️@DS注解实现项目中多数据源的配置