当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《C语言程序设计基础教程》教学资源(PPT课件讲稿)第7章 数组

资源类别:文库,文档格式:PPT,文档页数:48,文件大小:279.5KB,团购合买
第7章数组 引言 一、总结: 前面的程序设计,一般是根据需求,先作几个变量的定义,然后对这些变量作相应的运算即可得结果。 二、问题: 从键盘输入100个数,原样输出; 输入100个数,相反的次序输出。
点击下载完整版文档(PPT)

第7章数组 引言 、总结: 前面的程序设计,一般是根据需求,先作几 个变量的定义,然后对这些变量作相应的运算即 可得结果。 二、问题: 从键盘输入100个数,原样输出; 输入100个数,相反的次序输出

第 7 章 数 组 一、总结: 前面的程序设计,一般是根据需求,先作几 个变量的定义,然后对这些变量作相应的运算即 可得结果 。 二、问题: 从键盘输入100个数,原样输出; 输入100个数,相反的次序输出。 引言

数组: 具有相同数据类型的一组变量的有序集合,这些 变量在内存中占有连续的存储单元。 数组元素 数组中的每一个数据称数组分量 有一个相对位置序号, 下标变量 即数组元素的下标

数组: 具有相同数据类型的一组变量的有序集合,这些 变量在内存中占有连续的存储单元。 数组中的每一个数据称 有一个相对位置序号, 即数组元素的下标。 数组元素 数组分量 下标变量

7.1一维数组 维数组的定义: 只有一个下标的数组 定义格式: 类型标识符数组名[元素个数]; 在C语言中,数组必须显示地说明,以 便编译程序为它们分配内存空间

7.1 一 维 数 组 一维数组的定义: 只有一个下标的数组。 定义格式 : 类型标识符 数组名[元素个数]; 在C 语言中,数组必须显示地说明,以 便编译程序为它们分配内存空间

例1:inta5] 定义一个整型数组(数组的元素为整型); 数组名称为a;代表数组的首地址(常量);元素个数为5; 分别为a0]、可]、a[2]、a[3]、a[4] 每个元素都可作为一个整型变量来使用; 没有a[5] 如:a[0]=5;可[1]=4;a[2]=3;a3}=2;a[4]=1; 注意: 类型标识符:数组元素的类型 2、数组名的命名规则与标识符的命名规则要同 3、数组“元素个数”即数组长度,只能是一个整型常量表达 式或整型符号常量表达式。 4、下标是数组元素在数组中的顺序号,从0开始。 5、下标只能是有序类型的数据(常量、变量和表达式)

例1:int a[5]; 定义一个整型数组(数组的元素为整型); 数组名称为a;代表数组的首地址(常量);元素个数为5; 分别为a[0]、a[1]、a[2]、a[3]、a[4]; 每个元素都可作为一个整型变量来使用; 如:a[0]=5;a[1]=4;a[2]=3;a[3]=2;a[4]=1; 注意: 1、类型标识符:数组元素的类型 2、数组名的命名规则与标识符的命名规则要同。 3、数组“元素个数”即数组长度,只能是一个整型常量表达 式或整型符号常量表达式。 4、下标是数组元素在数组中的顺序号,从0开始。 5、下标只能是有序类型的数据(常量、变量和表达式)。 没有a[5]

