- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3函数和数组.doc
实验3函数和数组
一、 实验目的
掌握函数的定义,调用以及函数值的返回。
掌握递归函数的定义与调用。
掌握内联两数的定义与调用。
掌握一维、二维数组的定义与使用。
掌握数组在函数参数中的传递方式。
掌握一维数组的排序,并用二维数组处理矩阵。
二、 知识要点
(-)函数
函数的定义格式
<类型名X函数名 >([< 参数表>])
<函数体〉
函数的原型声明
在C++屮,如果一个函数要调用另外一个函数,则需要在本函数(称为主调函数)定义Z 前将要被调用的函数事先声明。函数原型的声明形式是:
〈类空X被调用函数名>([〈形参表>]);
函数的调用
函数调用的格式为:
函数名([〈实参表>]);
函数的参数
在定义函数时,C++语言用三种方式将函数的形式参数分别声明为值参数、地址参数和 引用参数。
值参数
传递规则:直接将实参的值复制给形参。这种传递方式的特点是无论被调用函数如何改 变形参,都不会对实参产生任何影响。
地址参数
传递规则:实参在向形参传递时复制的是实参的地址。这种传递方式的特点是形参的改 变会对实参产生影响。
引用参数
传递规则:实参在向形参传递时复制的是实参的“别名〃,这种传递方式的特点是形参的 改变会对实参产生影响。
在C++中,函数在原型声明或定义时可以在形参表内预先给形参指定默认的值,这样 的函数称为带默认值的函数,其形参表的一般形式为:
〈类型>〈形参1>二〈表达式1>, ,〈类型〉〈形参n>二〈表达式n>
函数的嵌套调用和递归调用
嵌套调用:在一个函数的执行过程中去调用另外一个函数处理相应任务的方法。
基本原则:被调川的两数必须提前定义,如果被调丿IJ的函数定义在主调函数之后,则必 须在主调函数询的适当位置有被调函数的函数原型声明。
内联函数
在一个函数的定义或声明前加上关键字inline就可以把该函数定义为内联函数。
使用内联函数需要注意以下儿点:
(1) 内联函数中不能含有任何循环语句以及switch和goto语句。
(2) 内联函数的声明必须岀现在内联函数第一次被调用之前。
(3) 内联函数中不能声明数组。
(4) 递归函数不能被定义为内联函数。
函数的重载
在C++语言屮允许定义多个同名函数,这个功能被称为函数重载。
需要注意的是重载函数的形参在个数或类型上必须不同,不能仅依靠函数的返回值类型 來区别重载函数,必须从形参数上区别开來。
作用域
在C++中,作用域可以分为5种:函数原型作用域,函数作用域,块作用域,类作用域 和文件作用域。
全局变量和局部变量
在函数内部或块内部声明的变虽称为局部变虽,它具冇块作用域,即从它声明的那一点 开始到这个声明所在的块或函数结束为止。
在一个程序文件中,在所有函数外部定义的变量称为全局变量,有吋也称为全程变量、 公川变量。全局变量作用域是文件作用域,即从定义变量的位置开始到木程序文件结束。
变量的存储类型和牛命周期
在C++中,变量的存储类型分为4种:自动类型(auto),寄存器类型(register),外 部类型(extern),静态类型(static)。用这4种类型说明的变量分别称为白动变量,寄存 器变量,外部变量,静态变量。
生命周期是指一个标识符(变量,函数,类,对象等)从被创建开始到被释放为止的时间。
编译预处理
编译预处理是指在对源程序进行正常的编译之询,先对这些命令进行预处理,然后将预 处理的结果和源程序一起再进行编译处理。C++提供的编译处理命令冇:宏定义命令,文件 包含命令和条件编译命令,这些命令均为〃#〃开头,以区别于语句。
(1) 宏定义
不带参数的宏定义:不带参数的宏定义相对比较简单,如下:
#define宏名字符串(或数值)
带有参数的宏定义:在宏定义小允许宏名后带参数,如下:
#define宏名(参数表)字符串
(2) 文件包含
预处理指令^include称为文件包含指令。
^include指令有两种书写形式:
第一种:^include〈文件名〉
第二种:#include 文件名
(3) 条件编译
条件编译指令有如卜?儿种形式:
形式一:
#if常量表达式1 程序段1
如1 if常量表达式2
程序段2
#elif常量衣达式n 程序段n
#else
程序段n+1
#endif
形式二:
ttifdef标志符
程序段1
#else
程序段2
#endif
形式三:
#i fndef标志符
程序段1
#else
程序段2
#endif
(二)数组
数组就是把一系列有序的相同类型的数据组合起来的数据集合,数组都有一个名字即数 组名。数组中的每一个数据成为数组的元素。数组元素在数组中的位置由下标确定。根据数 纽元索卜?标的个数,数组分为一维数纽和多维数组。当数组元素的数据类型为字符型时,该 数组称为字符数组。
一维数组的定义与初始化赋值
(1)
您可能关注的文档
- 安都ASA110A臭氧消毒效果验证方案.doc
- 安锻集团制造全球第三台单体最重数控全液压模锻锤出口美国.doc
- 安阳师范学院国际经济与贸易本科学生毕业.doc
- 安阳师范学院本科学生毕业.doc
- 安阳师范学院本科学生毕业企业投资结构研究报告11页.doc
- 安顺市、黔东南州2017年中考语文试题及答案.doc
- 安龙县国营龙山煤矿井底水仓设计方案.doc
- 安龙县国营龙山煤矿安全质量标准化欠缺软硬件.doc
- 安龙县国营龙山煤矿试转评估报告12.doc
- 安龙县龙山鑫发煤矿2017年度安全风险辨识评估报告.doc
- 剧本杀市场2025年区域市场区域消费心理分析报告.docx
- 剧本杀内容创作激励机制在剧本市场中的应用与效果评估.docx
- 剧本杀内容创作者激励措施2025年市场策略分析.docx
- 剧本杀内容监管技术优化路径2025探索.docx
- 剧本杀行业2025年人才培训行业人才培养环境优化.docx
- 剧本杀行业2025年人才培训行业培训师教学能力提升报告.docx
- 剧本杀行业2025年内容激励机制与行业规范研究报告.docx
- 剧本杀内容创作激励机制2025年市场机会与挑战分析.docx
- 剧本杀内容创作激励机制2025年市场分析与策略建议.docx
- 剧本杀市场2025年区域竞争策略与行业生态构建报告.docx
最近下载
- 海南省海口市(新版)2024小学语文人教版小升初真题(巩固卷)完整试卷(含答案).docx VIP
- 2025-2030中国医学影像设备行业深度调研及投资前景预测研究报告.docx
- 公安院校公安专业本专科招生政治考察表(2022年西藏报考公安院校公安专业招生).doc VIP
- 劳动争议管理制度.docx VIP
- 2024年秋季新北师大版七年级上册数学全册导学案.docx
- 2020-2021学年北京市朝阳区北京版四年级下册期末测试英语试卷.docx VIP
- 骨关节感染患者的护理(外科护理).pptx
- 波形护栏质量检验评定表、报告单.pdf VIP
- 大学《传感器原理及应用》习题解析及期末考试真题.docx VIP
- 基于PLC控制的泡沫切割机-毕业论文.doc VIP
文档评论(0)