单片机面试

单片机面试

  • 1.预处理&关键字
  • 2.数据类型
  • 3.内存管理
  • 4.裸机

1.预处理&关键字

1.1 宏定义是在编译的哪个阶段被处理的?
答案:宏定义是在编译预处理阶段被处理的。
预处理包含:头文件包含,宏替换,条件编译,去除注释,添加行号。
1.2写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

#define MIN(A,B)  ((A)>(B) ? (B):(A))

1.3已知数组table,用宏求数组元素个数。

#define  COUNT(table)  (sizeof(table) / sizeof(table[0]))  

1.4带参宏和函数的区别?
1.带参宏在预处理阶段进行了文本替换,比函数运行要快,内存占用较大。
2.函数调用的时候会分配临时内存,运行时间大(因为需要分配单元,保留现场,值传递,返回等),同时宏不存在类型问题,宏名和宏参数无类型,而函数的实参和形参都有定一类型。
1.5关键字volatile的作用是什么?
告诉编译器不要去优化这个变量的值,因为这个变量可能会被意想不到地改变。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。
1.6如何用C语言实现读写寄存器变量?

#define rBANKCON0  (*(volatile unsigned long *)0x48000004) 
rBANKCON0 = 0x12;

1.7在C语言中,凡是以#开头的都是预处理命令,同时预处理命令都是以#开头的
1.8 关键字static的作用是什么?
1.修饰句柄变量:1.改变其存储位置,存在静态区。2.改变其生命周期为整个源程序,不会应函数调用结束而失去值。
2.修饰全局变量:修改其作用域为本.c文件,不允许其他文件进行调用。
3.修饰函数:改变了其作用域,只可被本.c文件内的其它函数调用。
下面是关键字const的使用示例,请说明它们的作用

1const int a;           // a是一个整形常量  
    int const a;           // a是一个整形常量  2const int *a;          // a是一个指向整型常量的指针变量  
    int * const a;         // a是一个指向整型变量的指针常量  
    int const * const a = &b;  // a是一个指向整型常量的指针常量  3char *strcpy(char 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/916150.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊低价商城上线,低价策略能否撬动市场?

经过长达五个多月的筹备,亚马逊终于在其移动端正式推出了备受瞩目的低价商城。11月12日,用户只需在亚马逊APP中搜索“Haul”,即可轻松找到这座充满吸引力的购物殿堂。商城的界面设计简洁直观,其后缀寓意着“以更少的支出&#xff…

【C++】string类(附题)

一、为什么学习string类? 1.1 C语言中的字符串 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列 的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想&…

AIHub: 模型和数据集的私有云存储库

AIStor 的最新功能之一是广受欢迎的开源项目 Hugging Face 的私有云版本。这篇文章详细介绍了 AIStor 的 AIHub 如何有效地创建一个完全由企业控制的 API 兼容的私有云版本的 Hugging Face。在我们开始之前,介绍 Hugging Face 是有意义的。Hugging Face 是面向 AI 工…

激增400%!GPS欺骗成全球大患,此题何解?

据网络安全研究人员称,GPS欺骗这种可使商用客机偏离航线的数字攻击形式近期激增400%。数据显示,在今年部分时间里,甚至有多达1350架航班遭遇GPS“欺骗”。 GPS欺骗 — 关键是时间,而不仅仅是位置 GPS系统作为目前使用时间最长、应…

二维费用背包问题

1. 一和零 474. 一和零 题目中是在一个字符串数组中找出一个最大子集,满足 0 和 1 的个数不超过给定的值,这和之前的背包问题不一样的是,这里有两个限制条件,也就是二维费用背包问题,同时,这道题也是一道 …

React Query在现代前端开发中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 React Query在现代前端开发中的应用 React Query在现代前端开发中的应用 React Query在现代前端开发中的应用 引言 React Query …

【EmbeddedGUI】脏矩阵设计说明

脏矩阵设计说明 背景介绍 一般情况下,当屏幕内容绘制完毕后,实际应用通常需要更新屏幕中的一部分内容,而不是单纯显示一个静态图片在那。 如下图所示,屏幕中有一个图片控件(Img2)和一个文本控件&#xf…

