《移动通信软件编程基础—C语言》第7章数组

上传人:宝路 文档编号:46997903 上传时间:2018-06-29 格式:PPT 页数:61 大小:4.58MB
返回 下载 相关 举报
《移动通信软件编程基础—C语言》第7章数组_第1页
第1页 / 共61页
《移动通信软件编程基础—C语言》第7章数组_第2页
第2页 / 共61页
《移动通信软件编程基础—C语言》第7章数组_第3页
第3页 / 共61页
《移动通信软件编程基础—C语言》第7章数组_第4页
第4页 / 共61页
《移动通信软件编程基础—C语言》第7章数组_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《《移动通信软件编程基础—C语言》第7章数组》由会员分享,可在线阅读,更多相关《《移动通信软件编程基础—C语言》第7章数组(61页珍藏版)》请在金锄头文库上搜索。

1、 移动通信软件编程基础 C语言IC-MSP知识回顾 循环结构for语句三个表达式循环变量赋初值 循环条件 循环变量增值for语句可以完全替换while语句for语句的三个表达式都可以省略,但不管怎么省略,两个分号不能省略, 而且这三个表达式的功能要在或前或后的其他地方以其他的形式表现出来break 语句用在循环中时,可以直接终止循环, 将控制转向本层循环后面的语句continue 语句的作用是跳过循环体中剩余的语句而执行下一次循环for语句嵌套的用法,可以和while语句、do-while语句可以互相嵌套for(表达式1;表达式2;表达式3) IC-MSP7数组 第章IC-MSP本章目标 理解

2、数组的概念及其用法 掌握并能熟练使用一维数组 掌握二维数组的使用理解数组实现常用的算法 IC-MSP构造类型v 迄今为止,我们使用的都是属于基本数据类型(整型,字符型,实型)的数据, C语言还提供了构造类型的数据 。v 构造类型数据是由基本类型数据按照一定规则组成的。IC-MSP数组程序举例#include #denfine N 5void main() int i, aN;printf(“请输入%d个整数:“, N); for(i = 0; i 数组的必要性 IC-MSP数组的必要性 一年级 二年级 三年级 四年级 五年级 3 2 2 3 3 程序中的数组 学校中的学生 在程序设计中,为了处

3、理方便,把具有相同类型 的数据有序的组织起来,就是数组IC-MSPC语言一维数组定义 20 25 20 20 15 class4 3 2 1 0 class4 class3 class2 class1 class0 数组名 数组元素 下标 数组的大小 int class5数组的定义:数据类型 数组名常量表达式IC-MSP一维数组 int a10; 数组元素: a0,a1,a2,a3,a4,a5,a6,a7,a8,a9a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 10个数组元素 定义数组:内存 IC-MSP一维数组的声明 v 一维数组声明的一般形式:类型说明符 数组名常量表达式例如

4、: int student50 定义了一维数组student,数组名为student ,数组元素的个数为50,数组元素类 型为整型。IC-MSP一维数组的声明 v 类型说明符:指的是数组元素的类型v 数组名:符合标示符命名规则v 常量表达式:表示数组元素的个数(数组的大小)。可以是整型常量或符号常量,不允许使用变量。常量表达式在说明数组元素的个数时,也确定了数组元素下标的个数。v 数组元素是变量,所以要占用内存空间。只有命名了数组元素的类型和个数之后编译器才能为数组分 配内存空间,并且所分配的内存空间是连续的。 IC-MSP一维数组的初始化 2-1 v 对数组所有元素赋初值,可以省略数组声明中

5、数组 的长度 例如: int class5=20,30,40,50,60;省略数组长度 int class =20,30,40,50,60; 两种方式赋值后,数组元素的值分别是: class0=20, class1=30, class2=40, class3=50, class4=60IC-MSP一维数组的初始化 2-2 v 只给数组中部分元素赋初值,数组长度不能省略 例如: int class5=20,30,40;此时只对数组的前三个元素赋初值: class0=20, class1=30, class2=40,其余元素为编译系统制定的默认初值0。v 对数组的所有元素赋初值0例如: int c

6、lass5=0,0,0,0,0; 或 int class5 = 0;IC-MSP一维数组中元素的访问方式 v 一维数组中的元素访问的一般形式 数组名 整型表达式 IC-MSP#include void main()int i, iNumber5;for(i = 0; i 使用数组时应注意的原则 v 数组要先声明后使用 v 数组分配的是连续的内存空间,数组名是数组的首地址 v 声明数组时,变量后面的内要使用常量表达式;不能使用变量;对数组元素进行引用时,数组名后面的内的整型表达式可以是常数、已经赋值的整型变 量或整型表达式。下标都是从零开始,都不能越界。 IC-MSP多维数组 v 当数组元素的下

