我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【嵌入式笔试】嵌入式笔试题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【嵌入式笔试】嵌入式笔试题

📜作者:不想脱发的基兄

📺专栏:《嵌入式面试

📣格言:这个世界上肯定有另一个我,做着我不敢做的事,过着我想过的生活。

前言

2022年秋招我面试嵌入式MCU开发方向,经过了多场的笔试与面试,在准备的过程中看了非常多的资料,我的汇总的笔记一直写在有道云笔记中,没有分享出来。现在已经到了23年春招了,特此整理后分享出来。资料看过了觉得不错就保存下来了,如果有不对的地方,欢迎批评指正,侵权联删!

1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

#define YEAR_SEC 365*24*3600UL 

2. 写一个“标准"宏MAX,这个宏输入两个参故并返回较大的一个

#define MAX(a,b) ((a)>(b))?(a):(b)

3. 已知一个数组 table,用一个宏建义,求出数据的元素个数

#define LEN(a) sizeof(a)/sizeof(a[0])

4. 如何在两个c文件中访间对方的静态变量和全局变量?

答:静态变量被修饰之后,能跨文件访问,普通的全局变量可以利用extern关键字做外部声明。静态变量可以通过使用定义函数的结构,跨文件获取静态变量的值。
例:

// utils.hextern int getStaticVar();// utils.c#include "utils.h"static int staticVar = 10;int getStaticVar() {    return staticVar;}// main.c#include #include "utils.h"int main() {    int var = getStaticVar();    printf("Static var is %d", var);    return 0;}

在这个例子中,utils.h 头文件声明了 getStaticVar() 函数。utils.c 实现了这个函数,并定义了一个静态变量 staticVar。这个静态变量不能通过在头文件中声明而直接访问,因此需要提供一个函数 getStaticVar() 来获取这个变量的值。在 main.c 文件中,我们包含了头文件并使用 getStaticVar() 函数来获取静态变量的值。

5. 关键字volatile有什么含意,并给出三个不同的例子?

答:
(1)含义:volatile是让处理器在访问修饰的变量时不能进行优化处理,需要小心访问该变量;
(2)使用方式

  • 某函数与中断函数共享全局变量时,需要使用volatile修饰;
  • 多线程操作时,多个线性共享一个全局变量,使用volatile修饰;
  • 裸机编程,变量指向某一地址,需要使用volatile修饰。

6. 用变量a给出下面的定义

(1)一个整型数
(2) 一个指向整型数的指针
(3)一个指向指针的指针,它指向的指针是指向一个整型数
(4) 一个有10个整型数的数组
(5)一个有10个指针的数组,该指针是指向一个整型数的
(6)一个指向有I0个整型数数组的指计
(7)一个指向函数的指针,该函数有一个整型参数并返回一个整型数
(8)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
参考答案

    int a;//整型数    int *b = &a;//指向整型数的指针    int **c = &b;//指向指针的指针    int d[10];//一个有10个整型数的数组    int *e[10];//一个有10个指针的数组    int (*f)[10];//一个指向有I0个整型数数组的指计    int *g(int);//一个指向函数的指针    int (*h[10])(int);//一个有10个指针的数组

7. 函数fiunc输入参数为0x12345678时的返回值为多少?写出你对函数fune的理解。

题目代码

unsigned long func(unsigned long dat){    unsigned long t = 0;    while(dat)    {        dat&=dat - 1;        t++;    }    refurn t;}

答:

(1)返回值:返回dat转换为2进制有多少个1的个数。
(2)功能:dat经过多少次与自己本身减1进行位与之后变为0,返回值是dat转换为二进制里面有多少个1的个数。

8、用C语言设计一个函数,对指定的数组排序(从小到大,用2种方法)

例1:冒泡排序

void maopao(int a[],int len){    int i,j,t;    for(i=0; i<len;i++)        {        for(j=i+1; j<len;j++)        {            if(a[i]>a[j])            {                t = a[i];                a[i] = a[j];                a[j] = t;            }        }    }}

例2:快速排序

int partition(int numbers[], int len)    //递归实现{    int tmp = numbers[0];    int low = 0;    int high= len-1;    while(low < high)    {        while(low<high && tmp<=numbers[high]) high--;        numbers[low] = numbers[high];        while(low<high && numbers[low]<=tmp) low++;        numbers[high] = numbers[low];    }    numbers[low] = tmp;    return low;}void quick_sort(int numbers[], int len){    if(len <= 1)        return;    int pivot = partition(numbers, len);    quick_sort(numbers, pivot);    quick_sort(numbers+pivot+1, len-pivot-1);}

9. 在嵌入式系统中串口数据接收时,通常会将接收到的字节数据顺序存入一个数组,有时也会顺序存入一片内存空间。

