1 / 36
文档名称:

第五章 模块化程序设计.ppt

格式:ppt   页数:36
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第五章 模块化程序设计.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第五章 模块化程序设计.ppt

文档介绍

文档介绍:第 5 章模块化程序设计
概述
函数定义的一般形式
函数参数和函数的值
函数的调用
函数的嵌套调用
函数的递归调用
局部变量和全局变量
动态存储变量与静态存储变量
内部函数和外部函数
编译预处理
“文件包含”处理
条件编译
第 5 章模块化程序设计
在进行程序设计时,程序员总是将复杂的问题进行
分解, 化整为零。编写一段小程序就能解决一个小问题,
然后将这些小程序拼装起来就能解决非常大而复杂的问
题。在 C 中,这些小程序统称为函数。
在 C 中,由系统提供的函数放在函数库中供用户选
用,以减少重复编写程序模块的工作量。
所有函数都是平行的,相互独立不能嵌套,但可以相
互调用。
 C 函数分标准函数(库函数)和自定义函数。
 C 函数本身分有参函数和无参函数。
概述
函数定义的一般形式

类型标识符函数名( )
{ 说明部分;
语句;
}
无参函数一般不需要返回函数值,可以省略类型标识符。

类型标识符函数名(形式参数表)
形式参数说明;
{ 说明部分;
语句;
}
例: int max(x,y)
int x, y; /形式参数说明/
{ int z; /函数体中的说明部分/
z=x>y ? x : y;
return(z);
}
类型说明符函数名( )
{ }
“空函数”什么操作也不做。其作用是在此处留一函数的
位置,以便将来扩充功能之用。函数名也在将来换取实
际的函数名。
这两行可以写成一行:
int max(int x, int y)
3.“空函数”
函数参数和函数的值

从键盘输入两个数,输出其中较大的一个。
main( )
{ int a, b, c ;
scanf(“%d,%d”, &a, &b);
c=max(a,b); / a, b为实际参数/
printf(“Max is %d”,c);
}
max(x,y) / x, y为形式参数/
int x, y;
{ int z;
z=x>y ? x : y;
return(z);
}
注意:
形参变量在被调用前不占用存储单元;在被调用结束
后,形参所占存储单元亦被释放。
实参可以是常量、变量或表达式。
必须指定形参类型,且必须与实参的类型一致。
实参对形参的数据传递是“值传递”。即单向传递,不
能逆传。
可以在形参表中直接说明形参类型。
如:
int max(int x, int y);
float fun(int a[10], int n);

函数的返回值是通过return语句获得的。当不需返
回函数值时,可省去return语句。
 return语句的后面可以有括号,也可以没有。
如:
return z ;  return(z);
 return语句的后面可以是变量,也可以是表达式。
如:
return(x >y ? x : y);
 return语句返回值的类型应与该函数的类型一致。
否则以函数类型为准。
若函数中没有return语句,则该函数被调用后也会带
回不确定的值。
{ int a, b, c ;
a = printstar( );
b = print_message( );
c = printstar( );
printf(“%d,%d,%d\n”,a,b,c);
}
输出的a, b, c的值将是各个被处理的字符串的长度。
为了明确表示不需要函数返回值,可以用“void”定义
函数为“无类型”。此时,不得使用 a=printstar( ) 之
类的语句。
凡不需要返回值的函数,一般均定义为“void”类型。
如:
均为处理字符串的函数
且均没有 return 语句。
函数的调用

函数名(实参表)
说明:
对于无参函数,尽管没有“实参表”,但也不得省略
括号。
“实参表”中的参数之间用逗号分开。
实参与形参之间的个数及类型必须一一对应。
对实参求值的顺序是自左至右还是自右至左, 视具体
的系统而定。Turbo C 和 MS C 是按自右至左的顺
序求值。

main( )
{ int i =2 , p ;
p = f ( i , + + i );
printf ( “%d”, p ) ;
}
int f ( a , b ) ;
int a ,

最近更新

2024年湖北生态工程职业技术学院单招职业技能.. 40页

2024年湖北省咸宁市单招职业适应性测试题库推.. 38页

2024年湖北省武汉市单招职业适应性考试题库附.. 38页

2024年湖北省鄂州市单招职业倾向性考试模拟测.. 39页

2024年湖北轻工职业技术学院单招职业倾向性测.. 39页

2024年湖南三一工业职业技术学院单招职业技能.. 40页

2024年湖南交通职业技术学院单招职业技能测试.. 40页

2024年湖南劳动人事职业学院单招综合素质考试.. 40页

2024年湖南国防工业职业技术学院单招职业倾向.. 40页

2024年湖南安全技术职业学院单招职业倾向性测.. 39页

2024年湖南工商职业学院单招职业适应性考试模.. 42页

2024年湖南幼儿师范高等专科学校单招职业技能.. 40页

2024年湖南省常德市单招职业倾向性测试题库附.. 40页

2024年湖南省衡阳市单招职业适应性考试模拟测.. 41页

2024年湖南石油化工职业技术学院单招职业技能.. 40页

2024年湖南艺术职业学院单招职业倾向性考试模.. 40页

2024年湖州学院单招职业技能考试模拟测试卷最.. 40页

2024年湘南幼儿师范高等专科学校单招职业倾向.. 40页

2024年湘西民族职业技术学院单招职业适应性测.. 41页

2024年滁州职业技术学院单招职业倾向性测试题.. 41页

2024年滨州科技职业学院单招职业技能考试题库.. 41页

2024年漳州卫生职业学院单招综合素质考试题库.. 40页

2024年漳州科技学院单招职业技能测试题库带答.. 39页

2024年潇湘职业学院单招综合素质考试题库推荐.. 40页

2024年潍坊工程职业学院单招职业技能考试题库.. 42页

2024年潍坊理工学院单招职业倾向性测试题库推.. 41页

2024年烟台南山学院单招职业技能测试题库附答.. 40页

ZR-003 建设单位法人授权书 1页

2023年四川省凉山州数学中考真题试卷【含答案.. 32页

铁路钢轨探伤车运用管理办法 21页