C/C++模块化程序设计:函数与调用
版权申诉
2 浏览量
更新于2024-07-03
收藏 481KB PPT 举报
"C/C++程序设计的第五章主要讲解了模块化程序设计的概念和方法,包括函数的定义、参数、调用以及不同类型的变量。这一章涵盖了模块化编程的核心要素,帮助开发者理解如何通过函数组织代码,提高代码的可读性和复用性。
5.1概述
模块化程序设计是一种将复杂问题分解为多个独立模块的方法,每个模块(在C/C++中通常表现为函数)解决一个小问题,然后组合这些模块来解决整个问题。系统提供的函数库包含标准函数,用户可以利用这些函数避免重复编写代码。C语言中的函数是平行的,可以互相调用但不能嵌套,分为标准函数和自定义函数,且有无参数之分。
5.2函数定义的一般形式
函数定义包括无参函数和有参函数两种形式。无参函数的定义只需函数名和花括号,而有参函数需要指定参数列表。函数名前的类型标识符表示函数返回值类型,函数体内部包含了函数的执行逻辑。无返回值的函数可以用void关键字标识,"空函数"则不执行任何操作,主要用于预留位置以备未来扩展。
5.3函数参数和函数的值
函数参数分为形式参数(形参)和实际参数(实参)。在函数调用时,实参向形参传递数据,这种传递是"值传递",即单向不可逆。形参在调用前后不占用固定存储空间,实参可以是常量、变量或表达式,但其类型必须与形参一致。
5.4函数的调用
通过函数名和参数列表调用函数,如`c=max(a,b)`,其中`max`是函数名,`a`和`b`是实参,`c`用于接收函数返回值。
5.5函数的嵌套调用
尽管C语言的函数不能嵌套定义,但可以嵌套调用,即在一个函数的执行过程中调用另一个函数。
5.6函数的递归调用
函数可以调用自身,这就是递归调用。每次调用都会创建新的函数调用栈帧,直到满足某个停止条件。
5.7局部变量和全局变量
局部变量在函数内部声明,仅在该函数内有效;全局变量在整个程序范围内都可见,可以在多个函数中使用。
5.8动态存储变量与静态存储变量
动态存储变量在运行时分配内存,如使用`malloc`或`calloc`等函数;静态存储变量在编译时分配内存,其生命周期贯穿整个程序运行。
5.9内部函数和外部函数
内部函数(static修饰的函数)只在当前源文件中可见,外部函数则可以在多个文件间共享。
5.10编译预处理
编译预处理包括宏定义、文件包含和其他预处理器指令,它们在编译阶段处理源代码。
5.11“文件包含”处理
`#include`指令用于将一个文件的内容插入到当前文件中,实现代码复用。
5.12条件编译
条件编译允许根据特定条件选择性地编译部分代码,如`#ifdef`, `#ifndef`, `#if`, `#else`, `#endif`等指令。
通过以上内容,学习者可以掌握C/C++中模块化程序设计的基本概念和技巧,从而编写出结构清晰、易于维护的代码。
2022-11-12 上传
2009-07-15 上传
2010-04-22 上传
2021-09-19 上传
2022-02-12 上传
2022-06-24 上传
2022-06-20 上传
2010-12-19 上传
2022-11-12 上传
omyligaga
- 粉丝: 97
- 资源: 2万+
最新资源
- 基于ECharts的数据可视化项目.zip
- 解决问题的能力---一般:各种问题的一般问题解决,算法
- 电气设备新能源行业点评:特斯拉,全年销量目标达成,产能建设提速.rar
- study-with-me
- chris-od.github.io
- 基于Flask,Vue.js 2.0的 学生综合素质可视化系统 后端项目.zip
- ToDo-MEAN:MEAN 堆栈上的简单待办事项应用程序
- covid19
- do-client:投放优化客户端组件
- Apps:使用Userfeeds平台的前端应用
- php-playground:应用了有趣的php oop原理
- imository:我正在创建用于创建网页的摘要页面
- 光信道matlab代码-ISRSGNmodel:ISRSGN模型
- 基于Canal的MySQL数据同步中间件.zip
- 行业文档-设计装置-一种利用全废纸生产防火板芯纸的系统.zip
- html-css-spotifyweb