资源描述:
《实验九函数应用二(da)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验九函数应用(二)一、实验目的1.正确认识变量的作用域和生存期的概念;2.掌握动态存储和静态存储方式;3.重点掌握局部变量和全局变量的作用范围;4.重点掌握变量的存储类别。二、实验学时数1学时三、实验步骤(一)阅读程序1.main(){inti;for(i=1;i<4;i++)incre();}incre(){staticintx=1;x*=x+1;printf("%d",x);}分析结果 2642运行结果 2.inta=6;fun(intb){staticinta=10;a+=b++;printf("%d,",a);}main(
2、){intc=30;fun(c);a+=c++;printf("%d",a);}分析结果 40,36运行结果 3.inta=40,b=50;main(){intc=15,d=25;func(c,d);func(b,a);printf(“%d,%d,%d,%d”,a,b,c,d);}func(intx,inty){a=x;x=y;y=a;}分析结果 50,50,15,25运行结果 (二)完成程序要求:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。1.以下程序实现求任意输入数的立方并输出,请在____
3、___上填写正确内容intx;main(){intfunc();scanf("%d",&x);_________________;printf("x^3=%d",x);}intfunc(){x=x*x*x;}#includeintx;main(){intfunc();scanf("%d",&x);func();printf("x^3=%d",x);}intfunc(){x=x*x*x;}2.以下程序的功能是求1----6的阶乘,请在__________填写正确内容。main(){intj,t;for(j=1;j
4、<=6;j++){t=fac(j);printf("%d!=%d",j,t);}}intfac(intn){staticintf=1;___________________;return(f);}#includeintfac(intn);main(){intj,t;for(j=1;j<=6;j++){t=fac(j);printf("%d!=%d",j,t);}}intfac(intn){staticintf=1;if(n>1)f=n*f;return(f);}3.以下程序实现两个变量中值的交换,请在_
5、______上填写正确内容。intswap();main(){_________________;a=6;b=9;swap();printf(“a=%d,b=%d”,a,b);}inta,b;intswap(){inttemp;temp=a;a=b;b=temp;}#includeintswap();main(){externinta,b;a=6;b=9;swap();printf("a=%d,b=%d",a,b);}inta,b;intswap(){inttemp;temp=a;a=b;b=temp;}(三)
6、编写程序1.有30个人的工资,存放在一个一维数组中,写一个函数,求出工人的平均工资,最高工资和最低工资,并输出。(提示,用全局变量来解决)。#includeintmax,min;main(){floatf(inta[],intn);intb[30],i;floatever=0;for(i=0;i<30;i++)scanf("%d",&b[i]);ever=f(b,30);printf("max=%d,min=%d,ever=%f",max,min,ever);}floatf(inta[],intn){inti;fl
7、oats=0;max=a[0];min=a[0];for(i=0;ia[i])min=a[i];s+=a[i];}s=s/n;return(s);}