C语言实验五函数(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北民族学院信息工程学院《高级语言程序设计》实验报告实验五函数(1)
学院名称:湖北民族学院信息工程学院专业名称:电子信息科学与技术
学生姓名:学号:
实验评分:教师签名:周慧华
【实验目的】
1.熟练掌握利用函数实现模块化程序设计的方法。
2.熟练掌握函数的定义与调用方法。
3.掌握函数实参与形参的对应关系以及“参数传递”的方式。
4.掌握函数嵌套调用与递归调用的方法及程序执行流程。
5.掌握变量的作用域与生存期概念,能利用变量的作用域、生存期及内存有效地解决实际问题。
【实验内容】
1.阅读并调试程序。
【实验题5-1】
# include
float add(float x,float y);
void main ()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=add(a,b);
printf("sum is %f\n",c);
}
float add(float x,float y)
{
float z;
z=x+y;
return(z);
}
# include
float add(float x,float y)
{
float z;
z=x+y;
return(z);
}
void main ()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=add(a,b);
printf("sum is %f\n",c);
}
2.阅读分析程序并填空
【实验题5-2】
# include
#include
void main ()
{
int i,j,num=0;
for(i=3;i<=1000;i++)
{
for(j=2;j<=(int)sqrt(i);j++)
if(i%j==0)
break;
if(i%j)//j==i-1
{
printf("%3d ",i);
num++;
if(num%10==0)
printf("\n");
}
}
printf("\n");
}
3.函数的声明、定义与调用【实验题5-3】
# include
# include
void main ()
{
int n;
double m;
printf("please enter an ingeter:");
scanf("%d",&n);
m=pow(n,3);
printf("m=%.0f\n",m);
}
4.函数参数值的计算顺序【实验题5-4】
# include
int add(int,int);
int main()
{ int n,a;
printf("Please enter an ingeter:");
scanf("%d",&n);
a=add(2*n+1,n++);
printf("%d\n",a);
}
int add(int b,int c)
{
int a;
a=b+c;
return(a);
}
5.函数的嵌套调用
【实验题5-5】
#include
long fac(long n);
int c(int n,int m);
void main(void)
{
int n,m;
while(printf("Please enter two ingeter:"),scanf("%d%d",&n,&m)==2) if(n printf("input error!\n"); else printf("%d\n",c(n,m)); } long fac(long n) { int b; if(n==0||n==1) b=1; else b=n*fac(n-1); return b; } int c(int n,int m) { int a; a=fac(n)/(fac(n-m)*fac(m)); return a; } 6.函数的递归调用【实验题5-6】 #include int add(int i) { int b; if(i==1) b=1; else b=i+add(i-1); return b; } void main() { int i; printf("请输入i的值:"); scanf("%d",&i); printf("%d\n",add(i)); } 7.全局变量和局部变量的使用 【实验题5-7】 # include int sum(int,int); int max(int,int); int a=7,b=9; void main () { int i,a=5,x=80,y=60; for(i=1;i<4;i++) { printf("a=%d,b=%d,max=%d\n",a,b,max(a,b)); b+=6; } printf("result_sum=%d\n",sum(x,y)); } int sum(int x,int y) {