- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章1语言
第八章 函 数
8.1 概述
C语言是通过函数来实现模块化程序设计的。应用程序往往由多个函数组成的,每个函数分别对应各自的功能模块,用户可以把自己的算法编成一个个相对独立的函数模块,然后用调用的方法使用函数来实现这些功能。
int cf(int i,int j)
{
int k,z=1;
for (k=1;k=j;k++)
{z=z*i;}
return(z);
}
main()
{
int x=2;y=3,h;
h=cf(x,y);
print (“%d”,h);
}
说明:
1. 一个C程序由一个或多个源程序文件构成,一个源程序文件也可以被多个程序公用。(比较大的c语言程序为了便于分工和程序的安全性可以分别存储在多个文件当中)
2. 一个源程序文件由一个或多个函数构成,编译时以源程序文件为单位进行,而不是以函数为单位。
⒊ 主函数main可以调用其它函数,但不允许被其它函数调用,因此C程序的执行总是从main函数开始,完成对其它函数的调用后再回到main函数,最后由main函数结束整个程序。
⒋ 程序中的所有函数定义都是平行的,即在一个函数的函数体内不能再定义另外一个函数(不嵌套定义),但是允许嵌套调用 。
C函数的分类
从用户使用的角度分为
√ 库函数 printf( )(尽量使用 )
√ 自定义函数 cf(int i,int j )
√ 有参函数 scanf(“%d”,a)
√ 无参函数 clrscr( )
8.2 函数定义的一般形式
⒈ 无参函数的定义形式(不引用程序其它部分数据)
类型说明符 函数名( )
{ 说明部分;
语句部分;}
其中“类型说明符”用来指定函数值的类型,无返回值函数一般带回的返回值我们不关心,所以也可以省略“类型说明符”。
Void prints( )
{ int i; for(i=0;i=2;i++)
Printf(“*****\n”);} liz1.c
⒉ 有参函数的定义形式
类型说明符 函数名(形参表列)
{ 说明部分;
语句部分;
}
int max(int x, int y)
{int z; z=xy? x:y; return (z);}
有参函数比无参函数多了一个形式参数表,形式参数根据需要可以是任何数据类型的变量,各个参数间用逗号分隔。在函数调用时,由主调函数给这些形参赋实际的值。
对形参的声明可以分为两种形式:
√ 传统方式:声明部分放在函数的第二行,仅在括号里给出形参的名字。
Int max (x,y){int x,y;}
√ 现代方式:在函数名后的括号内直接写出形参的类型和名字。
Int max(int x,int y) 建议使用
⒊ 空函数
没有参数、函数体又为空的函数称为空函数。其一般形式为:
类型说明符 函数名()
{ }
调用空函数什么都不做,没有任何实际作用。通常是为了以后扩充新功能而设,先占好一个位置,以后用编好的函数类替代它。这样做可以使结构清楚,提高程序的可读行。(通常在程序整体设计时先加入一些空的函数,使主要功能模块结构清晰,将来用编好的函数体来替换.)
8.3 函数参数和函数值
⒈ 形参和实参
在函数定义时函数名后面括号内的参数称为“形参”,函数调用时函数名后面括号内的参数称为“实参”,它们的作用是实现数据传递。
形参出现在定义中,它只能在函数体内使用;在函数调用时,主调函数把实参的值传递给被调函数的形参,从而实现了数据的传送。
说明:
⑴ 定义函数时,形参不分配内存单元,只有在被调用时才被分配内存单元,调用结束后立即释放分配的单元。
⑵ 实参可以是常量、变量、表达式或函数等,但要求它有确定的值,以便把值传递给形参。
⑶ 在被定义的函数中必须指定形参的类型。
⑷ 形参与实参的类型必须相同或者赋值兼容。
⑸ 函数调用中发生的数据传递是单向的,即只能把实参的值传递给形参。在函数调用过程中,形参的值发生变化,而实参的值不会变化。
例子001.c
⒉ 函数的返回值
通过函数调用使主调函数得到一个确定的值,就是函数的返回值。如:Sqrt(8.0)
说明:
⑴ 函数的值只能通过return语句返回主调函数。一般格式为:return(表达式);
其中括号可以省略。
⑵ 如果被调用的函数中没有return语句,不表示它没有返回值,只是返回一个不确定的值。为了表明不需要返回一个值,可以把函数定义成void型。Void printst(){}
⑶ 函数值的类型应与return语句中表达式的值一致,如果二者不一致,则要以函数类型为准自动进行转换。
⑷ C语言规定,凡是不加类
您可能关注的文档
最近下载
- 《计算机控制技术》期末模拟考试题(附答案) .pdf VIP
- 福建省2025届高三毕业班3月适应性练习卷语文试卷(含答案).pdf
- 有修复性和抗氧化性MXene基导电水凝胶的制备方法.pdf VIP
- 浅析生本教育在语文教学中的实施.doc VIP
- 全新综合英语三册unit4imaginationandcreativity市公开课获奖课件省名师示范.pptx
- 公路收费站春季消防培训.pptx VIP
- 2024银行审计人员年终工作总结(8篇).docx VIP
- 危大工程安全管理档案(1).pdf
- 浅析初中语文教学中“生本”理念的实施.docx VIP
- (2025届江苏省苏北七市高三语文二模)南通市2025届高三第二次调研测试试题及答案.docx
文档评论(0)