第七章函数
本章教学目的:
理解函数、函数参数、全局变量和局部变量等概念,掌握函数的定义、函数调用、函数声明等应用。
本章教学重点:
函数定义、函数调用、函数声明、数组作为函数的参数。
本章教学难点:
函数调用、数组作为函数的参数。
本章作业:
内容提要
函数概述
函数的定义
函数的参数和函数的返回值
函数的调用
函数的嵌套和递归调用
数组作为函数的参数
局部变量和全局变量
变量的存储类别
内部函数和外部函数
函数概述
C语言是通过函数来实现模块化程序设计的。所以较大的C语言应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能模块。
C程序
主函数main
子函数
标准库函数(例如 printf)
用户自定义函数(例如 max)
由主函数调用其它函数,其它函数也可以互相调用。
同一个函数可以被一个或多个函数调用任意多次。
函数概述
C程序的结构
函数概述
C程序的例子
main()
{
…
f1( );
…
f2( );
…
}
f1()
{
…
f11( );
…
}
f2()
{
…
f21( );
…
f22( );
…
}
f11()
{
…
}
f21()
{
…
}
f22()
{
…
}
函数间的层次结构图
main( )
f1( )
f2( )
f11( )
f21( )
f22( )
函数概述
C程序的流程走向
main()
{
…
f1( );
…
f2( );
…
}
f1()
{
…
f11( );
…
}
f2()
{
…
f21( );
…
f22( );
…
}
f11()
{
…
}
f21()
{
…
}
f22()
{
…
}
1
2
3
7
4
5
6
8
9
10
11
12
13
14
15
16
17
18
19
20
21
函数概述
一个简单的函数调用的例子
函数调用实例。
#include <>
void charstr( )
{int i,j,k;
for(i=1;i<=3;i++)
{for(j=1;j<=i;j++) printf(" ");
for(k=1;k<=9-2*i;k++) printf("A");
printf("\n");
}
}
void pattern(char chb)
{int i,j,k;
for(i=1;i<=4;i++)
{for(j=1;j<=5-i;j++) printf(" ");
for(k=1;k<=2*i-1;k++) printf("%c",chb);
printf("\n");
}
main()
{ char cha; scanf("%c",&cha);
charstr(); pattern(cha);
return 0;
}
}
函数概述
运行程序,若从键盘输入字符’B’赋给变量cha ,则显示如上所示一幅图案
说明:
一个源程序文件由一个或多个函数组成
一个C程序由一个或多个源程序文件组成
C程序的执行从main函数开始,调用其他函数后流程返回到main函数,在main函数中结束整个程序的运行.
所有的函数都是平行的(函数不能嵌套定义),函数间可以相互调用,但不能调用main函数
在C语言中,从函数定义的角度看,函数可分为如下两种:
(1) 标准函数,即库函数。是由C编译系统提供的,用户不必自己定义、可以直接使用的函数。例如:printf、scanf、getchar、 putchar等函数都是标准函数。附录D中给出了常用的库函数。
(2) 用户自定义函数。是由用户自己编写的函数,以解决用户的专门需要。。
函数概述
函数的定义
任何函数(包括主函数main())都是由函数说明和函数体两部分组成。根据函数是否需要参数,可将函数分为无参函数和有参函数两种。
C语言课件 来自淘豆网m.daumloan.com转载请标明出处.