当前位置:文档之家› 第5章 函数PPT课件

第5章 函数PPT课件

;如果没有返回值则应为void类型 ➢ 函数名:函数名是合法的标识符。有意义的函数名增加程序的可读性 ➢ 参数列表:声明了在调用函数时所接收的参数,参数之间用逗号分隔,
如果函数不接收参数,参数列表为void ➢ 把程序的控制权从函数返回到函数调用点有三种方法:如果函数没有返
回值,执行到函数结束的花括号时或通过执行如下语句交回控制权: return ;
更多的数学库函数参考相关文档
5.4函数的定义
/*程序员定义的square函数*/ #include <stdio.h> int square(int); /*函数原型*/ main ( ) {
int x; for (x=1;x<=10;x++)
printf("%d ",square(x)); printf("\n"); return 0; } /*函数定义*/ int square(int y) { return y*y; }
数学库函数
➢ 数学库用来完成一些常用的数学计算。数学库中所有的函数返回值为double类型 ➢ 在使用数学库中的函数时,应该用预处理指令#include <math.h>,把数学头文
件包含到程序中。 ➢ 调用函数的形式:函数名、左圆括号、参数、右圆括号。其中参数可以是常数、
变量和表达式。常用的数学库函数如下表,其中x和y都是double类型。
第五章 函数
本章学习要点
➢ 掌握函数的编写和调用自己编写的函数 ➢ 熟悉c标准库中常见的数学库函数 ➢ 熟悉常用的头文件 ➢ 掌握变量的作用域 ➢ 掌握变量的存储类别 ➢ 理解怎样用称为“函数”的小程序块构造程序模块 ➢ 理解函数之间的信息传递机制 ➢ 随机数的产生 ➢ 范例:碰运气游戏 ➢ 递归
函数调用语句,即函数调用形式后加语句结束符, 函数名 (参数1,参数2,…,参数n );
如:
printf(“%d”,x+y ); 表达式中的一个操作数,如:
x= sqrt ( y) ; 作为函数的参数,如:
printf (“ %f” ,sqrt (y) );
5.6函数的调用
➢ 函数调用的类型:传值调用和传引用调用。许多程序设计语言 都有传值调用和传引用调用这两种调用的方法。传值调用建 立参数的一份拷贝并把它传给调用函数(即将实参的值拷贝 给形参变量),在调用函数中修改参数的值的拷贝不影响原 始变量的值。传引用调用允许调用函数能够修改原始变量的 值。
5.1引言
现实中,用来解决实际问题的程序一般都比我们 现在介绍的程序大的多,特别是一些程序需要数百名, 甚至上千名软件开发人员的协调工作,才能完成。在 这样的软件产品或项目中,如何能使生产过程和生产 的代码易于管理,让开发人员协调且独立开发,尽可 能提高程序代码的重用性,甚至做到代码的独立测试, 保证软件产品或项目的顺利实施是一个非常重要的课 题,从实践来看,将程序分解成若干功能独立的程序 块是非常好的办法。这种技术称为“细化”,也就是模 块化程序设计。
如果在定义函数时,函数有返回值,用如下语句交回控制权: return 表达式 ;
5.5函数的原型
➢ 函数原型的作用:函数原型告诉编译器函数的数据类型、所要接收参数 的个数、参数的类型和参数顺序。即用函数原型校验函数调用。
➢ 函数原型的另一个重要特点:把参数强制转换为合适的类型。
➢ 为了充分利用c语言的类型检查能力,在程序中要包含所有用到的函数的 原型。对于标准库函数,用#include预处理指令把相应的头文件包含进来 。对于自己编写的函数,可直接写出函数的原型,也可以,将自己编写 的函数的函数原型写入一个自己创建的头文件,用预处理指令#include 把自己创建的头文件包含进来。
➢ 函数原型的位置:放在任何函数之外,出现在函数原型之后的该文件中 的所有函数都可以调用它。放在某函数内的函数原型只能在该函数中调 用它。
➢ 函数原型的形式:
数据类型 函数名(数据类型1,数据类型2,…,数据类型n);
5.6函数的调用
➢ 函数调用的形式: 函数名 (参数1,参数2,…,参数n )
其中,参数1,…,参数n可以式常数、变量和表达式 ➢ 函数调用的方式
5.2 c语言的程序模块与c的函数
在c语言中,程序的模块是通过函数实现的,函数是c语言程序的基本单
位,即c语言中用函数实现模块化程序设计,参见下图5-1所示。
➢ C语言的Байду номын сангаас序模块称为函数
➢ C程序:一个主函数(main)+若干函数
➢ 函数:标准库函数 ,程序员自己定义的函数,第三方库函数
➢ 函数的使用是通过函数的调用实现的。 main
该图中的每个module 都是用函数实现的
module1 module2 module3 module4 module5
图5-1 c语言中用函数实现模块化程序设计
module5被module2和 module3所调用,实现 代码重复利用和软件的 可重用性
5.3 c语言标准库函数
➢ ANSI C 提供了大量的库函数,自己编写新的函数是费时的,这是它的不 利之处,使用已有的函数可避免重写代码,可提高软件的重用性和代码 的重复利用率,提高开发效率。另外,ANSI C 标准函数的编写是严格而 高效,使用标准库函数可提高程序的性能。每一个标准库都对应一个头 文件,该头文件包含了该库中所有函数的函数原型以及这些函数所需要 的数据类型和常数的定义。标准库的部分头文件表如下:
5.4函数的定义
函数名
函数的 参数
函数返回 值的数据 类型
int square ( int y ) {
return y*y; }
return 在 此的作用 是返回值
函数体
函数定义的格式如下
返回值类型 函数名 ( 参数列表 )
{ 声明语句 执行语句
} ➢ 返回值类型:默认为int类型,但是明确地说明返回值类型是良好的习惯
• 怎样编写函数,参考示例
函数原型的目:编译器根据原型检查 对函数square的调用是否正确。检查 函数的返回类型、参数个数、参数类 型和参数的顺序。
对函数square调用,x是该函数的
参数,将x的值传递给y
函数的定义,包括函数的名字 为square,函数有一个整型参数 y,用来接收整数值,函数的返 回值的数据类型为整型。
相关主题