用函数实现模块化程序设计
函数的嵌套调用
函数的递归调用
数组元素做函数参数
数组名做函数参数
变量的存储方式和生存期
关于变量的声明和定义
内部函数和外部函数
有效范围为从定义变量的位置开始到本源文件结束。
int a ,i ,char c1,c2; 局部变量
{int b,c} 全局变量主调函数外部
开辟存储空间 定义
不开辟存储空间 声明
一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分。#includefloat Max=0,Min=0; // 定义全局变量Max,Min int main() { float average(float array[ ],int n); float ave,score[10]; int i; printf("Please enter 10 scores:"); for(i=0;i<10;i++) scanf("%f",&score[i]); ave=average(score,10); printf("max=%6.2fnmin=%6.2fnaverage=%6.2fn",Max,Min,ave); return 0; } float average(float array[ ],int n) // 定义函数,有一形参是数组 {int i; float aver,sum=array[0]; Max=Min=array[0]; for(i=1;i Max)Max=array[i]; else if(array[i] sum=arry0
i=0
sum=sum+arry[0]
变量的存储方式和静态存储方式 局部变量和全局变量extern
数据类型
存储类别 静态存储 动态存储
考察静态局部变量的值
#include
int main()
{
int f(int);//函数声明
int a=2,i;//自动局部变量
for(i=0;i<3;i++)
printf("%dn",f(a));
return 0;
}
int f(int a)
{
auto int b=0;//自动局部变量
static int c=3;//静态局部变量
b=b+1;
c=c+1;
return (a+b+c);
}、
7
8
9
程序区
静态存储区 //静态局部变量
动态存储区
输出1到5的阶乘
#include#include int main(){ int fac(int n); int i; for(i=1;i<=5;i++) printf("%d!=%dn",i,fac(i)); getch(); return 0; } int fac(int n){ static int f=1; f=f*n; return f; } 用static声明一个变量的作用是:
- 对局部变量用static声明,把它分配在静态存储区,该变量在整个程序执行期间不
释放,其所分配的空间始终存在。- 对全局变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文
件中)。extern调用函数,求3个整数中的大者
#includeint main() { int max(); extern int A,B,C; //把外部变量A,B,C的作用域扩展到从此处开始 printf("please input three integer numbers:n"); scanf("%d%d%d",&A,&B,&C); printf("max=%dn",max()); return 0; } int A,B,C; //定义外部变量A,B,C int max() { int m; m=(A>B)?A:B; if(m 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)