第6章_函数与模块化程序设计基础
更新时间:2023-09-05 22:33:01 阅读量: 教育文库 文档下载
- 用函数实现模块化程序设计推荐度:
- 相关推荐
C语言的教师课件,总结
第六章
第6章 模块化程序设计1. 概述:模块,函数,算法 2. 函数的定义与说明(重点) 3. 函数的调用(重点,难点递归调用) 4. 变量的作用域(重点) 5. 变量的存储属性(重点,难点) 6. 编译预处理1
C语言的教师课件,总结
第六章
6.1 概述6.1.1 模块与函数 1.功能模块 求解较小问题的算法和程序称作“功能模 块”, 各功能模块可以先单独设计,然后将求 解所有子问题的模块组合成求解原问题的程 序。 “自顶向下”的模块化程序设计方法: 将一个大问题分解成多个解决小问题的模块 的设计思想。2
C语言的教师课件,总结
第六章
2.由功能模块组成程序的结构图:主控模块
模块1
模块2
模块n
模块1_1
模块1_n
模块2_1
模块2_n
模块n_1
模块n_n
3. 函数:完成相对独立功能的程序3
C语言的教师课件,总结
第六章
【例6-1】输入年月日,计算出该日为该年的第几天。主控模块
输入
求总天数
输出
判断闰年
求某月的天数
图6-2 程序结构图
C语言的教师课件,总结
第六章
程序实现: (1)判断闰年。 int leap(int year) {int lp;lp=(year%4==0&&year%100!=0||year%400==0)?1:0;
return lp; }
C语言的教师课件,总结
第六章
(2)求某月的天数。int month_days(int year,int month) { int ds,d; switch(month) {case 1: case 3: case 5: case 7: case 8: case 10: case 12:d=31;break; case 2:d=leap(year)?29:28;break; default:d=30;} return d; }6
C语言的教师课件,总结
第六章
(3)求天数和。int days(int year,int month,int day) {int i,ds=0; for (i=1;i<month;i++) ds=ds+month_days(year,i); ds=ds+day; return ds; }
C语言的教师课件,总结
第六章
4) 在主函数中分别调用三个函数。void main() { int year,month,day,t_day; printf("Input year-month-day:\n"); scanf("%d-%d-%d",&year,&month,&day); t_day=days(year,month,day); printf("%d-%d-%d is %dth day of the year!\n",year, month,day,t_day); }
注意:在完整的程序中,前三个函数应放在main( )函数之前。8
C语言的教师课件,总结
第六章
6.1.2 模块设计三个原则 模块独立。 功能独立的子功能 模块之间的关系简单 使用独立变量
模块规模适当 分解模块要注意层次 对问题抽象化 设计时细化
C语言的教师课件,总结
第六章
6.2 函数定义与使用一、标准库函数 定义在不同的头文件中 用户使用时,必须用#include“头文件”把相应的 头文件包含到程序中来。#include <math.h> /* 包含math.h头文件 */ #include <stdio.h> /* 包含 stdio.h 头文件 */ main( ) { double a, b; scanf (“%lf “,&a); /*调用输入函数,输入变量a的值*/ b = sin (a); /*调用sin函数,求sin (a) 的值*/ printf( “%6.4lf”, b); } /*调用输出函数,输出变量b的值*/10
C语言的教师课件,总结
第六章
二、用户自定义函数1. 函数类型 无参函数 函数的定义无参数说明 有参函数 定义的参数有一个或一个以上的参数 空函数 当定义的函数既无参数也无执行语句。 空函数被调用时,什么也不做立即返回其调用函 数。
C语言的教师课件,总结
第六章
2. 函
数定义 方式1函数返回值类型名 函数名(参数列表) 参数类型说明 { 局部变量说明; 如: int max(a,b) 语句序列; } int a,b; 函数返回值类型名 函数名(参数类型说明及参数列表) { 局部变量说明; 语句序列; } 如: int max(int a,int b)12
方式2
C语言的教师课件,总结
第六章
【例6-3】定义符号函数sign。int sign(x)/*函数返回值类型未说明,默认为int,建议给出函数类型说明*/
int x; /*形式参数说明*/ {int y; /*函数体局部变量*/ y=x>0?1:(x==0?0:-1); return y; /*返回函数值*/ } 注意:C语言函数分为两大部分: 函数的说明部分 函数体部分。13
C语言的教师课件,总结
第六章
函数各部分作用1)函数的说明部分 函数说明部分说明函数的类型, 函数名, 参数表 及参数类型。(1)函数的类型说明 函数的类型即函数的返回值类型。若函数不提供返 回值,则可定义其类型为: void。 例如: void putdata(int a) (2) 函数名 函数名又称函数标识符。命名遵循C语语言标识符 的规定;函数名要反映函数完成的功能。14
C语言的教师课件,总结
第六章
(3)参数表参数表写在函数名后的( )内,由一个或多个变 量标识符及类型标识符组成。 参数表中的变量称为形式参数, 简称形参。 若函数没有形参,则称为无参函数,其后 “( )”不能省略。 参数必须指定类型。形参的类型说明有两种:方法1: int max(a,b) int a,b; 方法2: int max(int a, int b)
省略函数类型名时,C语言默认其为int型。15
C语言的教师课件,总结
第六章
2)函数体函数体包括变量定义和执行语句序列。函数所 完成的工作由函数体中一段程序实现。 函数的返回值用返回语句return返回,形式:return(表达式);或 return 表达式;
如果函数的类型与return语句的表达式的类 型不一致时, 则以函数的类型为准。返回时 自动进行数据转换。(见下页例题)16
C语言的教师课件,总结
第六章
例6.3 定义函数power(x,n), 求x的n次方。 函数定义如下:float power( float x, int n) { int i; float t=1; for(i=1;i<=n;i++) t = t * x; /* 1*x*x*…*x 共乘n次 */ return t; } /* 返回t的值 */
C语言的教师课件,总结
第六章
6.3 自定义函数的调用6.3.1 函数调用与声明 1. 函数的调用 有参数函数的调用形式:函数名(参数)
无参数函数的调用形式:函数名()
注意:当实际参数的个数、次序、类型与对应形 式参数的个数、次序、类型不一致时,系统并 不提示错误,后果却难以预测。
C语言的教师课件,总结
第六章
函数调用形式 函数语句调用、函数表达式调用和函数参数调 用void max(int a,int b,int c) { int y; y=(a>b)?a:b; y=y>c?y:c; printf("max=%d\n",y);} void main() {int x,y,z,m; scanf("%d,%d,%d",&x,&y,&z); max(x,y,z); } /*采用函数语句形式调用函数max*/19
正在阅读:
第6章_函数与模块化程序设计基础09-05
游野生动物园作文500字06-29
防爆电机行业现行国家行业标准04-13
沈阳某建筑集团企业信息化整体规划方案(咨询公司完整版) - 图03-08
纪念五四运动演讲稿3篇04-04
谁动了我的奶酪02-19
20种塑胶特性12-22
高尔基02-17
怎样做到气沉丹田07-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 模块化
- 程序设计
- 函数
- 基础
- Solitax sc悬浮固体浊度分析仪中文样本
- 轧钢机机架设计
- 物流公司派车单
- BS3550-1963 渐开线花键规范
- 网络应用程序设计--HTML导论(基础篇)
- 四年级英语上册Unit 4 Numbers and Time Part A教案-闽教版
- 2017年中共江苏省委党校经济学教研部833政治经济学综合考研仿真模拟题
- 四15蒲公英的梦-许洁
- 南京机电职业技术学院毕业设计工作管理规范
- 2014河南对口升学--计算机类试卷《计算机组装与维护》
- QC工程图范本(1)
- 《成都麻将必胜技巧》PDF版
- 售后服务及流程图
- 新人教版四年级上册除数是两位数的笔算除法(试商)例3
- 贵州省企业职工基本养老金计发办法——黔劳社厅发(2006)20号
- 回转窑检修方案
- 高考考点详解:中国地理4
- xxx消防泵房及消防管网施工组织设计
- SAP物料编号规则-2015
- XP中的一个远程关机命令 ,局域网关机命令