第7章一维数组和二维数.ppt
《第7章一维数组和二维数.ppt》由会员分享,可在线阅读,更多相关《第7章一维数组和二维数.ppt(36页珍藏版)》请在三一文库上搜索。
1、第七章 数组,第7章 一维数组和二维数组,一、一维数组 1、一维数组的定义 2、一维数组元素的引用 3、一维数组的初始化 二、二维数组 1、二维数组的定义和引用 2、二维数组的初始化,前几章使用的变量都属于基本类型,例如整型、字符型、浮点型数据,这些都是简单的数据类型。 对于有些数据,只用简单的数据类型是不够的,难以反映出数据的特点,也难以有效地进行处理。,如果有1000名学生,每个学生有一个成绩,需要求这1000名学生的平均成绩。 用s1,s2,s3,s1000表示每个学生的成绩,能体现内在联系。,C语言为这些数据,提供了一种构造数据类型:数组。所谓数组就是一组具有相同数据类型的数据的有序集
2、合。 数组中的每一个数称为数组元素,数组中的每一个元素都属于同一个数据类型。,一、一维数组,一、一维数组,1、一维数组的定义,定义的格式: 类型说明符 数组名整常量表达式; 如: int score80;,说明: 类型说明符:数组元素的类型。 数组名:即数组的名称,其命名方法同变量名。 在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。,常量表达式中可以包括常量和符号常量,但不能包含变量。也就是说,C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。 例: float farr30; 或:#define N 10 int a
3、N; 但注意: int n=10; int arrn;,数组说明中其他常见的错误: float a0; /* 数组大小为0没有意义 */ int b(2)(3); /* 不能使用圆括号 */ int k, ak; /* 不能用变量说明数组大小*/,引用方式: 数组名下标 如:int a5; a0=1; printf(”%d”,a0);,2、一维数组元素的引用,把a0的变量赋值为1,a数组中有5个元素,分别是:a0,a1,a2,a3,a4,显示a0的值,注意: 下标可以是整型常量或整型表达式 例如: int i=0,a5; ai=10; 引用a5 是错误的,一维数组元素引用的规定:,数组必须先定
4、义后使用。,数组元素只能逐个被引用,不能一次引用整个数组。,对数组中所有元素逐个引用时,通常可使用循环结构。,例 对10个数组元素依次赋值为0,1, 2,3,4,5,6,7,8,9,要求按逆序输出。 解题思路: 定义一个长度为10的数组,数组定义为整型 要赋的值是从0到9,可以用循环来赋值 用循环按下标从大到小输出这10个元素,#include int main() int i,a10; for (i=0; i=0; i-) printf(“%d “,ai); printf(“n“); return 0; ,使a0a9的值为09,a0a1a2a3a4a5a6a7a8a9,#include in
5、t main() int i,a10; for (i=0; i=0; i-) printf(“%d “,ai); printf(“n“); return 0; ,先输出a9,最后输出a0,a0a1a2a3a4a5a6a7a8a9,3、一维数组在内存中的存放方式,数组定义以后,编译系统(计算机)将在内存中开辟一块连续的存储单元用于存放数组元素,数组名表示存储单元的首地址,存储单元的大小由数组的类型和数组的大小决定。,例如 int a5;,数组的初始化:定义数组时对数组元素赋以初值。,4、一维数组的初始化,格式: 类型符 数组名表达式初值表;,给全部元素赋初值。 例 int a8= 0,1,2,3
6、,4,5,6,7 ;,给部分元素赋初值。 例 int a8= 0,1,2,3,4 ;,给全部元素赋初值时可不指定数组的长度。 例 int a = 0,1,2,3,4,5,6,7 ;,例7.2 用数组处理Fabonacci数列,输出前20个数。,1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, F1 = 1 F2 = 1 F3 = F2 + F1 Fn = Fn - 1 + Fn - 2,#include void main() int i; int f20=1,1; for(i=2;i20;i+) fi=f
7、i-1+fi-2; for(i=0;i20;i+) if(i%5=0) printf(“n”); printf(“%12d”,fi); return; ,if语句用来控制换行,每行输出5个数据。,例:有6个数,要求对它们按由小到大的顺序排列 解题思路: 排序的规律有两种:一种是“升序”,从小到大;另一种是“降序”,从大到小 把题目抽象为:“对6个数按升序排序” 采用起泡法排序,9 8 5 4 2 0,8 9 5 4 2 0,8 5 9 4 2 0,8 5 4 9 2 0,8 5 4 2 9 0,8 5 4 2 0 9,大数沉淀,小数起泡,a0 a1 a2 a3 a4 a5,for(i=0;ia
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章一维 数组 二维
链接地址:https://www.31doc.com/p-2980368.html