函数
一:学习目的
1:正确理解函数在C语言程序设计中的作用和地位。
2:熟悉函数的定义、原型声明和调用的方法。
3:熟悉数组名做函数参数的用法
二:学习准备
1:有一个一维数组score,内放10个学生成绩,求平均成绩。
#include
void main()
{ float average(float array[10]);
float score[10],aver; int i;
printf("input 10 scores:\n");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
printf("\n");
aver=average(score);
printf("%5.2f\n",aver);
}
float average(float array[10])
{ int i;
float aver,sum=array[0];
for(i=1;i<10;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);
}
2:有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。
#include
void main()
{ float average(float array[ ],int n);
float score1[5]={98.5,97,91.5,60,55};
float score2[10]={6 5,89.5,99,69.5,
77,89.5,76.5,54,60,99.5};
printf(“%6.2f\n”,average(score1,5));
printf(“%6.2f\n”,average(score2,10));
}
float average(float array[ ],int n)
{ int i;
float aver,sum=array[0];
for(i=1;i
sum=sum+array[i];
aver=sum/n;
return(aver);
}
三:实验内容:
1:选择题
(1)以下函数调用语句中含有_ ________个实参。
fun ((exp1,exp2),(exp3,exp4,exp5));
A.1????????? B.2????????? C.4????????? D.5
(3)以下程序有语法性错误,有关错误原因的正确说法是( C )。
Main()
{int G=5,k;
void prt_char();
……
k=prt_char(G);
……}
(4)C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。
(5)若用数组名作为函数调用的实参,传递给形参的是( A )。
(6)若使用一维数组名作函数参数,则以下正确的说法是( C )。
2:编程题:
1、编写函数fun,它的功能是输出一个200以内能被3整除且个位数为6的所有整数,返回这些数的个数。#include
void fun()
{
int i,a=0;
printf("这些数分别为:");
for(i=6;i<200;i+=10)
{
if (i%3==0) a++;
if (i%3!=0) continue;
printf("%d ",i);
}
printf("\n");
printf("这些数的个数为%d个\n",a);
}
void main()
{
fun();
}
2、已有变量定义和函数调用语句:int a=1,b=-5,c; c=fun(a,b);fun函数的作用是计算两个数之差的绝对值,并将值返回调用函数,请编写程序。#include
int fun(int a,int b)
{
int z;
z=a-b;
if (z<0) z*=-1;
else z*=1;
return(z);
}
int main()
{
int a=1,b=-5,c;
c=fun(a,b);
printf("%d\n",c);
}
3、写一个函数,要求把从主函数传递过来的一个字符串中的大写字母、小写字母、数字和其它字符进行统计,并把结果显示输出。
#i