谭浩强c语言第7章14题,谭浩强C语言_第7章_函数2.ppt

谭浩强C语言_第7章_函数2

第八章 函数 函数概述 #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 (″ average score is %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); } 运行情况如下: input 10 scores: 100 56 78 98.5 76 87 99 67.5 75 97↙ average score is 83.40 例编写一个函数,用来分别求数组score_1和数组score_2各元素的平均值。 #include void main() { float average(float array[ ],int n) float score_1[5] ={98.5,97,9 1.5,60,55}; float score_2[10]={ 67.5,89.5,99,69.5, 77,89.5,76.5,54,60,99.5};   printf(“the average of class A is %6.2f\n”, average(score_1,5)); printf(“the average of class B is %6.2f\n”, average(score_2,10)); } float average(float array[ ],int n) { int i;   float aver,sum=array[0];   for(i=1;i<n;i++= sum=sum+array[i];   aver=sum/n;   return(aver); } 运行结果如下: the average of class A is 80.40 The average of class B is 78.20 如果实参表列包括多个实参,对实参求值的顺 序并不是确定的,有的系统按自左至右顺序求实参 的值,有的系统则按自右至左顺序。例如: printf(″%d,%d″,i,++i); 若i的原值为3,在 VC++ 6.0环境下运行的结果不是“3,4”,而为“4,4”。因为按自右而左顺序,先求++i得4,再向左进行,此时的i已是4了。 如果想输出3和4,应写成: i=3; j=i++; printf(”%d,%d”,i,j); 函数调用的方式 1.函数语句 把函数调用作为一个语句。这时不要求函数带回值,只要求函数完成一定的操作。 2.函数表达式 函数出现在一个表达式中,这种表达式称为函数表达式。这时要求函数带回一个确定的值以参加表达式的运算。例如:c=2*max(a,b); 按函数在程序中出现的位置来分,可以有 以下三种函数调用方式: 3.函数参数 函数调用作为一个函数的实参。 例如: m = max (a , max ( b , c ) ) ; 其中max ( b , c )是一次函数调用,它的值作为max另一次调用的实参。m的值是a、b、c三者中的最大者。 函数的声明和函数原型 1.首先被调用的函数必须是已经存在的函数(是库函数或用户自己定义的函数)。但光有这一条件还不够。 3.如果使用用户自己定义的函数,而该函数的位置在调用它的函数(即主调函数)的后面,应该在主调函数中对被调用的函数作声明。 2.如果使用库函数,还应该在本文件开头用#include 命令将调用有关库函数时所需用到的信息“包含”到本文件中来。 例对被调用的函数作声明 #include int main() {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值