7、标在2个或2个以上时,该数组称为多维数组。v 多维数组的数组元素具有多个下标:数组名下标0 下标1 下标k。v 多维数组在三维空间中不能用形象的图形表示。IC-MSP二维数组的声明 v 二维数组声明的一般形式:类型说明符 数组名常量表达式 常量表达式例如: int pew45 定义了二维数组pew,数组名为pew,数组元 素的个数为20,数组元素类型为整型。IC-MSP二维数组 float b44; 数组元素: b00,b01,b02,b03,b10,b11,b12,b13b20,b21,b22,b23,b30,b31,b32,b3316个数组元素 定义数组:第一行 第二行 第三行 第四行 第

8、一列 第二列 第三列 第四列 b01 b02 b03 b10 b11 b12 b13 b21 b20 b22 b23 b30 b31 b32 b33 b00 IC-MSP二维数组的声明 v二维数组定义中的第1个下标表示该数组具有的行数,第2个下标表示该数组具有的列数,两个下标之积是该数组具有的数组元素的个数。v二维数组也是按顺序进行存放的,并且是按行存放,即在内存中,先顺序存放第一行的元素,再存放第二行的元素,以后依次存放后几行的元素。v二维数组可以看作是一种特殊的一维数组。IC-MSP二维数组可以看作是特殊的一维数组int a4; 一维数组名下标int b44; 二维数组名行下标 列下标a0

9、 a1 a2 a3b0 0b0 1b0 2b0 3b1 0b1 1b1 2b1 3b2 0b2 1b2 2b2 3b3 0b3 1b3 2b3 3IC-MSP二维数组可以看作是一种特殊的一维数组 pew45IC-MSP二维数组的初始化 2-1 v 分行给二维数组所有元素赋初值 int pew33 = 1,2,3,4,5,6,7,8,9;v 按数组排列的顺序将所有元素写在一个花括弧内 int pew33 = 1,2,3,4,5,6,7,8,9;v 给二维数组所有元素赋初值,二维数组第一维的长度可以省略,但不能省略第二维的长度。int pew 3 = 1,2,3,4,5,6,7,8,9;IC-MS

10、P二维数组的初始化 2-2 v 在定义时也可以只对部分元素赋初值而省略第一维的长度 1。分行赋初值,其余元素值自动为0。int pew 3 = 1,2,4,7,8;赋值后: pew=1,2,0,4,0,0,7,8,0;2。元素写在一个花括弧内 ,其余元素值自动为0。int pew 3 = 1, 2, 3, 4, 5, 6, 7;赋值后: pew=1, 2, 3, 4, 5, 6, 7, 0, 0;IC-MSP二维数组中元素的访问方式 v 二维数组中的元素访问的一般形式 数组名 整型表达式 整型表达式 IC-MSP教室共有10排座位、每排有8个座位。座位编号从前向后、自左向右分别为1到10、1到

11、8。v 题目: #include void main() int i, j, iClasspew108;printf(“各座位的座位号为:n“);for(i = 0; i v 在程序设计中,为了处理方便,把具有相同类型的若干数据按有序的形式组织起来,就是数组,它包含以下三个 方面的含义:v 数组就是包含了多个元素的数据集合v 数组中的元素在内存中是连续存放的v 数组中的元素都属于相同的数据类型数组特性 类型说明符 数组名常量表达式 常量表达式 说明数据类型 数组的大小 IC-MSP数组的算法v 关于数组的基本算法: 1.求最值 2.查找 3.排序 4.插入IC-MSP求任意6个数中的最大值和最

12、小值。 v 题目: #include int i, iMax, iMin, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai #include int i, iMax, iMin, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai #include int i, iMax, iMin, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai #include

13、 int i, iMax, iMin, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai #include int i, iMax, iMin, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai #include int i, iMax, iMin, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai #include int i, iMax, iMin

14、, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai #include int i, iMax, iMin, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai #include int i, iMax, iMin, a6;printf(“input 6 numbers: n“);for(i = 0; i iMax)iMax = ai;if(ai 求最值的扩展问题v作业:求任意6个数中的最大值和最小值,同时输出最大 值和最小值对应的下标。IC-MSP任意输入5个整数存入到数组中,从这5个数中查找某一个数字的信息,并给出结果。如果找

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号