第七章 库函数函数的定义与返回值优秀课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其二:独立的语句,即调用函数后加一分号。 如:printf("*****\n");
4、调用库函数时,要注意参数的一些特殊要求。如三 角函数要求自变量参数用弧度表示,开平方函数要求 自变量参数的值大于或等于0。
§7.2 函数的定义和返回值
1. 函数定义的一般格式
现代风格:
函数返回值的类型 缺省int型 无返回值: void
else z=y; return(z); } int a,b,max;
scanf("%d,%d",&a,&b);
max=max2(a,b);
printf("max=%d\n",max);
}
函数的定义是平行的,不能在一个函数的内部再定义其它函数。即每个 函数都是一个相对独立的模块,不能在写某一个函数时又包含了另一个函 数的定义(main函数的执行时有一点点小的特权!)。
z = x>y?x:y; return(z); }
例2 有参函数(现代风格) int max(int x, y) { int z;
z = x>y?x:y; return(z); }
例3 无参函数 void printstar( )
{ printf("**********\n"); }
或 void printstar(void )
第七章 库函数函数的定义与返回值
第七章 函数
在前面的章节中,我们编写的程序都是 由一个main函数来组成,在main函数中调用 过scanf、printf等系统函数。
在解决一个比较复杂的实际问题时,不 可能把所有要完成的任务全都写在main函数 中。这时,程序往往由一个main函数和若干 个其它函数组成,每个函数各自完成相对独 立的部分功能。
从函数形式
❖无参函数 ❖有参函数
?我们学习过哪些无参函数和有参函数?
§7.1 库函数
库函数由系统提供,用户只要按照要求的格式正确调用即可。 不同的C编译系统提供的库函数有些不同。
使用库函数应注意的问题: 1、调用库函数时要用#include命令将相关的头文件包含进来。
如:调用数学函数,用#include "math.h" |<math.h> 调用输入输出函数,用#include "stdio.h" |<stdio.h> 调用字符函数,用#include " ctype.h" |< ctype.h >
例 函数可以有多个return语句
main() {int a,b,max;
scanf("%d,%d",&a,&b);
max=max2(a,b);
printf("max=%d\n",max);
}
int max2(int x,int y) { int z;
if(x>y) return x;
else return y;
2. 函数的返回值
返回语句
❖形式return(表达式);或 return 表达式; 或 return;
❖ 功能:使程序控制从被调用函数返回到调用函数中, 同时把返值带给调用函数
❖ 说明: 函数中可以有多个return语句,但只有其中的一个 return语句能够得到执行 若函数中没有return语句,或者是一个不带表达式的 return语句,则该函数结束时自动返回调用函数一个 不确定的值
printf("max(max2)=%d\n",max);
return(max); } void main()
main()时,main函 数是什么类型的?
{int a,b,max;
scanf("%d,%d",&a,&b);
实参
max = max2(a,b)+100;
printf("max(main) =%d\n",max);
}
形参和函数体中定 义的变量只在函数 被调用时才临时分 配存储单元,当退 出函数时,这些存 储单元全部被释放 (称为局部性,因 而与其它函数中的 变量同名不会引起 混淆)。
函数与函数之间是平等的
void main() {int max2(int x , int y)
{int z; if(x>y) z=x;
{ printf("**********\n"); }
例4 空函数 void dummy(void) {
}
函数体为空
(留待以后补充)
例 函数的定义 形参
int max2(int x , int y) /*现代风格*/
{int max; if(x>y) max = x; else max = y;
可改写为 max=x>y?x:y;
若函数类型与return语句中表达式值的类型不一致, 按前者为准,自动转换------函数调用转换
void型函数:明确说明函数没有返回值
例 函数返回值类型转换
int max(float x, float y) { float z;
z=x>y?x:y; return(z); } main() { float a,b; scanf("%f,%f",&a,&b); printf("Max is %d\n", max(a,b)); }
2、库函数调用的一般形式: 函数名(参数表)
要注意函数的功能、参数的个数与类型、函数值的类型。 如:求平方根的函数sqrt的形式是:double sqrt (double x)
使用库函数应注意的问题(续)
3、库函数调用以两种方式出现。 其一:出现在表达式中,即作为表达式的一部分参与 运算。
如:计算y=x2.5+1.3,则通过以下语句调用来实现。 y=pow(x,2.5)+1.3;
合法标识 符
函数类型 函数名(形参类型说明表)
函数体
{ 说明部分
执行部分
}
没有形参时,
这一对பைடு நூலகம்号
如果函数的类型不是void,函数体最 后要用return语句去返回一个值.
不能省略
多个形参说 明之间要用
逗号隔开
函数的定义示例
例1 有参函数(现代风格) int max(int x,int y) { int z;
模块化的程序设计方法
函数间相互调用的示意
main() { ┇ f1(); ┇ f2(); ┇ }
f1() { ┇
f11(); ┇
f12(); ┇ } f2() { ┇ f21(); ┇ }
f11() { ┇ } f12() { ┇ } f21() { ┇ }
函数的分类
从用户角度
❖标准函数(库函数):由系统提供 ❖用户自定义函数
相关文档
最新文档