(1)请用C语言实现串口接收中断服务程序,将接收到的数据依次存入绝对地址0x80000000开始的内存区,如果接收到0xC0,则将接收完成标识整形变量g_flagRxOk置1,以通知主函数做串口数据解析处理,并为下次接收做好准备。(注:串口接收数据寄存器地址为Oxa0000000)
参考代码

typedef unsigned char uint8_t; typedef unsigned long uint32_t; volatile uint32_t i = 0; void USARTX_IRQHandler(void)   //x根据串口号改变为数字,串口1中断服务程序{    //1个字节产生一次中断     uint8_t d;    if(USART_GetITStatus(USARTX, USART_IT_RXNE) != RESET)  //接收数据寄存器非空中断    {        //接收串口数据        d = *(volatile uint8_t*)0xa0000000;          //读取            *(volatile uint8_t*)(0x80000000+i) = d;    //写入         i++;         //全局变量,主函数做串口数据解析处理后值0        if(d == 0xC0)        {        g_flagRxOk = 1;        }     //清空串口接收中断标志位        USART_ClearITPendingBit(USARTX, USART_IT_RXNE);        }              } 

(2)在大端系统中,假设在0x80000000~0x80000003地址空间存储的数据分别为0x12,0x34,0x56和0x78,请问如果直接32位数据读取操作的读取结果值是多少?
00010010 00110100 01011000

答:大端:读取到0x12345678

参考链接

[1]超详细十大经典排序算法总结(java代码)c或者cpp的也可以明白
[2]嵌入式系统数据存储的大端模式小端模式应用举例0x12345678存储到8000H

本栏前文

[1]【嵌入式面试】2022年嵌入式经典面试题汇总(C语言)
[2]【嵌入式面试】2022年嵌入式经典面试题汇总(数据结构)
[3]【嵌入式面试】2022年嵌入式经典面试题汇总(Linux | 文件IO)
[4]【嵌入式面试】2022年嵌入式经典面试题汇总(系统编程)
[5]【嵌入式面试】2022年嵌入式经典面试题汇总(网络编程)

来源地址:https://blog.csdn.net/qq_44330858/article/details/129234004

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【嵌入式笔试】嵌入式笔试题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

嵌入式Linux学习笔记—fastboot烧写Android

本系列为本人在自学过程中的学习笔记,如有错误欢迎大家指正。 学习资料为讯为ITOP4412开发板。 fastboot烧写Android 1、主要工具 OTG 接口烧写方式也叫 fastboot 烧写方式。 硬件:开发板、OTG线。 软件:文
2022-06-06

2024年软考嵌入式系统设计师考试机考还是笔考

嵌入式系统设计师考试作为一项技术性较强的考试,其考试内容不仅包括理论知识,还包括大量的实践操作,如编程、系统设计等。2024年软考嵌入式系统设计师考试机考还是笔考?具体请见下文。
2024年软考嵌入式系统设计师考试机考还是笔考
2024-04-24

嵌入式系统设计师考试大纲

      2017年嵌入式系统设计师考试大纲会进行改版吗?目前并没有考试大纲要改版的消息出来,仍旧采取2013年11月出版的版本,打算参加2017年嵌入式系统设计师考试的考生,可放心,仍旧以2013年版本为准。嵌入式系统设计师考试大纲详情如下:   &nbs
嵌入式系统设计师考试大纲
2024-04-18

嵌入式美学:让 HTML 成为你的设计画笔

嵌入式美学赋予 HTML 成为设计画布,拓展了网页设计的可能性,将内容与形式无缝融合。
嵌入式美学:让 HTML 成为你的设计画笔
2024-03-04

嵌入式系统设计师考试是不是全国统一试题

  嵌入式系统设计师属于软考,是全国统一试题。软考是由国家人力资源和社会保障部(原人事部)、工业和信息化部(原信息产业部)领导的国家级考试,各省的软考试卷都是统一的。  虽然各省软考嵌入式系统设计师考试报名时间有所不同,但是考试时间安排以及软考试卷这些都是全国统一的,没有地区之分。  根据《计算机技术与软件专业技术资格
嵌入式系统设计师考试是不是全国统一试题
2024-04-18

嵌入式设计师考几门?软考中级嵌入式系统设计师考试科目

嵌入式设计师考几门?软考中级嵌入式设计师考试科目有哪些?软考中级嵌入式系统设计师考试科目有2个,一个是基础知识,题型为单选题,另一个是应用技术,题型为案例分析题,两个科目的满分均为75分。
嵌入式设计师考几门?软考中级嵌入式系统设计师考试科目
2024-07-29

嵌入式系统设计师是全国统一试题吗

  嵌入式系统设计师是全国统一试题,嵌入式系统设计师属于软考,软考是由国家人力资源和社会保障部(原人事部)、工业和信息化部(原信息产业部)领导的国家级考试,是全国统一考试。  嵌入式系统设计师属于软考,软考为全国统考,是全国统一试题。根据《计算机技术与软件专业技术资格考试暂行规定》第八条相关规定:凡遵守中华人民共和国宪
