《C语言程序设计基础》第7章 数组.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 数组 本章要点数组的定义和下标数组的初始化多维数组C语言数据类型 基本数据类型(标量) 整型、浮点型、 字符型 聚合类型(也称为构造类型): 数组、 结构、 联合、 枚举 基本数据类型的特点 变量是单值的,由变量名直接访问 数据是不可再分的原子类型标量与聚合变量 到目前为止我们所见到的变量都是标量标量:具有保存单一数据项的能力 C语言也支持聚合类型变量聚合变量:可以存储数值的集合 C语言中主要有两种聚合类型:数组和结构本章将集中介绍一维数组一维数组是理解多维数组的基础一维数组数组(array)是含有多个数据值的数据结构每个数据值具有相同的数据类型这些数据值被称为元素(element)数组内可以根据元素所处的位置对其进行单独访问简言之,数组是相同性质的一组数据的组合数组元素的数据类型相同, 个数确定最简单的数组类型就是一维数组一维数组中的元素一个接一个地编排在单独一行 (或者一列)内一维数组例:要求输入计算机10个同学的外语成绩,并按与输入相反的次序显示外语成绩。 方法一:可以用10个变量分别取名为score1,score2,……,score10来存储10名学生的外语成绩问题:如果有10000个考生怎么办? 方法二:使用数组方便、扩展性好一维数组的定义 数组元素个数声明一个数组: 类型定义符 数组名 [ 常量表达式 ]; 例如: int score[10]; 声明了一个 score数组 score数组包含有10个数据成员 数据成员的类型为:整型一维数组定义方法说明数组的元素可以是任何类型数组名使用标识符表示用方括号将常量表达式括起常量表达式定义了数组元素的个数数组的长度可以用任何整型常量表达式说明int score[10];#define N 10…int score[N];较好的方法是用宏来定义数组的长度数组下标为了存取特定的数组元素可以在数组名的后边加上一个用方括号围绕的整数值称为对数组进行下标(subscripting)或索引(indexing)长度为n的数组,其元素的索引是从0到 n-1如果a 是一个长为10的数组则其元素可标记为 a[0], a[1], …, a[9]:数组的存储与访问方式C语言中数组元素是由数组下标的索引值进行标注的第一个元素的索引值是0图中add代表数组第一个元素在内存中的位置由于数组元素均是int型(4字节)数组score共占用40字节的内存空间(按照字节编址)数组下标a[i]是左值所以数组元素可以和普通变量一样使用a[0] = 1;printf(%d\n, a[5]);++a[i];一般来说,如果一个数组所包含元素的类型为T,则数组的每个元素都可以被当做一个类型为T的变量来对待数组下标通常采用for循环对数组中的每个元素执行操作下面是关于长度为N的数组的一些典型操作示例: for (i = 0; i N; i++) a[i] = 0; /* clears a */ for (i = 0; i N; i++) scanf(%d, a[i]); /* reads data into a */ for (i = 0; i N; i++) sum += a[i]; /* sums the elements of a */数组下标C语言不要求检查下标的范围当下标超出范围时,程序可能执行不可预知的行为典型错误:忘记n个元素数组的索引是从0到n-1,而不是到n int a[10], i; ? for (i = 1; i = 10; i++) a[i] = 0;这个for语句表面上看似正确对于某些编译器来说却可能产生一个无限循环对于某些编译器来说却可能导致程序崩溃数组下标数组下标可以是任何整数表达式 a[ i+j*10 ] = 0;注意:数组下标表达式甚至可能会有副作用 i = 0; while (i N) a[i++] = 0;数组下标考察如下程序 i = 0; while (i N) a[i] = b[i++];表达式 a[i] = b[i++] 访问了 i的值并且修改了 i结果导致不可预知的行为i 何时自增由编译器的实现决定从下标中移走自增操作可以避免此类问题的发生 for (i = 0; i N; i++) a[i] = b[i];程序reverse.c:数列反向要求用户录入一串数,然后按反向顺序输出这些数: Enter 10 numbers: 34 82 49 102 7 94 23 11 50 31 In reverse order: 31 50 11 23 94 7 102 49 82 34编程思路程序在读入数时将其存储在一个数组中然后通过数组反向开始一个接一个地显示出数组元素#include stdio.h#define N

文档评论(0)

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

人力资源管理师、教师资格证持证人

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

版权声明书
用户编号:6152114224000010
领域认证该用户于2024年03月13日上传了人力资源管理师、教师资格证

1亿VIP精品文档

相关文档