- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.1求周长与面积
6.2验证歌德巴赫猜想
6.3求最大公约数
6.4Fibonacci数列
6.5编译预处理
6.6综合应用实例
;6.1 求周长与面积;函数:功能独立,反复使用的代码段
(1)一个源程序文件由一个或多个函数构成。
(2)程序是由一个或多个源程序文件组成,以源程序文件为单位进行编译。
(3)C程序的执行从main函数开始,在main函数中结束。
(4)函数不能嵌套定义,可相互调用,但不能调用main函数。 ;1. 从函数定义的角度
(1)标准函数,即库函数。
(2)用户自定义函数。
2. 从函数参数的角度
(1)无参函数。函数定义、函数说明、函数调用均不带参数。 (2)有参函数。函数定义、函数说明时有形式参数。函数调用时有实际参数(简称实参)。
3. 函数分类的其他角度
(1) 返回值:有返回值和无返回值函数;
(2) 返回值类型:整型、实型、字符型和指针型函数等。;6.1.4 函数的定义;??例6-2】编写求两个整数的较大值函数max()。;【例6-2】包含无参但有返回值函数的C程序例。;类型 函数名(类型 形参1,类型 形参2,…)
{
声明部分语句;
执行部分语句;
} ;【例6-2】包含有参有返回值函数的C程序示例。;【例6-2】有参无返回值函数的C程序示例。;#includestdio.h
void pyramid(int n)
{int i,j;
for(i=1; i=n; i++)
{
for(j=1;j=n-i;j++) printf(“ ”);
for(j=1;j=i;j++) printf(“%d ”,i);
printf(\n);
}}
void main( )
{
int n;
scanf(%d, n);
pyramid(m);
};“空函数”定义的一般形式 类型说明符 函数名() { }
例如: void khs( )
{ }
主函数中可有调用语句khs(); 但没有任何作用;“空函数” 一般为今后程序中增加函数预留位置。 ;函数的首部写成不止一行的形式。
类型说明符 函数名(形参1,形参2,…)类型 形参1,类型 形参2,…;
{ 说明部分语句;
执行部分语句;
} ;6.1.5 函数设计的基本原则;6.2 验证哥德巴赫猜想 ;#includestdio.h
int prime(int n)
{int i,j;
if(n=1) return 0;
for(i=1;in;i++)
if(n%i==0) return 0; //找到一个能被n整除的数,不是素数
return 1;
}
void main( )
{
int s,a;
int prime(int n);
scanf(%d, s);
for(a=2;a=s/2;a++)
if(prime(a)prime(s-a))
printf(“%d=%d+%d\n”,s,a,s-a);
};6.2.2函数调用和参数传递
1.函数调用
函数名(实际参数表)
【说明】①实际参数表中有多个实参用逗号分隔;②实参与形参的个数应相同,类型应对应;③调用无参函数,函数名后的一对园括号“( )”不能省略。 ;① 为被调函数局部变量(含定义的变量和形参)开辟存储单元。
② 将实参的值复制给形参。
③ 流程从主调函数的调用处转移到被调函数,执行被调函数体中语句序列。
④ 当执行到被调函数“return (表达式);”语句时,返回到主调函数,将表达式的值作为函数值替换“函数名(实际参数表)”,结束被调函数的执行;如无return语句,则遇函数体右花括号“}”结束被调函数的执行。
⑤ 释放局部变量的存储单元,流程从被调函数转移到主调函数的调用处。
⑥ 继续从主调函数的调用处向下执行。 ;2.函数调用的应用形式
(1)函数调用语句;pyramid(n)
(2)出现在表达式中;if(prime(a)prime(s-a))
(3)作为另一个函数调用的实际参数. max(max(a,b),c)
3. 函数调用时实参求值的顺序(从右到左); return(表达式);或 return 表达式;
功能:1、计算表达式的值,并作为函数值返回给主调函数。
2、一个函数中允许有多个return语句,但每次调用只执
行一个return语句,只能返回一个函数值。 ;6.2.4 函数
文档评论(0)