【stable diffusion模型】Stability AI出官方教程了,带你轻松玩转Stable Diffusion 3.5

前言 提示(prompt)是有效使用生成式 AI 图像模型的关键技巧。提示的结构直接影响生成的图像的质量、创造力和准确性。 今日凌晨,Stability AI 发布了 Stable Diffusion 3.5 的提示指南。该指南提供了 Stable Diffusion 3.5 的实用提示技巧&a…

docker安装到D盘

双击安装docker默认是安装在c盘,并且安装时我们没法选择位置,如果我们要安装在其他盘可以通过命令行安装 1、下载docker https://docs.docker.com/desktop/setup/install/windows-install/ Docker Desktop 可以使用 WSL 和 Hyper-V任意一种架构&#xf…

11.11机器学习_介绍和定义

一、 机器学习介绍与定义 1. 机器学习定义 机器学习(Machine Learning)本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测。 机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习(Deep…

ssm111基于MVC的舞蹈网站的设计与实现+vue(论文+源码)_kaic

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,舞蹈网站当然也不能排除在外。舞蹈网站是以实际运用为开发背景,运用软件工程开发方法,采用Java技…

蓝桥杯c++算法学习【2】之搜索与查找(九宫格、穿越雷区、迷宫与陷阱、扫地机器人:::非常典型的必刷例题!!!)

别忘了请点个赞收藏关注支持一下博主喵!!! 关注博主,更多蓝桥杯nice题目静待更新:) 搜索与查找 一、九宫格 【问题描述】 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三 …

【Windows 常用工具系列 20 -- MobaXterm 登录 WSL】

文章目录 MobaXterm 登录 WSL MobaXterm 登录 WSL 在 WSL 启动之后,打开 MobaXterm: 在 Distribution 中选择自己本地安装的 ubuntu 版本,我这里使用的是ubuntu-20.4,然后在 runmethod 中选择 Localhost connection. 连接成功之…

ReactPress 安装指南:从 MySQL 安装到项目启动

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 ReactPress 是一个基于 React 的开源发布平台,适用于搭建博客、网站或内容管理系统(CMS)。本文将详细介绍如何安装 ReactPress,包括…

STM32 使用 STM32CubeMX HAL库实现低功耗模式

STM32 使用 HAL 库的低功耗模式测试使用 ...... 矜辰所致前言 上次画了一个 STM32L010F4 最小系统的板子,也做了一些基本测试,但是最重要的低功耗一直拖到现在,以前在使用 STM32L151 的时候用标准库做过低功耗的项目,现在都使…

NVR小程序接入平台/设备EasyNVR多个NVR同时管理设备接入:海康NVR 3.0提示不在线如何处理?

在视频监控领域,设备的兼容性和互操作性一直是用户关注的重点。海康NVR管理平台EasyNVR作为一款轻量级的视频监控平台,凭借其强大的兼容性、可扩展性和丰富的功能,成为了公共安全领域“云平台”解决方案的杰出代表。然而,在实际应…

【C语言】Union

一.Union的用法 1.什么是Union? union 共用体名{ 成员列表 }; union,“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。 2.为什么使用union&#xff1…

2023_Spark_实验十五:SparkSQL进阶操作

实验目标 通过实践掌握Spark SQL中复杂查询(包括子查询、窗口函数、联接等)的实现方式。了解如何通过合理的数据分区和缓存策略进行性能优化。实现一个基于Spark SQL的ETL数据处理流程,应用相关优化技巧。 实验背景 在本实验中&#xff0c…

PaoluGPT——窥视未知

上一题已经得到一个flag,还有一个flag 根据题目信息,说明还有一些聊天记录是没有公开的,另一个flag就在这些未公开的聊天记录中 下载题目附件看看,发现里面有个main.py: 可以看到有两条SQL查询语句,猜测应该…

初识C++ (三)

如果很迷茫的话,就学习吧 引用 一. 引用的概念 “引用(Reference)是 C 相对于C语言的又一个扩充。引用可以看做是数据的一个别名,通过这个别名和原来的名字都能够找到这份数据。 具体是什么意思呢? 我们这里来举个例子 比如:李逵&#xff0…