嵌入式系统设计师是全国统一试题吗
2024-04-18

Go 嵌入式开发

嵌入式 go 开发使用 go mod init 创建项目。指定目标架构进行交叉编译:goos 和 goarch。使用 runtime/cgo 和 runtime/volatile 与硬件交互,以及 github.com/d2r2/go-i2
Go 嵌入式开发
2024-04-08

嵌入式 Go 编程

嵌入式 go 编程因其并行性、低内存占用、方便的工具以及内置硬件支持而适用于嵌入式系统。实战案例:使用 go 在 raspberry pi 上闪烁 led 灯,代码包括引脚配置、循环和 gpio 操作。嵌入式 Go 编程Go 是一种流行的
嵌入式 Go 编程
2024-04-08

2024年嵌入式系统设计师考试大纲

准备报名2024年软考嵌入式系统设计师考试的考生都很关注考试大纲,目前并没有2024年嵌入式系统设计师考试大纲改版的相关通知,以下为大家整理了往年软考嵌入式系统设计师考试大纲,供大家参考。一、考试说明1、考试目标通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规
2024年嵌入式系统设计师考试大纲
2024-04-02

2023年嵌入式系统设计师考试时间

  2023年嵌入式系统设计师考试时间是什么时候?不少考生准备报名2023年软考嵌入式系统设计师考试,那么2023年嵌入式系统设计师什么时候考试呢?  软考嵌入式系统设计师每年安排一次考试,根据往年嵌入式系统设计师考试时间安排来看,编程学习网小编预计2023年嵌入式系统设计师考试时间在5月27日,具体请考生以软考办官网公布
2023年嵌入式系统设计师考试时间
2024-04-19

2023年嵌入式系统设计师考试大纲

准备报名2023年软考嵌入式系统设计师考试的考生都很关注考试大纲,目前并没有2023年嵌入式系统设计师考试大纲改版的相关通知,以下为大家整理了往年软考嵌入式系统设计师考试大纲,供大家参考。一、考试说明1、考试目标通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规
2023年嵌入式系统设计师考试大纲
2024-04-02

2022年嵌入式系统设计师考试大纲

  很多考生准备报名2022年嵌入式系统设计师考试,编程学习网小编为大家整理了软考嵌入式系统设计师考试大纲,供大家参考。  嵌入式系统设计师考试大纲在2020年进行了改版,考生可以购买新版考纲进行复习,以下编程学习网小编为大家整理了往年嵌入式系统设计师考试大纲内容,供大家参考。  一、考试说明  1、考试目标  通过本考试的合
2022年嵌入式系统设计师考试大纲
2024-04-19

2018年嵌入式系统设计师考试大纲

  对于想参加2018年嵌入式系统设计师的朋友来说,考试大纲是非常重要的。那么2018年嵌入式系统设计师考试大纲主要有哪些?会不会有什么变化呢?  目前暂时没有嵌入式系统设计师考试大纲改版的消息出来,所以想要参加2018年嵌入式系统设计师的考生们可以先参考2017年的标准,一般来说不会有很大变化。  
2018年嵌入式系统设计师考试大纲
2024-04-18

2021年嵌入式系统设计师考试大纲

  很多考生准备参加2021年嵌入式系统设计师考试,今天编程学习网小编为大家整理了嵌入式系统设计师考试大纲,供大家备考复习。  2020年嵌入式系统设计师考试大纲进行了改版,考生可以购买新版考纲进行复习,以下编程学习网小编为大家整理了往年嵌入式系统设计师考试大纲内容,供大家参考。  一、考试说明  1、考试目标  通过本考试的
2021年嵌入式系统设计师考试大纲
2024-04-18

嵌入式系统设计师是职称考试吗

  是的。嵌入式系统设计师是以考代评,通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务。  嵌入式系统设计师属于软考,软考全称计算机技术与软件专业技术资格(水平)考试,是由国家人力资源和社会保障部(原人事部)、工业和信息化部(原信息产
嵌入式系统设计师是职称考试吗
2024-04-19

Go 的嵌入式应用

go 中的嵌入式应用go 语言适用于嵌入式应用开发,其通常在受限设备上运行。要开始使用,需安装 go 工具链和 tinygo 编译器。嵌入式 go 应用代码结构包括 main.go(入口点)、board.go(硬件板代码)和 app.go(
Go 的嵌入式应用
2024-04-08

嵌入式系统设计师考试是什么目标

  嵌入式系统设计师属于软考中级资格考试,通过嵌入式系统设计师考试的合格人员应能编写系统开发规格说明书等相应的文档,能开发出符合系统总体设计要求的高质量嵌入式系统。  通过嵌入式系统设计师考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规格说明书等相应的文档;组织和指
嵌入式系统设计师考试是什么目标
2024-04-18

编程热搜

目录