实验3函数和数组.docVIP

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

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档