lesson12程序的组织结构函数定义ppt课件_第1页
lesson12程序的组织结构函数定义ppt课件_第2页
lesson12程序的组织结构函数定义ppt课件_第3页
lesson12程序的组织结构函数定义ppt课件_第4页
lesson12程序的组织结构函数定义ppt课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022/7/18电气与信息工程学院计算机系制造Lesson 12 程序的组织构造2022/7/18电气与信息工程学院计算机系制造学习目的:31掌握构造化程序设计的思想运用函数2022/7/18电气与信息工程学院计算机系制造3规范函数4函数:根据输入,经过一系列运算过程(步骤),得到结果y=sin(30)30acbsin(30)的含义:如图中:b/a2022/7/18电气与信息工程学院计算机系制造3函数31、规范函数: C言语提供了很多规范函数,它们被放置在一同,构成了一个规范函数库。 2、自定义函数:本人定义的函数。两类函数2022/7/18电气与信息工程学院计算机系制造3规范函数4头文件函

2、数类别math.h包含与数学有关的函数ctype.h包含与字符处理有关的函数string.h包含与字符串有关的函数stdio.h包含与输入输出有关的函数2022/7/18电气与信息工程学院计算机系制造3规范函数4函数原型功能描述double sin(double x)返回double型x的正弦,x是弧度double sqrt(double x)返回double型x的平方根double pow(double x,double y)返回xy调用函数时,不但需求了解函数的功能,还要经过函数原型弄清楚函数需求的参数格式以及函数的前往类型2022/7/18电气与信息工程学院计算机系制造3规范函数4例1:

3、根据给定的两个坐标点x1,y1和x2,y2,计算两点之间的间隔。 问题分析计算两点之间间隔的公式为 d=在这个公式中含有平方和开平方的运算,可以直接利用C言语提供的规范函数实现这两个运算。 2022/7/18电气与信息工程学院计算机系制造算法描画 2022/7/18电气与信息工程学院计算机系制造#include #include int main( ) int x1, y1, x2, y2; double distance; printf(nEnter 2 coordinates(x1,y1,x2,y2)n); scanf(%d%d%d%d, &x1, &y1, &x2, &y2); prin

4、tf(nThe first coordinate is (%d,%d), x1, y1); printf(nThe second coordinate is (%d,%d), x2, y2); distance = sqrt(pow(x2-x1, 2) + pow(y2-y1, 2); printf(nThe distance is %f, distance); return 0;lesson12_01.c2022/7/18电气与信息工程学院计算机系制造3自定义函数6引例:计算如下式子的和2022/7/18电气与信息工程学院计算机系制造3自定义函数2#include int main()int

5、 i,sum=0,sum1=0,sum2=0,sum3=0;for(i=3;i=23;i+)sum1+=i;for(i=5;i=30;i+)sum2+=i;for(i=8;i=33;i+)sum3+=i;sum=sum1+sum2+sum3; printf(sum=%dn,sum); return 0;lesson12_0.c2022/7/18电气与信息工程学院计算机系制造3自定义函数2#include int main()int i,sum=0,sum1=0,sum2=0,sum3=0;for(i=3;i=23;i+)sum1+=i;for(i=5;i=30;i+)sum2+=i;for(i

6、=8;i=33;i+)sum3+=i;sum=sum1+sum2+sum3; printf(sum=%dn,sum); return 0;这里三个过程都一样,都是给定一个起始、终了(输入)的区间得到期间整数的和(输出)2022/7/18电气与信息工程学院计算机系制造3自定义函数5实现一个实现前需求明确:1、该模块需求处理一个什么问题,完成一个什么义务2、处理该问题需求知道些什么条件如何自定义一个函数?2022/7/18电气与信息工程学院计算机系制造3自定义函数5类型 函数名(类型 参数1 , 类型 参数2 , )前往值类型标识符参数表:需求知道的条件前往值函数出口 函数体; return 表达

7、式; 主要部分:完成模块需求完成的功能义务2022/7/18电气与信息工程学院计算机系制造3自定义函数5例题:给定一个区间,计算其间整数的和1、该模块需求处理一个什么问题: 求整数的累加和2、需求知道些什么条件 区间的起始值、终了值把他作为参数循环求和2022/7/18电气与信息工程学院计算机系制造3自定义函数5例: int sumTo(int start, int end) int i,s=0; for(i=start;i=end;i+) s+=i; return s; 2022/7/18电气与信息工程学院计算机系制造#include int sumTo(int start,int end)

