实验5和实验6相关内容

实验5 模块化程序设计(一)

一、实验目的和要求
(1)掌握C语言函数定义及调用的规则。
(2)理解参数传递的过程。
(3)理解函数的嵌套调用。
二、实验内容和步骤
1. 阅读并分析下面的程序,并按要求改写程序。

#include<stdio.h>
int main()
{
	int max,a,b;
	scanf("%d%d",&a,&b);
	if(a>b)
		max=a;
	else
		max=b;
	printf("max=%d\n",max);
	return 0;
}

问题1:该程序的主要功能是什么?
问题2:自定义函数fun实现该程序的功能,要求在主函数内实现数据的输入输出(也就是说数据由主函数提供,fun将求得的结果返回给主函数)。
2. 调试下面程序,并给出正确的程序代码。

#include<stdio.h>
int main()
{
	int x,n,s;
	s=power(x,n);
	return 0;
}
power(y)
{
	int i,p=1;
	for(i=1;i<=n;i++)
	p=p*y;
}
  1. 编写函数把华氏温度转换为摄氏温度,公式为:
    在这里插入图片描述

  2. 编写一个函数fun1,输入3个顶点坐标,求 在这里插入图片描述 的面积。

实验6 模块化程序设计(二)

一、实验目的和要求
(1)掌握函数的递归调用。
(2)理解变量的作用域和生存期。
二、实验内容和步骤

  1. 编写递归函数getPower计算xy。其中x为double类型,y为int型,当y<0时,返回0。
  2. 用递归的方法编写函数求Fibonacci级数,公式为:
    在这里插入图片描述
  3. 分析下面程序,并记录输出结果。
#include<stdio.h>
int z=10;
void fun()
{
	static int x=1;
	int y=10;
	x=x+2;
	y=y+x+z;
	printf("x0=%d,y0=%d\n",x,y);
}
int main()
{
	int x=2,y=3;
	printf("x=%d,y=%d\n",x,y);
	fun();
	z=z+4;
	printf("x=%d,y=%d\n",x,y);
	fun();
	return 0;
}

问题1:输出程序运行结果。
问题2:分析自动变量和静态变量的区别(从作用域和生存期两点进行分析)。
问题3:分析全局变量和局部变量的区别(从作用域和生存期两点进行分析)。

猜你喜欢

转载自blog.csdn.net/lvcongying0601/article/details/83652870
今日推荐