实验10 定义和调用函数
目录
题目1.c:定义一个求两个整数最大值的函数。在main函数中实现从键盘输入3个整数,调用该函数计算并返回最大值。
题目2.c:自定义一个求圆面积的函数,在主函数中输入半径,调用该函数计算并返回面积的大小。
题目5.c: 定义一个一维数组保存 10个学生的成绩,分别用函数实现:
题目6.c: 有两个班级,分别有5名和10名学生,调用一个average函数,分别求这两个班的学生的平均成绩。
题目7.c:编写一个函数实现用选择法对一维数组(整型)由小到大排序。
题目8.c: 有一个3*4的二维数组,求所有元素的最大值(用函数实现)。
一:学习目的
1:正确理解函数在C语言程序设计中的作用和地位。
2:理解函数、形参、实参、作用域、生存期的概念。
3:掌握各种函数的定义、原型声明和调用的方法。
4:掌握函数嵌套调用方法。
5:掌握数组作为函数参数的方法。
二:实验内容提要
1:函数的定义和调用
返回值类型 函数名(形参列表)
{
函数体;
}
float add(float x, float y); //函数的声明
int main()
{
float a,b,c;
printf("Please enter a and b:");
scanf("%f,%f",&a,&b);
c=add(a,b);
printf("sum is %f\n",c);
return 0;
}
float add(float x,float y) //函数的定义
{ float z;
z=x+y;
return(z);
}
被调用函数必须是已经定义的函数(库函数或用户自己定义):
如果使用库函数,应该在本文件开头加相应的#include指令
如果使用自己定义的函数,而该函数的位置在调用它的函数后面,需要提前声明
2:形式参数和实际参数
3:函数的参数传递方式
值传递:变量,数组元素
地址传递:数组名,指针
4:函数的嵌套调用:调用一个函数的过程中,又调用另一个函数
三:实验题目
题目1.c:定义一个求两个整数最大值的函数。在main函数中实现从键盘输入3个整数,调用该函数计算并返回最大值。
题目2.c:自定义一个求圆面积的函数,在主函数中输入半径,调用该函数计算并返回面积的大小。
题目3.c:有以下程序
以下是引用片段:
int sub(int n)
{ return (n/10+n%10); }
void main()
{
int x,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若运行时输入:1234<回车>,程序的输出结果是 ( )
题目4.c:下面程序的输出是 ()
int fun ( int num)
{
int k=1;
do
{
k*=num%10;
num=num/10;
}while(num);
return(k);
}
main()
{
int n=26;
printf("%d\n", fun(n));
}
题目5.c: 定义一个一维数组保存 10个学生的成绩,分别用函数实现:
- input ():输入每个学生的成绩;
- output():输出每个学生的成绩;
- aver ():计算并输出平均分;
- highest():找出最高分数所对应的学生。
程序运行时要求先在屏幕显示菜单,输入选择后分别调用对应的函数完成所选操作。
提高题:把题目中的处理对象改为二维数组,保存 10个学生的5门课成绩。
题目6.c: 有两个班级,分别有5名和10名学生,调用一个average函数,分别求这两个班的学生的平均成绩。
题目7.c:编写一个函数实现用选择法对一维数组(整型)由小到大排序。
题目8.c: 有一个3*4的二维数组,求所有元素的最大值(用函数实现)。
附注:实验为博主刚学C语言时候老师布置的作业,发表出来,仅供做题与参考。