第7章_用函数实现模块化程序设计_
更新时间:2023-05-17 18:18:01 阅读量: 实用文档 文档下载
- 第7章用器灵做威胁推荐度:
- 相关推荐
问题: 如果程序的功能比较多,规模比较大,把所有代 码都写在main函数中,就会使主函数变得庞杂、 头绪不清,阅读和维护变得困难 有时程序中要多次实现某一功能,就需要多次重 复编写实现此功能的程序代码,这使程序冗长, 不精炼
解决的方法:模块化程序设计的思路 “组装” 事先编好一批实现各种不同功能的函数 每一个函数用来实现一个特定的功能 函数的名字应反映其代表的功能 把它们保存在函数库中,需要时直接用
第7章 用函数实现模块化程序设计
C程序可由一个主函数和若干个其他函数构成
主函数调用其他函数,其他函数也可以互相调用 同一个函数可以被一个或多个函数调用任意多次
main
ad e f e
bg h
ci
可以使用库函数
可以使用自己编写的函数 在程序设计中要善于利用函数,可以减少 重复编写程序段的工作量,同时可以方便 地实现模块化的程序设计
例7.1 输出以下的结果,用函数调用实现。
******************How do you do!
******************
解题思路: 在输出的文字上下分别有一行“*”号,显然不 必重复写这段代码,用一个函数print_star来 实现输出一行“*”号的功能。 再写一个print_message函数来输出中间一 行文字信息
用主函数分别调用这两个函数
#include <stdio.h> 声明函数 int main() { void print_star(); void print_message(); 调用函数 print_star(); print_message(); print_star(); 定义函数 return 0; } void print_star() { printf(“******************\n”); } void print_message() { printf(“ How do you do!\n”); }
#include <stdio.h> int main() { void print_star(); void print_message(); print_star(); print_message(); print_star(); return 0; } void print_star() { printf(“******************\n”); } void print_message() { printf(“ How do you do!\n”); }
C语言要求,在程序中用到的所有函数, 必须“先声明,再定义,后使用”
7.2 怎样定义函数 函数名字、函数返回值类型、函数实现 的功能以及参数的个数与类型 函数名字——以便以后按名调用
函数类型——函数返回值的类型 函数参数的名字和类型——以便在调用 函数时向它们传递数据 函数的功能——函数的具体实现
定义函数的方法1.定义无参函数
函数名后面的括号中是空的,没有任何参数类型名 函数名()
类型名 函数名(void){
{函数体 }
函数体}
2.定义有参函数类型名 函数名(形式参数表列)
{函数体 }
3. 定义空函数:函数体是空的类型名 函数名( ){ }
在编写程序的开始阶段,先用空函数占 住一个位置,只是这些函数暂时还未编 写好,这样做,以后扩充
新功能方便, 对程序结构影响不大。
7.3 调用函数定义函数的目的是为了调用函数。
7.3.1函数调用的形式 函数调用的一般形式为:
函数名(实参表列) 如果是调用无参函数,则“实参表列” 可以没有,但括号不能省略 如果实参表列包含多个实参,则各参数 间用逗号隔开
按函数调用在程序中出现的形式和位置 来分,可以有以下3种函数调用方式:
1. 函数调用语句 把函数调用单独作为一个语句
如printf_star(); 这时不要求函数带回值,只要求函数完 成一定的操作
2. 函数表达式
函数调用出现在另一个表达式中如c=max(a,b);
这时要求函数带回一个确定的值以参加 表达式的运算
3. 函数参数 函数调用作为另一函数调用时的实参 如m=max(a,max(b,c)); 其中max(b,c)是一次函数调用,它的 值作为max另一次调用的实参
实参和形参间的数据传递 在调用有参函数时,主调函数和被调用函 数之间有数据传递关系 定义函数时函数名后面的变量名称为“形 式参数”(简称“形参”) 主调函数中调用一个函数时,函数名后面 参数称为“实际参数”(简称“实参”)
正在阅读:
第7章_用函数实现模块化程序设计_05-17
通达信公式 - 图文06-25
传统文化公益讲座致辞02-11
同一场所多单位作业风险评价及控制措施07-12
机房UPS设计方案09-05
如何提升企业市场调研部门的影响力07-11
传统文化与现代经营管理 完美答案05-28
办公室主任工作计划书格式01-13
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 模块化
- 程序设计
- 函数
- 实现
- 严防操作机构连续动作,造成不能合闸的现象(2021年)
- 大学生暑期实习报告范文
- 大众传媒与社会性别观念的传播
- 如何培养幼儿的自我保护能力
- 计算机硬件技术基础 实验报告四
- 驿道一期风机施工进度
- 2015-2016学年度新人教版四年级数学上册1-7复习试题(6套)
- 《伯牙绝弦》我的教案
- 鉴别植物种类的一把钥匙_检索表
- 念奴娇赤壁怀古说课稿
- 长沙市长沙县中考二模物理试卷
- 最新部编版六年级下册语文(教案与教学反思)古诗词诵读 8卜算子
- 5 数字控制器设计
- 英国CITY抗中毒可燃气体传感器CAT16
- 2016年乌鲁木齐职称继续教育
- 2011年7月到2012年6月时事政治
- 房地产公司企业战略分析案例
- 电信-营业员3G认证题库
- 2015周口专业技术人员积极心理健康的培养(最全答案)
- 14—15学年度第一学期五年级数学第二阶段练习