- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言函数详细
第七章 函数;函数间相互调用的示意 ;函数的分类; 库函数由系统提供,用户只要按照要求的格式正确调用即可。不同的C编译系统提供的库函数有些不同。 ;3、库函数调用以两种方式出现。
其一:出现在表达式中,即作为表达式的一部分参与运算。
如:计算y=x2.5+1.3,则通过以下语句调用来实现。
y=pow(x,2.5)+1.3;
其二:独立的语句,即调用函数后加一分号。
如:printf(*****\n);
4、调用库函数时,要注意参数的一些特殊要求。如三角函数要求自变量参数用弧度表示,开平方函数要求自变量参数的值大于或等于0。
;函数返回值的类型
缺省int型
无返回值: void;函数类型 函数名(形参表)
形参类型说明
{
声明部分
语句部分
}; int max2(int x , int y) /*现代风格*/
{int max;
if(xy) max = x;
else max = y;
printf(max(max2)=%d\n,max);
return(max);
}
void main()
{int a,b,max;
scanf(%d,%d,a,b);
max = max2(a,b)+100;
printf(max(main) =%d\n,max);
};函数与函数之间是平等的;返回语句
形式return(表达式);或 return 表达式; 或 return;
功能:使程序控制从被调用函数返回到调用函数中,同时把返回值带给调用函数
说明:
函数中可以有多个return语句,但只有其中的一个return语句能够得到执行
若函数中没有return语句,或者是一个不带表达式的return语句,则该函数结束时自动返回调用函数一个不确定的值
若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换
void型函数:明确说明函数没有返回值;int max(float x, float y)
{ float z;
z=xy?x:y;
return(z);
}
main()
{ float a,b;
scanf(%f,%f,a,b);
printf(Max is %d\n, max(a,b));
}; main()
{int a,b,max;
scanf(%d,%d,a,b);
max=max2(a,b);
printf(max=%d\n,max);
}
int max2(int x,int y)
{ int z;
if(xy)
return x;
else
return y;
}; printstar()
{ printf(*********\n);
}
main()
{ int a;
a=printstar();
printf(a=%d\n,a);
};说明:
调用函数时,其名字必须与定义的名字相同。
函数调用时的实参只写名字不需要在名字前再带实参类型。 如上面main函数中对max2函数的调用不能写成: max = max2(int a,int b);;(3) 实参与形参,个数应一致。
若实参少,则必有形参未得到值(不确定值),影响结果。
若实参多,则多余的无效(TC)。
如:c=max2(3); 则c的值为:761(随机值)
若:c=max2(3,5,8); 则c的值为: 5
(4) 实参与形参的类型应一一对应相匹配。若不匹配,程序仍能运行,但得不出正确结果(TC)。
如:c=max(3.0,5.0); 则c的值为: 0
若:c=max(3L,5L); 则c的值为: 3;(5) 函数必须先定义,后调用。 将要被调用的函数定义在前,调用在后。返回值类型为int或char的函数可例外。
(6) 函数可直接或间接地自己调用自己(递归调用,在7.6节介绍)
(7) 实参表求值顺序,因系统而定(Turbo C 自右向左)
;2. 函数调用的方式;C语言对被调用函数要求:
必须是已存在的函数
库函数: #include *.h
用户自定义函数: 函数声明;1. 函数声明一般形式;说明;说明(续);main()
{int a,b,c;
scanf(“%f%f”,a,b);
c=max2(
文档评论(0)