当前位置: 首页 > 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.dtcms.com/a/323694.html

相关文章:

  • 关于C语言本质的一些思考
  • PAT 1053 Path of Equal Weight
  • 力扣-41.缺失的第一个正数
  • 三极管在电路中的应用
  • 如何有效追踪您的关键词搜索排名
  • USRP B210 N210 X310 参数对比
  • Vue3 生命周期
  • 【文献阅读】我国生态问题鉴定与国土空间生态保护修复方向
  • 3.5.1_2 信道划分介质访问控制(下)
  • Java 大视界 -- Java 大数据在智能家居场景联动与用户行为模式挖掘中的应用(389)
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘fastai’问题
  • TSMASTER二次开发:TSMaster_On_Event_Demo.py解析
  • 深度学习之张量
  • ros2 单线程与多线程
  • MySQL相关概念和易错知识点(4)(分组查询、连接查询、合并查询、子查询)
  • M8-11 RFID模块通过RS485转Profinet网关与PLC通信的配置指南
  • springboot 2.4跨域变化和swagger结合的问题
  • 智能的本质
  • 递归---记忆化搜索
  • 前端Web在Vue中的知识详解
  • 【MySQL】事务的基本概念
  • 智慧物流仓储分拣:陌讯多模态识别方案让准确率↑29.3% 实战解析
  • js零基础入门
  • 零基础-动手学深度学习-10.1. 注意力提示
  • vs2022编译Activemq
  • AnyDesk远程工具免费版,v9.5.110绿色便携版,秒连远程桌面,剪贴板同步超实用
  • 网络管理实战
  • B.10.01.6-DDD领域驱动设计:从理论到落地的完整指南
  • 【LLM实战|langgraph】langgrpah基础
  • WD5030A 芯片,24V降12V,输出电流15A,高度集成实现高效能与低成本的完美平衡