8、;int sumTo(int start,int end)int i=0,s=0;for(i=start;i=end;i+)s+=i;return s;int main()int i,sum=0,sum1=0,sum2=0,sum3=0;sum1=sumTo(3,23);sum2=sumTo(5,30);sum3=sumTo(8,33);sum=sum1+sum2+sum3;printf(sum=%dn,sum);return 0;声明,通知C言语有这样一个函数调用,运用该函数,得到3-23整数之和3、实现,编写代码实现过程lesson12_0_1.c2022/7/18电气与信息工程学院计算机

9、系制造3自定义函数5C言语规定,一个函数可以有前往值,也可以没有前往值。假设有前往值,前往值的类型在函数名前声明,并在函数体中利用return 语句将前往值前往;假设没有前往值,在函数名前声明void。默许的前往类型是int。函数定义不能放在另一个函数里面,不能嵌套定义。 函数名不但应该符合C言语的自定义标识符命名规范,还应该“见名知意。2022/7/18电气与信息工程学院计算机系制造3自定义函数5参数表是函数之间交换信息的接口。既可以经过它将外界的数据传送给函数,也可以经过它将函数的操作结果带出函数经过指针。假设方式参数属于一维数组类型,无须指出一维数组的元素个数,普统统过其他参数指出。函数

10、体是函数的中心部分,在这里列出需求执行的语句序列。 2022/7/18电气与信息工程学院计算机系制造3自定义函数5函数的前往值在声明函数的时候,函数名前运用了保管字void,阐明这个函数没有前往值;否那么,这个函数执行终了后,应该前往一个相应类型的数值。 return 表达式;2022/7/18电气与信息工程学院计算机系制造3函数调用7函数的调用 函数调用语句的根本格式为: ;真实参数与方式参数的数据类型和个数一一对应。 2022/7/18电气与信息工程学院计算机系制造3函数运用8例3:计算:s=1+(1*2)+(1*2*3)+(1*2*3*4*10)分析:sum=1! + 2! + 3! +

11、 4! + + 10!存在这样一个过程:输入一个n,得到n的阶乘定义一个求n的阶乘的函数2022/7/18电气与信息工程学院计算机系制造int fun(int n) int i=0,s=1; for(i=1;i=n;i+) s*=i; return s;lesson12_03.c2022/7/18电气与信息工程学院计算机系制造#include int fun(int n);int main() int i=0,sum=0; for(i=1;i=10;i+) sum+=fun(i); printf(“1!+2!+3!+=%d,sum); return 0;int fun(int n) int i

12、=0,s=1; for(i=1;i=n;i+) s*=i; return s;lesson12_03.c2022/7/18电气与信息工程学院计算机系制造3课堂练习9计算:s=1/1+1/(1+2)+1/(1+2+3)+1/(1+2+3+n)n的值从键盘输入2022/7/18电气与信息工程学院计算机系制造3函数运用8数组作为函数参数问题:在主函数中定义了一个数组int data=1,2,3,4,5,6,7,8,9,0在sum函数中要对该数组求和,如何定义sum函数才干将数组data传到sum函数中呢2022/7/18电气与信息工程学院计算机系制造3函数运用8数组作为函数参数定义方式类型名 函数名

13、(类型名 数组名,类型名 参数名)int sum(int a ,int len) int i,s=0; for(i=0;ilen;i+) s+=ai; return s;2022/7/18电气与信息工程学院计算机系制造#include int sum(int a,int len);int main() int data=1,2,3,4,5,6,7,8,9,0,s; s=sum(data,10); printf(s=%d,s); return 0;int sum(int a ,int len) int i,s=0; for(i=0;ilen;i+) s+=ai; return s;2022/7/

14、18电气与信息工程学院计算机系制造3函数运用8例4:运用函数的方法,编写程序求数组的最大值分析:定义一个函数getMax,在该函数中传入一个数组,求该数组的最大值2022/7/18电气与信息工程学院计算机系制造#include int getMax(int d,int len);int main() int max,data10=1,2,4,5,3,10,9,6,8,7; max=getMax(data,10); printf(“最大值是%d,max); return 0;int getMax(int d,int len) int i=0,m=d0; for(i=0;im) m=di; return m;留意:参数为数组的定义方法len :数组的长度 留意:调用时直接传数组名lesson12_04.c2022/7/18电气与信息工程学院计算机系制造3函数运用8课堂练习:运用函数的方法,计算一个数组中的奇数和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论