网站大量收购闲置独家精品文档,联系QQ:2885784924

《C语言程序设计基础》课件第7章.ppt

  1. 1、本文档共114页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实训任务十三熟悉函数的功能及其使用方法

实训项目1围绕以下问题,开展讨论,给出答案。

(1)程序设计中模块化程序设计的内涵意义是什么?

(2)?C语言中如何定义函数?定义函数要考虑那些问题?

(3)?C语言中如何根据功能模块设计函数?

(4)?C语言中如何实现函数调用?

(5)?C语言中变量的作用域含义是什么?如何实现参数传递?

(6)?C语言中如何声明一个函数?如何引用系统函数?

(7)?C语言中什么是函数的嵌套调用?

(8)?C语言中什么是递归调用算法以及如何用函数实现?

实训项目2分析以下问题,从每一题的4个备选项中选择一个正确项。

(1)?C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是()。

A.地址传递

B.由实参传给形参,并由形参传回给实参

C.值传递 D.由用户指定传递方式

(2)在C语言程序中()。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均可以嵌套

C.函数的定义和调用均不可以嵌套

D.函数的定义不可以嵌套,但函数的调用可以嵌套(3)?C语言中形参的默认存储类别是()。

A.自动(auto) B.静态(static)

C.寄存器(register) D.外部(extern)

(4)以下函数调用语句中,含有的实参个数是()。

fun(x+y,(e1,e2),fun(xy,d,(a,b)));

A.3 B.4

C.6 D.8

实训项目4分析程序,在下划线处填写适当的语句代码,使程序能够正确运行。

(1)下面程序的功能是:在一个函数中按从小到大的顺序对传入的数组进行排序,在主函数中,调用这个函数,并输出结果。

数组原始数据为23,8,5,12,34,21,45,59,38。

(3)程序功能:在一个函数中将两个字符串进行连接。在主函数中输入这两个字符串,并输出连接后的结果。实训任务十四学习模块化程序设计的方法

完成以下项目问题的程序设计,并上机调试,使其实现所要求的功能。

实训项目1编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格或其他字符的个数,在主函数中输入字符串以及输出上述结果。

实训项目2编写一个函数,将一个给定的二维数组(3×3)转置,即行列互换,在主函数中定义二维数组,初始化原始数据,以矩阵形式输出转置后的数据。

实训项目3编写一个函数,求两个整数的最大公约数。在主函数中输入两个整数,调用这个求最大公约数函数,并输出结果。

运行结果:

分析:在主函数中,a既在局部变量的作用范围,又在全局变量的作用范围,此时a用局部变量的值,b用全局变量的值,所以函数调用是max(8,5)。实参值传递给形参a,b,在max函数中形参起作用,全局变量a,b不起作用,调用返回值为8。(2)如果想在定义点之前的函数中使用外部变量,C语言是允许的,但要在该函数中用“extern”作外部变量说明,表示该变量在函数外部定义,在本函数内部使用。声明的一般形式为

extern类型说明符变量列表;

这样就扩大了外部变量的作用范围。外部变量说明和外部变量定义的作用意义是不一样的。外部变量定义在函数之外,只能有一次。而外部变量说明是在要使用的函数之内,可以有多次说明。系统根据外部变量定义给变量分配存储单元,而不是根据外部变量说明。

运行结果:

分析:在main函数中,x既是局部变量又是全局变量,应取局部变量的值5,y是全局变量,在main函数中有效,所以函数调用为mul(5,4)。在mul中,对外部变量z作了说明,可以引用z的值。因此函数返回值为x*y*z=5*4*5=100。

(3)由于全局变量能被一个文件中的各个函数引用,因而在一个函数中改变全局的值,在其他函数中可以引用改变后的值,相当于将一个函数中的值传递到其他函数中。所以,利用全局变量就增加了函数间数据传递的通道。利用外部变量提高函数间数据传递能力的同时,也会给程序设计带来一些负面影响:

(1)会使程序的通用性降低。因为如果将一个函数移植到另一文件中,还需要将相关的外部变量及其值一并移植。若所移植的外部变量与文件中的变量同名,就会出现问题,从而降低程序的通用性和可靠性。

(2)使用全局变量会使程序清晰性变差。因为在分析程序时,很难把握全局变量的动态值。

(3)全局变量在程序运行的全过程中一直占据存储单元,过多使用全局变量,不利于存储器资源的有效利用。

综上所述,在程序设计中,只有非用不可时才定义全局

您可能关注的文档

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档