- 1、本文档共114页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)全局变量在程序运行的全过程中一直占据存储单元,过多使用全局变量,不利于存储器资源的有效利用。
综上所述,在程序设计中,只有非用不可时才定义全局
您可能关注的文档
- 《移动互联网应用新技术》课件 - 副本 (2).ppt
- 《冲压工艺与模具设计》课件第9章.ppt
- 《冲压工艺与模具设计》课件第4章.ppt
- 《机械制图与计算机绘图》课件1第5章.ppt
- 《机械制图与计算机绘图》课件1第7章.ppt
- 《EDA技术及应用》课件1第6章.ppt
- 《机械制图与计算机绘图》课件1第4章.ppt
- 《TD-SCDMA移动通信技术系统及仿真实验》课件第9章.ppt
- 《冲压工艺与模具设计》课件第3章.ppt
- 《C语言程序设计基础》课件第9章.ppt
- 2025年贵州工业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年西昌民族幼儿师范高等专科学校高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年西藏警官高等专科学校高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年贵州工商职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 2025年贵州工商职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年贵州农业职业学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年许昌职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年许昌职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
最近下载
- 《幼儿园游戏化课程实施策略研究国内外文献综述》4300字.docx
- 高一人音版音乐教学:《欧洲与拉丁美洲音乐》教学设计.doc
- 电力机车制动机03.pptx VIP
- 电力机车制动机04.pptx VIP
- 四川省成都市成华区2022-2023学年九年级上学期期末化学试卷.docx VIP
- 2022-2023学年四川省成都市青羊区九年级上学期期末考试化学试卷含详解.pdf VIP
- 污水处理系统的防火防爆(最新版).docx VIP
- 四川省成都市学校2023-2024学年九年级上学期期末化学试卷(含解析).pdf VIP
- 53天天练六年级数学下册课堂练(人教)附答案解析.doc
- 中考数学备考策略与方法.pptx VIP
文档评论(0)