第8讲_c课件函数三级网络_第1页
第8讲_c课件函数三级网络_第2页
第8讲_c课件函数三级网络_第3页
第8讲_c课件函数三级网络_第4页
第8讲_c课件函数三级网络_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

*1 Program Design in C Language Page 第八讲 函数 C程序的模块化结构 函数的分类与定义 函数调用的一般形式 函数的参数 函数的返回值 数组作为函数参数 *2 Program Design in C Language Page C程序的模块化结构 模块化程序设计方法:模块化程序设计方法: 人们在求解某个复杂问题时,通常采用逐步分解、分而治人们在求解某个复杂问题时,通常采用逐步分解、分而治 之的方法,也就是将一个大问题分解成若干个比较容易求解之的方法,也就是将一个大问题分解成若干个比较容易求解 的小问题,然后分别求解。程序员在设计一个复杂的应用程的小问题,然后分别求解。程序员在设计一个复杂的应用程 序时,往往也是把整个程序划分成若干个功能较为单一的程序时,往往也是把整个程序划分成若干个功能较为单一的程 序模块,然后分别予以实现,最后再把所有的程序模块象达序模块,然后分别予以实现,最后再把所有的程序模块象达 积木一样装配起来,这种在程序设计中分而治之的策略,被积木一样装配起来,这种在程序设计中分而治之的策略,被 称为模块化程序设计方法。称为模块化程序设计方法。 使用函数,不仅可以实现程序的模块化,程序设计得简单和使用函数,不仅可以实现程序的模块化,程序设计得简单和 直观,提高了程序的易读性和可维护性。直观,提高了程序的易读性和可维护性。 *3 Program Design in C Language Page 一个较大的程序可分为若干个程序模块,每一个模块用来 实现一个特定的功能。在高级语言中用子程序实现模块的 功能。子程序由函数来完成。 函数间的调用关系:由主函数调用其他函数,其他函数也可 以互相调用。同一个函数可以被一个或多个函数调用任意 多次。 *4 Program Design in C Language Page 函数概述 函数的概念函数的概念 函数其实就是一段可以重复调用的、功能相对函数其实就是一段可以重复调用的、功能相对 独立完整的程序段。独立完整的程序段。 intint max (in t a, max (in t a, intint b); b); / /函数的原型声明函数的原型声明 void main ( )void main ( ) intint a, b, c; a, b, c; scanfscanf (“% (“%d%dd%d“, “, c = max (a, b);c = max (a, b); / /函数调用函数调用(a(a、b b为实参为实参) ) printfprintf (“the biggest number is : % (“the biggest number is : %dndn“, c);“, c); intint max ( max (intint a, a, intint b) b) / /函数定义函数定义(a(a、b b为形参为形参) ) return (a b ? a : b); return (a b ? a : b); *16 Program Design in C Language Page 说明: 实参与形参的个数相等、类型相同、顺序一致, 呈一一对应的关系。 实参的求值顺序不确定,与所用系统有关。 实参应有确定的值。 函数名函数名( ( 实参实参1 1,实参,实参2 2,实参,实参n )n ); 或或 变量名变量名 = = 函数名函数名( ( 实参实参1 1,实参,实参2 2,实参,实参n )n ); 函数调用函数调用 *17 Program Design in C Language Page 函数调用的方式 函数语句: (函数调用的一般形式加 上分号即构成函数语句) 函数表达式 函数参数 例 printstar(); printf(“Hello,World!n”); 例 m=max(a,b)*2; 例 printf(“%d”,max(a,b); m=max(a,max(b,c); *18 Program Design in C Language Page 函数调用的一般形式 自定义函数: float jiechen( int n ) float x, y ; for( x=y=1.0; x 用户自定义函数: 函数类型说明 函数声明 一般形式: 函数类型 函数名(形参类 型 形参名, ); 或 函数类型 函 数名( ); 作用:告诉编译系统函数类型、参数个数及 类型,以便检验 函数定义与函数说明不同 函数说明位置:程序的数据说明部分(函数 内或外) 下列情况下,可不作函数说明 若函数返值是char或int型,系统自 动按int型处理 被调用函数定义出现在主调函数之 前 有些系统(如VC)要求函数说明指出函数返值 类型和形参类型,并且对void 和 int 型函数也要进行函数 说明 *23 Program Design in C Language Page # include void main() float add(float x, float y); *对被调用函数add的声明* float a,b,c; scanf(f,f,a,b); cadd(a,b); printf(sum is f n“,c); float add(float ,float ) *函数首部* float ; /* 函数体 */ z+; return(z); 运行情况如下: 3.6, 6.5 Sum is 10.100000 *24 Program Design in C Language Page 例 判定素数。 #include “math.h“ int isprime( int ); /* 函数原型声明 */ main( ) int x=35; if ( isprime(x) printf(“%d 是素数。n“, x ); else printf(“%d 不是素数。n“, x ); isprime( int a ) int i; for ( i=2 ; i void main() float average(float array10); /* 函数声明 */ float score10 , aver; int ; printf(input 10 scores:n); for( i=0; iarrayk) t

温馨提示

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

评论

0/150

提交评论