- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计_8课件
第八章 函数; 回顾:
程序设计方法:自上而下,逐步细化
C语言:函数式语言
在C程序设计中,通常:
将一个大程序分成几个子程序模块(自定义函数)
将常用功能做成标准模块(标准函数)放在函数库中供其他程序调用
如果把编程比做制造一台机器,函数就好比其零部件。
可将这些“零部件”单独设计、调试、测试好,用时拿出来装配,再总体调试。
而且,许多“零部件”我们可以只知道需向它提供什么,它能产生什么,并不需要了解它是如何工作、如何设计制造的——所谓“黑盒子”;1、 一个源文件由一个或多个函数组成, C语言是以源文件为单
位而不以函数为单位进行编译的。
2、 一个C程序由一个或多个源(程序)文件组成——可分别编
写、编译和调试。
3、 C程序执行总是从main函数开始,调用其它函数后总是
回到main???数,最后在 main函数中结束整个程序的运行。
4 、所有函数都是平行的、互相独立的,即在一个函数内只能
调用其他函数,不能再定义一个函数(嵌套定义)。
5 、一个函数可以调用其他函数或其本身,但任何函数均不可
用main函数。
6、 从函数的形式看分两种:无参函数、有参函数。;函数的参数;函数定义——“制造函数” ;2、有参函数 (P146)
定义格式:
数据类型 函数名(形参表)
形参类型说明;
/*现代风格是:函数名(带类型形参表)*/
{ 函数体(说明部分+ 语句)} ;例;void printstar( )
{
printf(“***********\n”);
};函数的传值调用
参数是函数调用时进行信息交换的载体;
实参是调用函数中的变量,
形参是被调函数中的变量;
调用过程中实现实参与形参的结合。;形参与实参的说明:;int max(int x,int y) /*有参函数*/
{ int z;
z=xy?x:y;
return(z);
};8.3.2 函数的返回值--通过函数体中的 return语句获得。;【注意】如果函数值类型与return语句表达式值的类型不一致,以函数类型为准(数值型会自动进行类型转换)。如果明确表示不需返回值,可用void作函数的数据类型。 ;结果:Max is 2 (编译通过,结果错误)
【讨论】如何改错?
如果将输出语句中的%d改为%f,结果: Max is 2.000000 (亦错)
如果将max(x,y)改为float max(x,y),结果编译出错:
Type mismatch in redeclaration of ‘max’
为什么?(原因见“函数的调用”)。 ;8.4-1 函数的声明;1、调用同一源文件中的标准函数时;一般形式
函数名(实参列表);
; 函数语句 --函数不带返回值,只完成一定操作
例 printstar( );; void printstar( ) { printf(``*******************\n``);
}
void print_message( )
{ printf(`` how do you do! \n``);
}
main( )
{ printstar( ); /*无参调用*/
print_message ( );
printstar( );
};int max(int x,int y) /*有参函数*/
{ int z;
z=xy?x:y;
return(z); /*定义出现在主调函数前,则不必再声明。*/
};找出三个数的最大值 --定义出现在主调函数前,则不必再声明。
max(int x,int y)
{ int z;
z=xy?x:y;
return(z);
}
main()
{ int a,b,c,m;
scanf(“%d%d%d”, a,b,c);
m=(a, max(b,c)); /*形参为函数*/
printf(“max= %d\n”,m);
};float add(float, float);
main()
{ float a,b,c;
scanf(“%f
文档评论(0)