- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C语言程序设计;函数;C语言不仅提供了极为丰富的库函数(如TurboC,MSC都提供了三百多个库函数),还允许用户建立自己定义的函数。用户编写一个个相对独立的函数模块算法,然后用调用的方法来使用函数。;例8-1带参函数程序
main()
{inta,b,c;
scanf(“%d,%d”,a,b);
c=fun(a,b);
printf(“funis%d”,c);
}
fun(intx,inty)
{intz;
if(xy)z=x;
elsez=y;
return(z);
}
;;;8.1函数的定义;8.2.1形式参数和实际参数 ;;;;;函数调用的一般形式为
被调用函数名([参数表达式1,参数表达式2,…,参数表达式n]);
其中,参数前不加数据类型说明,参数表达式可以是常量、变量或表达式。各个参数表达式之间用逗号分割。参数表示式的个数与该函数定义时形式参数的个数、数据类型都应该匹配,否则会出现预料不到的结果。如果被调用函数是无参函数,即[]中没有内容时,函数名后面的括号不要省略。
使用C语言的库函数就是函数简单调用的方法。例如:
main()
{
printf(“******\n”);
}
;(1)函数表达式
函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数有返回值。
例如:
z=max(x,y)*8;
其中,函数max是赋值表达式的一部分,它的值乘以8后在赋予变量z
(2)函数语句
函数调用的一般形式加上分号即构成函数语句。
例如:
printf(“%d”,m);
max(x,y);等都是以函数语句的方式调用函数。
;(3)函数实参
函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参传递给调用函数,因此要求该函数必须有返回值。
例如:
printf(“%d”,max(m,n));
上述语句是把max函数的返回值又作为printf函数的实参来使用。
;对被调函数的说明也有两种格式,一种为传统格式。
其格式为:类型说明符被调函数名();
这种格式只给出函数返回值的类型,被调函数名及一个空括号。这种格式由于在括号中没有任何参数信息,因此不便于编译系统进行错误检查,容易发生错误。
另一种为现代格式,其一般形式为:
类型说明符被调函数名(类型形参,类型形参…);
或为:类型说明符被调函数名(类型,类型…);
现代格式的括号内给出了形参的类型和形参名,或只给出形参类型。这便于编译系统进行检错,以防止可能出现的错误。
max函数的说明若用传统格式可写为:
intmax();
用现代格式可写为:
intmax(inta,intb);或写为:intmax(int,int);
;注意:
(1)被调用的函数必须是已经存在的函数(是库函数或用户自己定义的函数)
(2)在调用系统函数时,需要用包含命令#include“头文件名.h”将定义系统函数的库文件包含在本程序中,有关包含命令的相关知识在后面章节中详细介绍。
(3)如果调用函数和主函数在一个编译单元中,则在书写顺序上被调用函数比主函数先出现;或者被调用函数虽然在主函数之后出现,而被调用函数的数据类型是整型或字符型,可以不对被调函数加以说明,除了上述两种情况以外,都要对被调用函数加以说明。
;函数的原型说明;8.3.3函数嵌套调用 ;例8-5用以下近似公式编程计算ex的值,ex=1+x+x2/2!+x3/3!+…(前20项的和)。
#includestdio.h
floatf2(intn)
{if(n==1)return1;
elsereturn(f2(n-1)*n);
}
floatf1(intx,intn)
{inti;floatj=1;
for(i=1;i=n;i++)
j=j*x;
returnj;
}
voidmain()
{floatexp=1.0;intn,x;
printf(“Inputanumber:”);
scanf(“%d”,x);printf(“%\n”,x);
exp=exp+x;
for(n=2;n=19;n++)exp=exp+f1(x,n)/f2(n);
prin
您可能关注的文档
- 3D打印造型设计课件:传动机构设计.pptx
- 3D打印造型设计课件:机械臂的装配与仿真.pptx
- 3D打印造型设计课件:外观造型设计.pptx
- 3D打印造型设计课件:无人机的装配与仿真.pptx
- 3D打印造型设计课件:造型设计表现技法应用.pptx
- 32位汇编语言程序设计(第3版)课件:Windows编程.pptx
- 32位汇编语言程序设计(第3版)课件:浮点、多媒体及64位指令.pptx
- 32位汇编语言程序设计(第3版)课件:汇编语言基础.pptx
- 32位汇编语言程序设计(第3版)课件:通用数据处理指令.pptx
- C语言程序设计课件:C语言概述.pptx
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)