C语言基础第7章一维数组.ppt

上传人:max****ui 文档编号:6333117 上传时间:2020-02-23 格式:PPT 页数:19 大小:309KB
返回 下载 相关 举报
C语言基础第7章一维数组.ppt_第1页
第1页 / 共19页
C语言基础第7章一维数组.ppt_第2页
第2页 / 共19页
C语言基础第7章一维数组.ppt_第3页
第3页 / 共19页
点击查看更多>>
资源描述
第7章数组与字符串 7 1一维数组7 2多维数组7 3字符数组与字符串 当我们需要处理相关联的一批数据时 基本类型数据就不能进行有效的表示 存储和处理 为了解决这个问题 引入了构造数据类型 数组是构造数据类型中的一种 数组是由一些相同类型的数据按一定的规则构成的数据类型 它的每个成员称为数组元素 每个数组元素都可作为简单变量来使用 字符串 是字符的序列 它不是C语言的数据类型 但与数组密切相关 因此 字符串也是本章的一个重要内容 数组操作中 离不开循环程序技术的配合 两种技术总是密切地联系在一起 7 1一维数组 数组是一些同类型数据的有序集合 它们存储在内存的一个连续的存储区内 数组中的每个元素用下标加以区别 所以 数组元素又称为下标变量 数组下标的个数 称为数组的维数 7 1 1一维数组的定义和其他变量一样 数组也要遵循 先定义后引用 的原则 程序中使用数组时 必须先用数组定义语句对其进行说明 通过定义说明数组的名字 数据类型 维数和容量 一维数组定义语句的一般格式为 数据类型数组名 常量表达式 常量表达式表示的是数组容量 也叫做数组的长度 它说明数组元素的个数 当定义了一个数组后 系统就在内存的数据区为它开辟一个连续空间 用来存储各数组各元素的数据 下标值是从零开始的 作为变量的数组元素 它的下标 既可以是常量表达式 也可以是含变量的表达式 例如 abc i abs i j 等 构造数据类型之一数组 有序数据的集合 用数组名标识元素 属同一数据类型 用数组名和下标确定一维数组的定义定义方式 数据类型数组名 常量表达式 合法标识符 表示元素个数下标从0开始 数组运算符单目运算符优先级 1 左结合不能用 例inta 6 编译时分配连续内存内存字节数 数组维数 sizeof 元素数据类型 数组名表示内存首地址 是地址常量 7 1 2数组元素的引用数组元素的引用是通过数组下标变量的实现的 下标变量的形式为 数组名 下标 例7 1 1设有整型数组a 其长度为5 编写程序 令5个数组元素的值依次为10 20 30 40和50并输出数组各元素的值 这个问题可以用循环结构技术完成 程序如下 include stdio h main inti a 5 for i 1 i 5 i a i 1 i 10 为数组元素赋值 for i 0 i 4 i printf a d d n i a i 输出数组各元素的值 程序给出下面的输出结果 a 0 10a 1 20a 2 30a 3 40a 4 50 可以看到 数组元素的引用是通过数组名和相应的下标引用的 这种引用方法叫作 下标法 在程序中引用数组元素时 其下标不能超过该数组定义的长度 C语言系统不进行数组是否超出定义的边界的检查 这个任务由用户自己解决 这就要求程序设计人员必须给数组以足够的容量 当然 还要注意程序的正确性 数组容量不够或程序的错误 都有可能导致数组的运算超出数组的边界 运算超出数组边界是有一定危险的 编程时要特别注意 一维数组的引用数组必须先定义 后使用只能逐个引用数组元素 不能一次引用整个数组数组元素表示形式 数组名 下标 其中 下标可以是常量或整型表达式 例inti 15 intdata i 不能用变量定义数组维数 例inta 10 printf d a 必须for j 0 j 10 j printf d t a j 例intdata 5 data 5 10 C语言对数组不作越界检查 使用时要注意 7 1 3一维数组的初始化初始化方式 在定义数组时 为数组元素赋初值 在编译阶段使之得到初值 inta 5 1 2 3 4 5 等价于 a 0 1 a 1 2 a 2 3 a 3 4 a 4 5 说明 数组不初始化 其元素值为随机数对static数组元素不赋初值 系统会自动赋以0值 当全部数组元素赋初值时 可不指定数组长度 如inta 5 6 2 3 等价于 a 0 6 a 1 2 a 2 3 a 3 0 a 4 0 如inta 3 6 2 3 5 1 staticinta 5 等价于 a 0 0 a 1 0 a 2 0 a 3 0 a 4 0 只给部分数组元素赋初值 inta 1 2 3 4 5 6 编译系统根据初值个数确定数组维数 7 1 4一维数组程序设计一维数组的程序设计 仍然离不开我们已经学过的顺序结构 选择结构和循环结构的设计方法 但在这一节我们更关注的是数组的设计和处理 我们要学习如何根据问题确定所需要的数组 如何处理数组中的各个数组元素 对于若干个相互关联的 有某种联系的数据 一般用数组来组织这些数据 会对程序的数据处理带来很大的好处 减小程序设计的难度 提高数据处理的效率 在加工处理数组数据方面 循环程序技术起着非常大的作用 在许多情况下 不采用循环程序设计恐怕是不可能的 下面通过一些程序例子来学习一维数组程序的设计 程序举例 例读10个整数存入数组 找出其中最大值和最小值 步骤 1 输入 for循环输入10个整数2 处理 a 先令max min x 0 b 依次用x i 和max min比较 循环 若maxx i 令min x i 3 输出 max和min include defineSIZE10main intx SIZE i max min printf Enter10integers n for i 0 ix i min x i printf Maximumvalueis d n max printf Minimumvalueis d n min 例用简单选择法对10个数排序 排序过程 1 首先通过n 1次比较 从n个数中找出最小的 将它与第一个数交换 第一趟选择排序 结果最小的数被安置在第一个元素位置上 2 再通过n 2次比较 从剩余的n 1个数中找出关键字次小的记录 将它与第二个数交换 第二趟选择排序 3 重复上述过程 共经过n 1趟排序后 排序结束 例 初始 49386597761327 i 1 13 49 一趟 13 386597764927 i 2 27 38 六趟 132738496576 97 Ch5 201 c includemain inta 11 i j k x printf Input10numbers n for i 1 i 11 i scanf d
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!