STM32数据手册:函数参数传递分析与程序段解析
需积分: 20 155 浏览量
更新于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语言编程和数据处理有重要价值。
2024-08-30 上传
2019-08-13 上传
2021-09-11 上传
2020-12-11 上传
451 浏览量
770 浏览量
168 浏览量
443 浏览量
214 浏览量
臧竹振
- 粉丝: 48
- 资源: 4053
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新