例2:试判断下列数组定义是否合法 int student[35; char name [20]; float score[35: 一# define student35 float no student[student]: int score student(student*] int person(10) int n=10, a[n: 3、数组元素的引用 定义了数组以后,就可使用它了 规定:只能引用数组元素,不能一次引用一个数组 引用方法:数组名[下标] 如: student[1],name[15]name]等

例2:试判断下列数组定义是否合法: – int student[35]; – char name[20]; – float score[35]; – #define student 35 float no_student[student]; int score_student[student*3]; – int person(10); – int n=10, a[n]; 3、数组元素的引用 定义了数组以后,就可使用它了。 规定:只能引用数组元素,不能一次引用一个数组。 引用方法:数组名[下标] 如:student[1],name[15],name[i]等

例3、从键盘输15个整数,然后反序输出 分析:不用数组行否?行,但非常繁杂。下面用数组编程: include maino f int i, a[151: for(i=0:=0;1-) printf(4d",a[); 输入:123456789101112131415 输出:151413121110987654321 注意:1、循环控制变量的初值、终值及控制条件。 2、不能整体输出数组例; printf(“%d”a)是错误的

例3、从键盘输15个整数,然后反序输出。 分析:不用数组行否?行,但非常繁杂。下面用数组编程: #include main() { int i,a[15]; for(i=0;i=0;i--) printf(“%4d”,a[i]); } 输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  输出:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 注意:1、循环控制变量的初值、终值及控制条件。 2、不能整体输出数组例:printf(“%d”,a);是错误的。 不能以“, ”分开

二、一维数组的存储结构与初始化 1、一维数组的存储结构 数组变量在内存中分配一片连续的存储单元,数组元素按 数组下标从小到大连续存放。 例inta[5 a[0] ao 0 初始化 a[3] 234 内存

二、一维数组的存储结构与初始化 1、一维数组的存储结构 数组变量 在内存中分配一片连续的存储单元,数组元素按 数组下标从小到大连续存放。 例 int a[5]; a[0] a[1] a[2] a[3] a[4] a[0] a[1] a[2] a[3] a[4] 0 1 2 3 4 初始化 内存

2、一维数组的初始化 含义:在定义数组的同时,对数组各元素指定初值。 初始化是编译阶段完成的,不占用运行时间。 注意:用赋值语句或输入语句也可给数组元素指定初值, 但赋值是在运行时完成的,占用运行时间。 对数组初始化的几种方法: ①在定义数组时,对全部数组元素赋予初值,此时可省 数组长度,系统自定。 例:inta[]={0,1,2,34};等价于inta5]={0,1,2,3,4 ②在定义数组时,对部分数组元素赋予初值。 651: int a[5]=1, 2), b[5]; static int c[51 a[o]=1,a[1=2;其它为0;c[0]下c4]为0 b0]-b[4]不确定

2、一维数组的初始化 含义:在定义数组的同时,对数组各元素指定初值。 初始化是编译阶段完成的,不占用运行时间。 注意:用赋值语句或输入语句也可给数组元素指定初值, 但赋值是在运行时完成的,占用运行时间。 对数组初始化的几种方法: ①在定义数组时,对全部数组元素赋予初值,此时可省 数组长度,系统自定。 例:int a[ ]={0,1,2,3,4}; 等价于 int a[5]={0,1,2,3,4}; ②在定义数组时,对部分数组元素赋予初值。 例:int a[5]={1,2},b[5]; static int c[5]; a[0]=1,a[1]=2;其它为0;c[0]~c[4]为0。 b[0]~b[4]不确定

例:# nclude maino int,a[5}={3,4,5},b[5]} printf( naray a is: for(=0i!5;计+) printf(“%6d”,a[); printf("naray b is: for(=0<5;++)pint(%d,”,b[j); 运行结果: array a is:3 4 5 0 0 array b is:-32,1398,40,1170,454

例:#include main() { int i,a[5]={3,4,5},b[5]; printf(“\narray a is: ”) for(i=0;i<5;i++) printf(“%6d”,a[i]); printf(“\narray b is: ”) for(i=0;i<5;i++) printf(“%d,”,b[i]); } 运行结果: array a is: 3 4 5 0 0 array b is: -32,1398,40,1170,454

例:从键盘上输入10个整数,用选择法将其 按由小到大的顺序排列并输出 基本思想: (1)从第0个位置到第9个位置中选择出最小的一个与第 0个位置的数交换。 (2)从第1个位置到第9个位置中选择出最小的一个与第 1个位置的数交换。 (9)从第8个位置到第9个位置中选择出最小的一个与第8 个位置的数交换。 例:5133932228123 21推序过程如下:

例:从键盘上输入10个整数,用选择法将其 按由小到大的顺序排列并输出。 基本思想: (1)从第0个位置到第9个位置中选择出最小的一个与第 0个位置的数交换。 (2)从第1个位置到第9个位置中选择出最小的一个与第 1个位置的数交换。 … (9)从第8个位置到第9个位置中选择出最小的一个与第8 个位置的数交换。 例:5 13 3 9 32 22 8 1 23 21 排序过程如下:

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共48页,可试读16页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有