- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5函数和程序结构
第5章 函数与程序结构 ;5.1 C程序的一般结构 ;5.1.2 C程序的一般结构;特点: ;函数的分类;【例5.1】一个函数简单应用的例子。
void main()
{
void p_star(); /*说明p_star函数*/
void p_message(); /*说明p_message函数*/
p_star(); /*调用p_staar函数*/
p_message(); /*调用p_message函数*/
p_star(); /*调用p_star函数*/
}
void p_star() /*定义p_star函数*/
{
printf(****************\n);
}
void p_message() /*定义p_message函数*/
{
printf(Good morning!\n);
};5.2 函数的定义与调用;例:void p_star( )
{
printf(****************\n);
}
说明:其中的void在TC中可以省掉。
p_message( )
{
printf(Good morning!\n);
};(2)有参函数的定义
其定义形式为:
类型标识符 函数名(形式参数说明表)
{
说明部分
语句部分
}
说明:
对于有参函数,函数的参数是主调函数和被调用函数的数据通道。参数可??为形式参数(形参)和实际参数(实参)两种。;例如:
int max(int x,int y) /*形式参数说明*/
{
int z; /*函数体中的说明部分*/
z=xy?x:y;
return(z);
}
main( )
{int a=3,b=4;
printf(“%d”,max(a,b));
}
return语句的作用是将z的值作为函数值带回到主调函数中。return后面的括弧中的值作为函数带回的值(或称函数返回值)。
在一个函数的函数体内,不能再定义另一个函数,即函数不能嵌套定义。 ;例.编写一个通用过程(函数或子程序),该过程可以实现判断一个整数是否为素数。编写主程序调用该过程,统计所有三位数中素数的个数。 ;2. 函数的返回值;【例5.2】在屏幕上显示计算结果时,有时会因为显示的速度太快,还没有看清楚结果,屏幕上的内容就已经滚出屏幕。为了解决这个问题,可以让屏幕每显示一定的行数后就自动暂停一个,待用户看清屏幕后按键盘上的任意键后。屏幕会继续显示以后的计算结果。 ;5.2.2 函数的调用 ;(4)对实参表求值的顺序并不是确定的,有的系统按自左至右顺序求实参的值,有的系统则按自右至左顺序。
Turbo C规定是自右至左顺序求值。
main()
{ int i=2;
printf(“%d %d %d”,++i,++i,++i);
}输出为: 5 4 3
为了避免这种影响,可以用:
main()
{ int i=2,j,k,a;
j=++i;
k=++i;
a=++i;
printf(“%d %d %d”,j,k,a);
};按照函数在程序中出现的位置划分,调用函数方式有以下3种:;函数调用的执行过程;2. 对被调用函数的说明和函数原型 ;注意:① 函数的“定义”和“说明”是两个不同的内容。
“定义”是指对函数功能的确立,包括指定函数名,函数返回值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。在一个程序中,一个函数只能被定义一次,而且是在其他任何函数之外进行。
而 “说明”(有的书上也称为“声明”)则是把函数的名称、函数返回值的类型、参数的个数、类型和顺序通知编译系统,以便在调用该函数时系统对函数名称正确与否、参数的类型、数量及顺序是否一致等进行对照检查。在一个程序中,除上述可以缺省函数说明的情况外,所有调用函数都必须对被调用函数进行说明,而且是在调用函数的函数体内进行。
② 对库函数的调用不需要再作说明,但必须把该函数的头文件用#include命令包含在源文件前部。;5.2.3 函数的参数传递;调用过程如下:
(1)给形参分配内存空间;
(2)将实参a的值传递给形参;
(3)执行函数体。给函数体内的变量分配存储空间,执行算法实现部分
函数返回的过程如下:
① 将返回值返回主函数,
② 释放函数调用过程中分配的所有内存空间,
③ 结束函数调用,将流程控制权交给主调函数。
举例说明:本讲义17页的例子。;5.3 局部变量与全局变 ;5.3.1 局部变量;对局部变量的说明:
(1)主函数中定义的变量只能在主函数中使用,不能在其它函数中使用。
(2)形参变量是属于被调函数的局部变量,
您可能关注的文档
最近下载
- 危险化学品生产经营单位安全管理.pptx VIP
- DBJ33_T 1283-2022顶管工程技术规程.pdf VIP
- 《防止电力建设工程施工安全事故三十项重点要求》宣贯与解读.pdf VIP
- 新能源汽车高压安全操作规范.pptx VIP
- 吉利汽车财务报表分析.docx
- 2024年中考语文试题分项汇编:词语运用(第03期)(解析版).pdf VIP
- SMW工法围护桩监理实施细则[全面]范本.doc VIP
- 浅谈市政工程项目成本控制开源与节流.doc VIP
- 最新人教版数学一年级下册第七单元《7.3 数量关系》教学课件(2025年春-新教材).pptx VIP
- 2024年中考语文一轮专题复习:图文转换 专项练习题(Word版,含答案).docx VIP
文档评论(0)