C 语言程序设计-能力教程 第五版 -1765263483278.pptxVIP

C 语言程序设计-能力教程 第五版 -1765263483278.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

;第7章应用函数设计程序实现模块化设计;7.1函数的引入;C是模块化程序设计语言;1、一个C程序可以由若干个源文件组成。;5、函数的类型包括:可以从以下三个角度划分。;使用库函数应注意:

1、函数功能

2、函数参数的数目和顺序,及各参数意义和类型

3、函数返回值意义和类型

4、需要使用的包含文件;7.2函数的定义与调用;两个程序等价:;2、有参函数的定义;说明:函数定义的类型为函数返回值的类型;如果不

定义,系统缺省为整型。;【例7.1】定义一个求任意两个整数中最大值的函数,由main()函数调用。;二、函数的参数和返回值;形参x,y在被调函数sum(x,y)中定义,无值,被主调函数调用时:c=sum(a,b);将实参a,b的值传给x,y;“传值”与“传址”的区别;2、函数的返回值;例:c=sum(a,b);将函数sum的返回值赋给变量c。;如果函数中没有返回语句return,函数调用结束时,不是不返回值,而是返回个不确定的值。;floatf(x,y)

floatx,y;

{floatz;

z=x+y*y;

if(!y)

return(0.0);

return(cos(z));

};main()

{inta;

voiddisp();

printf(“Enteraninteger:\n”);

scanf(“%d”,a);

disp(a);

};C语言规定:函数返回值类型是由:

A)return语句中的表达式类型决定

B)调用该函数时的主调函数类型决定

C)调用该函数时系统临时决定

D)定义该函数时所指定的函数类型决定;函数的调用;当i的原值为2时,对函数f(i,++i)

从左向右,为f(2,3)从右向左,为f(3,3)

若i=3,printf(“%d,%d\n”,i,++i)的结果为:4,4;【例7.2】读下列程序写出结果。;五、对被调函数的说明;2、有关函数的类型;3、C允许在以下情况下不作说明;?不定义类型,缺省:int;一、函数嵌套调用;函数的嵌套调用;voidbeijing();

voidshanghai();

main(){printf(“I‘minmain.\n”);beijing();

printf(“I’mfinallybackinmain().\n”);}

voidbeijing()

{printf(“I‘minbeijing.\n”);shanghai();

printf(“HereI’mbackinbeijing.\n”);}

voidshanghai()

{printf(“NowI’minshanghai.\n”);};【例】写两个函数,分别求两个整数的最大公

约数和最小公倍数,用主函数调用这两

个函数,并输出结果。;二、函数的递归调用;递归:函数表示为自变???与自身的某种组合。;2、使用递归调用解决问题的方法;fac(intn)

{if(n==0)

return(1);

else

return(n*fac(n-1));

};3、递归调用的过程(两个阶段);┌──┐

│n4=4│

└──┘;例:反向输出给定的整数。;;intturn(n)

intn;

{if(n=10){printf(“%d”,n%10);

turn(n/10);

}

elseprintf(“%d”,n);

};7.4函数应用实例;【例7.6】应用函数求5!+16!+27!;【例7.7】定义求和的通用函数模块。求s=(1+2+3…+10)/(1+2+3…+100)X(1+2+3…+50)。;【例7.8】求学生的平均成绩;1、数组元素作函数的参数;#defineN5

main()

{inti,j,a[N];

for(i=0;iN;i++)

{printf(Enter%2d:,i+1);

scanf(%d,a[i]);

}

sort(a,N);

for(i=0;iN;i++)

printf(%d,a[i]);

};main函数;【例7.9】多维数组做函数的参数:求3x3矩阵转置。;【例7.10】Hanoi(汉诺)塔问题。;7.5局部变量与全局变量;f()

{intx=1;

{intx=2;

文档评论(0)

一笑倾洁 + 关注
实名认证
文档贡献者

PPT课件

1亿VIP精品文档

相关文档