C_C++程序设计教程与上机实训 教学课件 作者 于文强 程立福 毛慧凤 第五章.PPTVIP

C_C++程序设计教程与上机实训 教学课件 作者 于文强 程立福 毛慧凤 第五章.PPT

  1. 1、本文档共38页,可阅读全部内容。
  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文档。上传文档
查看更多
第5章 构造型数据类型和枚举型数据类型 5.1 数组 5.1.1 概述 前面几章使用的数据都是基本数据类型,存放这些简单类型数据的变量称为简单变量。每个变量都有一个单独的名字,系统给它们分配一个存储单元,通过变量名实现数据的存取。但是简单变量只能处理少量的数据。而在实际应用中往往会碰到这样的问题:把一个班的所有学生的某门课程的成绩记录下来,求其总成绩、平均成绩,并把学生的成绩排序后输出。如果为每一个学生的成绩定义一个变量,那么需要多个输入语句,并且求总成绩和平均成绩的代码会非常冗长。而对于处理此类具有同一性质的成批数据,使用数组就非常方便。在程序中使用数组的最大好处是用一个数组名代表逻辑上相关的一批数据,用下标表示数组中的各个元素,并且与循环语句结合使用,使得程序简洁,结构清晰。 5.1.2 一维数组 只有一个下标量的数组称为一维数组。 1.一维数组的定义 数组的定义包括定义数组名、数组的维数、每一维数组的个数及元素的数据类型。 一维数组的定义的格式如下: 数据类型 数组名[常量表达式]; 其中,数据类型是C语言提供的任何一个基本数据类型或构造数据类型,数组名是用户定义的标识符,常量表达式是数组的维数,它决定了数组元素的个数。 2.一维数组的初始化 数组的初始化就是给元素赋初值,一般有两种方法:定义数组时初始化和使用赋值语句初始化。 (1)定义数组时初始化 数组初始化赋值是指在进行数组定义时给数组元素赋初值。数组初始化是在编译阶段进行的,这样可以减少运行时间,提高效率。 (2)使用赋值语句初始化 这种初始化是在程序执行过程中实现的。 3.一维数组元素的引用 一维数组元素的引用方法有下标法和指针法,在这里我们使用下标法。一维数组元素的引用的一般形式为: 数组名[下标] 其中的下标只能是整型变量或整型表达式,并且下标的最大值为数组长度减1。 我们这样定义两个数组: int x[5],y[5],i=2; x[0],x[i],y[i],y[i+2]是合法的引用,x[5],y[5]则是不合法的引用。 在数组引用中要注意的问题: 引用时下标既可以是常量,也可以是变量,或者是表达式。而定义数组时下标只能是常量或常量表达式。 C语言中对数组的引用不检查数组的边界,当引用下标超界时,C系统不会报错,但可能使其他变量的值甚至程序代码被破坏,使得程序运行中断或结果出错。 只能逐个引用数组元素,不能一次引用整个数组。 5.1.3 二维数组与多维数组 1.二维数组的定义 定义二维数组的语法为: 数据类型 数组名[行数][列数]; 其中行数和列数都是一个常量表达式,它们表示了二维数组中行的个数和列的个数,二维数组总的元素个数为:行数×列数。 2.二维数组的引用 二维数组引用的形式为: 数组名[行下标][列下标] 数组下标应该是整型变量或整型表达式,如果是浮点型,编译时也不会出错,系统会自动截去小数部分。行下标小于等于行数减1,列下标小于等于列下标减1。 3.二维数组的初始化 二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。 5.1.4 多维数组 通常把三维及三维以上的数组称为多维数组,它在处理三维问题等复杂的空间问题时非常有用。比如要处理一个年级的学生的课程成绩时,第一维可以设为班级号,第二维可以设为学生序号,第三维可以设为学生的课程号。 定义多维数组的格式如下: 数据类型 数组名[常量表达式1][常量表达式2][常量表达式3]…; 5.2 结构体 前面我们学习了一些简单数据类型的定义和应用,还学习了数组的定义和应用,这些数据类型的特点是:当定义某一特定数据类型,就限定该类型变量的存储特性和取值范围。对简单数据类型来说,既可以定义单个的变量,也可以定义数组。而数组的全部元素都具有相同的数据类型,或者说是相同数据类型的一个集合。 5.2.1 结构体类型的定义 结构体是一种数据的类型,C语言本身没有提供具体的结构类型,但是它提供了说明结构类型的方法。我们只有在定义了相应的结构体数据类型后,才能定义相应的结构体变量。 在C语言中,定义一个结构体的一般形式为: struct 结构体名 { 成员表列 }; 成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为: 类型说明符 成员名; 成员名的命名应符合标识符的书写规定。 5.2.2 结构体类型变量的定义 1.先定义结构,再说明结构变量 例如: struct score { char grade[40]; /*班级*/ char num[20]; /*学号*/ char sname[30]; /*姓名*/ float cpl; /*C

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档