C语言函数章节演示课件文.pptVIP

  • 1
  • 0
  • 约3.63千字
  • 约 48页
  • 2018-02-28 发布于天津
  • 举报
n!递归程序源程序1/2 求n!递归源程序如下: main( ) { int x; long facto( ); printf(Input a number:\n); scanf(%d,x); printf(The result is %ld,facto(x)); } long facto(n) int n; { long int z; if (n==0) z=1; else z=n*facto(n-1); return z; } n!递归程序源程序2/2 8.6 数组与函数 函数间传递数组数据的两种方法: 值传递:将数组中的每个元素都作为一个参数来传递。 地址传递:通过地址传送方式将数组的首地址(如数组名)作为参数进行传递 。 8.6.1 数组元素作函数实参 数组元素(同简单变量)作函数实参,单向值传递,即“传值调用”方式。 【例8.17】用程序求出a数组中所有素数的和及平均值,函数isprime用来判断自变量是否素数。 * * 第8章 函数 任课教师: 张盈 本章主要内容 C语言程序的结构 函数的定义 函数的调用 函数的嵌套调用 递归函数 数组与函数 全局变量与 8.1 结构化程序设计语言 ---C语言 C程序的结构由若干个C函数组成。 C函数是C程序的组成部分,是由完成一特定任务的说明语句和执行语句组成的基本功能单元。 C函数的功能相当于其它程序设计语言中的一个程序模块,或一个子程序。 d main a b c g k f h j i e l 模块化程序示意图: 函数调用程序实例 main( ) { printstar(); print_message( ); printstar( ); } printstar( ) { printf(“**************\n”);} print_message( ) { printf(“how do you do!\n”);} 调用函数 用户自定义函数 函数的分类(1) 从使用角度分: 标准库函数:以程序库的形式直接提供给用户使用。 stdio.h……gets()、printf() math.h ……sin()、sqrt() 用户自定义函数:由用户自己建立定义。 函数的分类(2) 从函数形式分: 无参函数:调用函数时主函数不将数据传送给被调函数。用于完成特定功能的操作。 如:c=getchar( )…… 有参函数:调用函数时在主调函数和被调函数之间有参数传递。 如:putchar(c)、puts(str)、…… 函数说明 一个C程序是由一个或多个源文件组成,每个源文件由若干函数组成。 C程序的执行从main函数开始,也从main函数终止。 源程序中所有的函数在结构上都是平行的,互相独立的。 main函数可以调用其他函数,其他函数之间可以互相调用。 8.2.1 函数的定义(一) 无参函数的特点:只完成某些动作,不进行参数传递。 无参函数的定义形式: 类型标识符 函数名( ) { 说明部分; 语句部分 } 【8.1】无参函数使用示例。 main( ) { printstar( ); printword( ); printstar( ); } printstar( ) /*定义无参函数printstar()*/ { printf(******************\n);} printword( ) /*定义无参函数printword()*/ { printf(This is an example\n);} 【8.2】 求两数的最大值。注意函数的定义形式。 main( ) { int a,b,c; scanf(%d%d,a,b); c=max(a,b); printf(max=%d\n,c); } int max(x,y) int x,y; { int z; z=(xy)?x:y; return(z); } 8.2.2 函数参数 几个相关术语: 函数调用:一个函数调用另一个函数。 主调函数、被调函数 有参函数:主调函数和被调函数之间有数据传递关系,被调函数即有参函数。 无参函数:主调函数和被调函数之间无数据传递关系,被调函数即无参函数。 举例 关于实参和形参 main( ) {int a,b,c; scanf(%d%d,a,b); c=max(a,b); printf(max=%d\n,c); } int max(int x,int y) { int z; z=(xy)?x:y;return(z);} 形式参数 实际参数 8.2.3 函数的返回值 函数的返回值是通过return语句传递的。 return语句的一般形式: return 表达

文档评论(0)

1亿VIP精品文档

相关文档