C语言函数学习

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

函数

一:学习目的

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)以下函数调用语句中含有_ _B_______个实参。

fun ((exp1,exp2),(exp3,exp4,exp5));

A.1

B.2

C.4

D.5

(2)以下说法正确的是( C )。

(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、写一个函数,要求把从主函数传递过来的一个字符串中的大写字母、小写字母、数字和其它字符进行统计,并把结果显示输出。

#include

#include

void fun(char e[],int n)

{

int a=0,b=0,c=0,d=0;

int i;

for(i=0;i

{

if(e[i]>'A'&&e[i]<'Z') a++;

else if(e[i]>'a'&&e[i]<'z') b++;

else if(e[i]>'0'&&e[i]<'9') c++;

else d++;

}

printf("大写字母有%d个\n小写字母有%d个\n数字有%d个\n其它字符有%d个\n",a,b,c,d);

}

void main()

{

char e[1024];

int n;

printf("请输入一串字符\n");

gets(e);

n=strlen(e);

fun(e,n);

}

4、输入一个字符串,然后在一个函数中把这个字符串里的字长符头尾互换:如输入字符串chinese,要输出:esenihc。

#include

#include

void fun(char ch[],int len)

{

int i;

printf("倒序后输出的字符为\n");

for(i=len-1;i>=0;i--)

{

printf("%c",ch[i]);

相关文档
最新文档