C语言函数详解PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void型函数:明确说明函数没有返回值
10
例 函数返回值类型转换
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)); }
8
函数与函数之间是平等的
void main() {int max2(int x , int y)
{int z; if(x>y) z=x;
else z=y; return(z); } int a,b,max;
scanf("%d,%d",&a,&b);
max=max2(a,b);
printf("max=%d\n",max);
int mainxt(imnatvxox(,iindnttpx例y,ryi)n)空tst函ar数( )
{ }
zrie=nttxu{}>zrn;zrye=i(?ntz或xut{v{)>:r;zyony;;(ipp?dzxrr);ii:pnnyv{r;ttoiffn}i((d""tsd**tu**a**mr**(m**v**yo**(i**vd**o**函i)\\dnn)数""体));; 为}} 空
}
函数的定义是平行的,不能在一个函数的内部再定义其它函数。即每个函
数都是一个相对独立的模块,不能在写某一个函数时又包含了另一个函数
的定义(main函数的执行时有一点点小的特权!)。
9
2. 函数的返回值
返回语句
❖形式return(表达式);或 return 表达式; 或 return;
❖ 功能:使程序控制从被调用函数返回到调用函数中, 同时把返回值带给调用函数
5
§7.2 函数的定义和返回值
1. 函数定义的一般格式
现代风格:
函数返回值的类型
缺省int型 无返回值: void
合法标识 符
函数体
函数类型 函数名(形参类型说明表)
{
声明部分 语句部分 }
没有形参时, 这一对括号不
能省略
多个形参说 明之间要用
逗号隔开
例 有例参函有数例参(函现无数代参(风函现格数代)风格)
使用库函数应注意的问题: 1、调用库函数时要用#include命令将相关的头文件包含进来。
如:调用数学函数,用#include "math.h" |<math.h> 调用输入输出函数,用#include "stdio.h" |<stdio.h>
2、库函数调用的一般形式: 函数名(参数表)
要注意函数的功能、参数的个数与类型、函数值的类型。 如:求平方根的函数sqrt的形式是:double sqrt(double x)
6
传传统统风风格格::
函数类型 函数名(形参表) 形参类型说明
{ 声明部分 语句部分
}
例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); }
7
例 函数的定义
int max2(int x , int y) /*现代风格*/ {int max; if(x>y) max = x; else max = y;
❖ 说明:
函数中可以有多个return语句,但只有其中的一 个return语句能够得到执行
若函数中没有return语句,或者是一个不带表达 式的return语句,则该函数结束时自动返回调用 函数一个不确定的值
若函数类型与return语句中表达式值的类型不一 致,按前者为准,自动转换------函数调用转换
11
例 函数可以有多个return语句
main() {int a,b,max;
注意:在C语言中,函数名不 能被赋值,只能通过
scanf("%d,%d",&a,&b); return语句返回一个值
max=max2(a,b);
。
printf("max=%d\n",max);
}
int max2(int x,int y)
第七章 函数
在解决一个比较复杂的实际问题时,不 可能把所有要完成的任务全都写在main函数 中。这时,程序往往由一个main函数和若干 个其它函数组成,每个函数各自完成相对独 立的部分功能。
C语言通过函数实现模块化的 程序设计方法
1
函数间相互调用的示意
main() { ┇ f1(); ┇ f2(); ┇ }
{
int max2(int x,int y)
max2= x>y?x:y ;
{ int z;
}
if(x>y)
return x;
else
return y;
}
ቤተ መጻሕፍቲ ባይዱ
12
例 函数带回不确定值
printstar() { printf("*********\n"); } main() { int a;
4
使用库函数应注意的问题(续)
3、库函数调用以两种方式出现。 其一:出现在表达式中,即作为表达式的一部分参与运算。
如:计算y=x2.5+1.3,则通过以下语句调用来实现。 y=pow(x,2.5)+1.3; 其二:独立的语句,即调用函数后加一分号。
如:printf("*****\n");
4、调用库函数时,要注意参数的一些特殊要求。如三角函数要 求自变量参数用弧度表示,开平方函数要求自变量参数的值大 于或等于0。
f1() { ┇
f11(); ┇
f12(); ┇ } f2() { ┇ f21(); ┇ }
f11() { ┇ } f12() { ┇ } f21() { ┇ }
2
函数的分类
从用户角度
❖标准函数(库函数):由系统提供 ❖用户自定义函数
从函数形式
❖无参函数 ❖有参函数
3
§7.1 库函数
库函数由系统提供,用户只要按照要求的格式正确调用即可。 不同的C编译系统提供的库函数有些不同。
printf("max(max2)=%d\n",max);
return(max); } void main() {int a,b,max;
scanf("%d,%d",&a,&b);
max = max2(a,b)+100;
printf("max(main) =%d\n",max);
}
形参和函数体中定义 的变量只在函数被调 用时才临时分配存储 单元,当退出函数时 ,这些存储单元全部 被释放(称为局部性 ,因而与其它函数中 的变量同名不会引起 混淆)。
10
例 函数返回值类型转换
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)); }
8
函数与函数之间是平等的
void main() {int max2(int x , int y)
{int z; if(x>y) z=x;
else z=y; return(z); } int a,b,max;
scanf("%d,%d",&a,&b);
max=max2(a,b);
printf("max=%d\n",max);
int mainxt(imnatvxox(,iindnttpx例y,ryi)n)空tst函ar数( )
{ }
zrie=nttxu{}>zrn;zrye=i(?ntz或xut{v{)>:r;zyony;;(ipp?dzxrr);ii:pnnyv{r;ttoiffn}i((d""tsd**tu**a**mr**(m**v**yo**(i**vd**o**函i)\\dnn)数""体));; 为}} 空
}
函数的定义是平行的,不能在一个函数的内部再定义其它函数。即每个函
数都是一个相对独立的模块,不能在写某一个函数时又包含了另一个函数
的定义(main函数的执行时有一点点小的特权!)。
9
2. 函数的返回值
返回语句
❖形式return(表达式);或 return 表达式; 或 return;
❖ 功能:使程序控制从被调用函数返回到调用函数中, 同时把返回值带给调用函数
5
§7.2 函数的定义和返回值
1. 函数定义的一般格式
现代风格:
函数返回值的类型
缺省int型 无返回值: void
合法标识 符
函数体
函数类型 函数名(形参类型说明表)
{
声明部分 语句部分 }
没有形参时, 这一对括号不
能省略
多个形参说 明之间要用
逗号隔开
例 有例参函有数例参(函现无数代参(风函现格数代)风格)
使用库函数应注意的问题: 1、调用库函数时要用#include命令将相关的头文件包含进来。
如:调用数学函数,用#include "math.h" |<math.h> 调用输入输出函数,用#include "stdio.h" |<stdio.h>
2、库函数调用的一般形式: 函数名(参数表)
要注意函数的功能、参数的个数与类型、函数值的类型。 如:求平方根的函数sqrt的形式是:double sqrt(double x)
6
传传统统风风格格::
函数类型 函数名(形参表) 形参类型说明
{ 声明部分 语句部分
}
例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); }
7
例 函数的定义
int max2(int x , int y) /*现代风格*/ {int max; if(x>y) max = x; else max = y;
❖ 说明:
函数中可以有多个return语句,但只有其中的一 个return语句能够得到执行
若函数中没有return语句,或者是一个不带表达 式的return语句,则该函数结束时自动返回调用 函数一个不确定的值
若函数类型与return语句中表达式值的类型不一 致,按前者为准,自动转换------函数调用转换
11
例 函数可以有多个return语句
main() {int a,b,max;
注意:在C语言中,函数名不 能被赋值,只能通过
scanf("%d,%d",&a,&b); return语句返回一个值
max=max2(a,b);
。
printf("max=%d\n",max);
}
int max2(int x,int y)
第七章 函数
在解决一个比较复杂的实际问题时,不 可能把所有要完成的任务全都写在main函数 中。这时,程序往往由一个main函数和若干 个其它函数组成,每个函数各自完成相对独 立的部分功能。
C语言通过函数实现模块化的 程序设计方法
1
函数间相互调用的示意
main() { ┇ f1(); ┇ f2(); ┇ }
{
int max2(int x,int y)
max2= x>y?x:y ;
{ int z;
}
if(x>y)
return x;
else
return y;
}
ቤተ መጻሕፍቲ ባይዱ
12
例 函数带回不确定值
printstar() { printf("*********\n"); } main() { int a;
4
使用库函数应注意的问题(续)
3、库函数调用以两种方式出现。 其一:出现在表达式中,即作为表达式的一部分参与运算。
如:计算y=x2.5+1.3,则通过以下语句调用来实现。 y=pow(x,2.5)+1.3; 其二:独立的语句,即调用函数后加一分号。
如:printf("*****\n");
4、调用库函数时,要注意参数的一些特殊要求。如三角函数要 求自变量参数用弧度表示,开平方函数要求自变量参数的值大 于或等于0。
f1() { ┇
f11(); ┇
f12(); ┇ } f2() { ┇ f21(); ┇ }
f11() { ┇ } f12() { ┇ } f21() { ┇ }
2
函数的分类
从用户角度
❖标准函数(库函数):由系统提供 ❖用户自定义函数
从函数形式
❖无参函数 ❖有参函数
3
§7.1 库函数
库函数由系统提供,用户只要按照要求的格式正确调用即可。 不同的C编译系统提供的库函数有些不同。
printf("max(max2)=%d\n",max);
return(max); } void main() {int a,b,max;
scanf("%d,%d",&a,&b);
max = max2(a,b)+100;
printf("max(main) =%d\n",max);
}
形参和函数体中定义 的变量只在函数被调 用时才临时分配存储 单元,当退出函数时 ,这些存储单元全部 被释放(称为局部性 ,因而与其它函数中 的变量同名不会引起 混淆)。