7第七章-1一维数组.ppt_第1页
7第七章-1一维数组.ppt_第2页
7第七章-1一维数组.ppt_第3页
7第七章-1一维数组.ppt_第4页
7第七章-1一维数组.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

知识回顾 使用循环进行程序设计 1 求和 求积1 2 3 n1 1 2 1 3 1 n1 1 3 1 5 1 nn 2 数列中的值与前若干项有关 例如Fibonacci数列 1 1 2 3 5 8 13 知识回顾 3 判断素数 4 折分一个整数 5 输入字符 统计 用特殊的输入数据控制循环 6 打印图形 例6 18打印图形1 图形每行的起始位置相同 2 每行字符数相同 3 用一重循环控制输入行数即可 main introw 1 for row 5 row printf n 循环 程序设计 例6 19打印图形1 每行的起始位置不同 空格数递减12 每行字符数相同3 用二重循环实现 外循环控制打印行数 内循环控制打印空格数 5 row 循环 程序设计 main introw 1 col for row 5 row for col 1 col 5 row clo printf printf n 思考 从第20列开始打印图形 20 循环 程序设计 例 6 20打印图形分析 1 每行的起始位置不同 空格数20 row2 每行的字符数不同 字符数 2 row 13 利用二重循环实现 外循环控制打印行数两个并列内循环控制打印每行的空格数和字符数 循环 程序设计 main introw 1 col for row 5 row for col 1 col 20 row col printf for col 1 col 2 row 1 col printf printf n 思考 如何打印菱形 循环 程序设计 主要内容 一维数组的定义和引用二维数组的定义和引用字符数组 学习目标 掌握C语言数组和字符串的使用重点 一维 二维数组的使用 字符串的操作难点 字符数组的使用 第7章数组 统计全班某门功课考试的平均分和最高分 30人 方法1 用简单变量实现 defineN30voidmain inti sum 0 high 0 score floataverage printf inputeveryone sscore n 引例 for i 0 ihigh high score average float sum N printf average f n average printf highest d n high 引例 7 1基本概念 一 回顾基本数据类型 整型 实型 字符型存储特点 每个变量单独存储 各变量之间独立存放 无任何联系 亦称简单变量 如 x a y1 0 y2 1 7 1基本概念 二 数组的概念数组是由具有同一类型数据项 数组元素 构成的有序集合 例如 按学号排列的成绩等 特征 1 都是由若干个分量组成2 各分量都是同一数据类型3 分量是按一定顺序排列的 例如inta 10 b 5 charc 8 floatx 20 一 定义一维数组 类型名数组名 常量表达式 7 2一维数组 标示符 数组长度 1 数组名命名规则和简单变量名相同2 数组名后只能是方括号括起来的常量表达式 常量和符号常量 3 常量表达式的值确定数组元素的个数 数组尺寸 注意 C语言中不允许对数组做动态定义 例 intn scanf d 7 2一维数组 二 一维数组的存储系统用连续的内存单元 存放各个元素如 inta 5 其内存存储为 7 2一维数组 编译时分配连续内存内存字节数 数组维数 sizeof 元素数据类型 7 2一维数组 三 一维数组的引用C语言规定 数组必须先定义后引用 只能逐个引用数组元素 而不能一次引用整个数组一维数组的引用形式 数组名 下标 下标 可以是整型常量或整型表达式 下标由从零开始 取值范围 0 长度 1 例 inta 10 a 0 a 5 a 7 a 2 3 例 7 1读程序 判断功能voidmain inti a 10 for i 0 i 0 i printf d a i printf n 9876543210 scanf d 7 2一维数组 数组元素的下标常用循环变量来控制 从而实现数组元素的逐个引用 处理 注意 下标不能越界 7 2一维数组 7 2一维数组 四 一维数组的初始化1 在定义数组时对数组元素赋初值如 inta 4 1 2 3 4 结果 a 0 1 a 1 2 a 2 3 a 3 4 2 给部分元素赋初值如 intb 10 1 2 结果 b 0 1b 1 2b 2 0 b 9 0 注 当不对数组进行初始化时 在没有对数组中的元素赋值以前 数组中的元素的值是随机 不确定 的 7 2一维数组 3 对全部数组元素赋初值时 可以不指定数组长度 如 intc 1 2 3 4 5 自动定义c数组长度为5 注意 若被定义数组长度与提供初值的个数不相同 则数组长度不能略 7 2一维数组 4 不能给数组整体赋初值 只能逐个数组元素赋初值 inta 10 1 1 1 1 1 1 1 1 1 1 不能写成inta 10 1 10 7 2一维数组 例 7 2统计全班某门功课考试的平均分和最高分 30人 方法二 利用数组分析 定义一个整型数组score 30 存放全班每位同学的分数 用for循环读入分数 并求出总分和平均分定义high存放最高分 7 2一维数组 defineN30voidmain inti sum 0 high score N floataverage printf inputeveryone sscore n for i 0 i N i scanf d 7 2一维数组 for high score 0 i 0 ihigh high score i average float sum N printf average f n average printf highest d n high 7 2一维数组 例7 3 输入n个数 用选择法将它们按从小到大排序后输出 分析 1 5个数 a 0 a 4 中找到最小数 与a 0 交换 2 4个数 a 1 a 4 中找到最小数 与a 1 交换 3 4 7 2一维数组 inta 10 for i 0 ia j min i t a i a i a min a min a i 7 2一维数组 例7 3 用冒泡法对10个数排序 由小到大 7 2一维数组 排序过程 1 比较第一个数与第二个数 若a 0 a 1 则交换 然后比较第二个数与第三个数 依次类推 直至第n 1个数和第n个数比较为止 第一趟冒泡排序 结果最大的数被安置在最后一个元素位置上 2 对前n 1个数进行第二趟冒泡排序 结果使次大的数被安置在第n 1个元素位置 3 重复上述过程 共经过n 1趟冒泡排序后 排序结束 voidmain inta 10 i j t printf inputtennumbers n for i 0 i 10 i scanf d 7 2一维数组 for j 0 ja i 1 t a i a i a i 1 a i 1 t printf nthesortednumbers n for i 0 i 10 i printf d a i 7 2一维数组 例7 4在一个已初始化的数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论