STM32数据手册:函数参数传递分析与程序段解析
需积分: 15 66 浏览量
更新于2024-08-09
收藏 551KB PDF 举报
"通过函数的参数显式传递-stm32数据手册"
本文主要讨论了三种数据传递方式:直接使用`scanf`和`printf`、通过函数参数传递以及通过全局变量传递,并分析了它们的优缺点。此外,还涉及了程序段中语句的执行频度问题以及数据结构和C语言相关知识,包括数据结构的基本概念和抽象数据类型的定义。
首先,直接使用`scanf`和`printf`进行输入输出,这种方式直观易懂,但需要处理复杂的格式控制,错误处理难度较大,一旦出错可能导致系统崩溃。相比之下,通过函数参数传递数据可以提高程序的模块化,减少错误的可能性,因为数据只在函数内部可见,有利于信息的隐藏和封装。然而,全局变量的使用虽然使得数据访问方便,仅需修改变量值,但过多的全局变量会降低代码的可读性和可维护性,因为它们可以在程序的任何地方被修改。
接下来,我们分析了四个程序段中带有前置记号`@`的语句的执行频度:
1. 在第一个程序段中,`@k += 10*i`的执行频度为`n-1`次,因为`while`循环在`i`从1递增到`n-1`时执行。
2. 第二个程序段中,`@k += 10*i`的执行频度也是`n-1`次,尽管使用的是`do-while`循环,但循环体内的语句仍会在`i`从1递增至`n-1`时执行相同次数。
3. 在第三个程序段中,`@k += 10*i`的执行频度比前两个少一次,因为它位于`i++`之后,所以`i`已经增加了一次,因此执行频度为`n-2`次。
4. 最后一个程序段是嵌套循环,`@k++`的执行频度是两层循环的乘积,即`n*(n+1)/2`次。
在数据结构方面,介绍了基本术语,如数据、数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。数据结构是数据元素的组织形式,存储结构则关注如何在计算机内存中表示这些结构。数据类型定义了值的集合和允许对这些值执行的操作,而抽象数据类型更进一步,它包括数据的逻辑结构和定义在这些数据上的操作,但不涉及具体的实现细节。
最后,讨论了如何定义抽象数据类型,例如复数和有理数。复数的抽象数据类型包括实部和虚部,而有理数则由分子和分母组成,且分母非零。这些定义提供了操作这些数据类型的接口,如初始化、销毁、获取和设置元素值,以及检查元素是否按升序排列等。
总结来说,本文涵盖了数据传递方式的选择、程序执行效率分析和数据结构的基础知识,对于理解C语言编程和数据处理有重要价值。
260 浏览量
192 浏览量
2021-02-22 上传
1323 浏览量
440 浏览量
447 浏览量
387 浏览量
400 浏览量
点击了解资源详情
臧竹振
- 粉丝: 48
- 资源: 4072
最新资源
- Haskell编写的C-Minus编译器针对TM架构实现
- 水电模拟工具HydroElectric开发使用Matlab
- Vue与antd结合的后台管理系统分模块打包技术解析
- 微信小游戏开发新框架:SFramework_LayaAir
- AFO算法与GA/PSO在多式联运路径优化中的应用研究
- MapleLeaflet:Ruby中构建Leaflet.js地图的简易工具
- FontForge安装包下载指南
- 个人博客系统开发:设计、安全与管理功能解析
- SmartWiki-AmazeUI风格:自定义Markdown Wiki系统
- USB虚拟串口驱动助力刻字机高效运行
- 加拿大早期种子投资通用条款清单详解
- SSM与Layui结合的汽车租赁系统
- 探索混沌与精英引导结合的鲸鱼优化算法
- Scala教程详解:代码实例与实践操作指南
- Rails 4.0+ 资产管道集成 Handlebars.js 实例解析
- Python实现Spark计算矩阵向量的余弦相似度