11-27

11-27,第1张

11-27

函数实现模块化程序设计

函数的嵌套调用

函数的递归调用

数组元素做函数参数

数组名做函数参数

三、局部变量 全局变量

变量的存储方式和生存期

关于变量的声明和定义

内部函数和外部函数

有效范围为从定义变量的位置开始到本源文件结束。

int a ,i ,char c1,c2;  局部变量

{int b,c}                   全局变量主调函数外部

开辟存储空间 定义

不开辟存储空间 声明

一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分。
#include 
float 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;iMax)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声明一个变量的作用是:

  1. 对局部变量用static声明,把它分配在静态存储区,该变量在整个程序执行期间不
    释放,其所分配的空间始终存在。
  2. 对全局变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文
    件中)。

extern调用函数,求3个整数中的大者

#include
int 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 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5610962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存