第七章. 数组.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章. 数组.ppt

* C 语言 程序 设计 第 七 章 四川理工学院 第7章 数组 本章要点: 1.建立数组的概念 2.掌握一维数组和多维数组的定义 3.掌握数组的初始化和引用 4.掌握字符串与字符数组 5.掌握用数组进行编程的技术 C语言规定数组的下标从0开始计,数组名表示数组的 首地址 起始地址 。 7.1 一维数组的定义和引用 一、定义 格式: 类型说明符 数组名 [常量表达式] 说明: 1. 类型说明符: 指构成数组的元素的数据类型。 2. 数组名: 规则同用户标识符一样。 3. 常量表达式: 表示数组长度,可以是常量和符号常量, 但不能是变量。 请你判断正误? 数组定义正误判断 int a [10] ; char ch [20] ; int a [‘a’] ; char ch [‘e’ – ‘a’] ; 以上定义形式合法! int n; scanf “%d”,n ; int a [n] ; 非法定义形式! 示例 数组的存储 例如: int a[10] ; 则: a 数组有10个元素, a[0]a[1], …… a[9] 存储示意 示例 a[0] … a[1] a[9] a 数组 a 二、 一维数组元素的引用 格式: 数组名[下标] 1. 只能逐个引用数组元素,而不能一次引用整个 数组。 如: int a[10] ; 数组元素为 : a[0] , a[1], …… a[9] 2.下标可以是 整型常量 如: a[3]和整常量表达式 如: a[2*3] 即 a[6]。 3. 数组元素可以参加各种运算。 如: a[0] a[5] + a[7] – a[2*3] 例 7.1 p132 main int i ,a[10] ; for i 0 ; i 9 ; i++ a[i] i ; for i 9 ;i 0 ; i – – printf “%d ” , a[i] ; 运行结果: 9 8 7 6 5 4 3 2 1 0 数组元素做输出表项 a[0] 0 … a[1] 1 a[9] 9 a 数组 a 三、一维数组的初始化 1. 定义数组的同时对数组元素赋初值 例如: int a[6] 0 , 1 , 2 , 3 , 4 , 5 ; a[0] ? 0, a[1] ? 1, a[2] ? 2 , …… a[5] ? 5 2. 定义时只使部分元素初始化 例如:int a[6] 0 , 1 , 2 ; 3. 不能给数组整体赋初值 int a[6] 1 , 1 ,1 , 1 ,1 , 1 ; 可以 int a[6] 1*6 ; 不行 4. 在对全部元素赋初值时,可以不指明长度。 说明 定义数组时可不指明长度情况 在对全部元素赋初值时,可以不指明长度。 int a[6] 0 , 1 , 2 , 3 , 4 , 5 ; 等价于: int a[ ] 0 , 1 , 2 , 3 , 4 , 5 ; 若长度与赋值的元素个数不同时,则不 能省略。 如: int a[4] 0 , 1 , 2 ; 不等价于: int a[ ] 0 , 1 , 2 ; 说明 四、 一维数组程序举例 例 7.2 用数组来处理 Fibonacci 数列。 main int i ; long int f [20] 1 , 1 ; for i 2 ; i 20 ; i + + f [i] f [ i–2 ] + f [ i–1] ; for i 0 ; i 20 ; i + + if i % 5 0 printf “ \n ” ; printf “%ld” , f [i] ; 例 7.3 用起 冒 泡法对10个数排序 由小到大 9 8 8 8 9 5 5 5 4 4 4 2 2 2 0 0 0 9 由上可见: 如有n个数,则要进行 n – 1 趟比较。 在第 j 趟比较中要进行 n – j 次比较。 6个数第1趟经过5次比较 …… 程序的结构: main 1、定义相关的数组和相关变量 3、按冒泡算法对其升序排序 由于在排序中涉及到总共所 需的趟次和每一趟中具体比 较的次数,因此可用循环嵌 套控制语句来完成。 4、输出经排序后的十个数 2、输入待排序的十个数 main int a[10] , i , j , t ; printf “ input 10 numbers : \n” ; for i 0 ;

文档评论(0)

xinshengwencai + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档