(高职)C语言程序设计模块四数组应用训练ppt课件.pptx
《(高职)C语言程序设计模块四数组应用训练ppt课件.pptx》由会员分享,可在线阅读,更多相关《(高职)C语言程序设计模块四数组应用训练ppt课件.pptx(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计模块四数组应用训练ppt课件模块四模块四 数组应用训练数组应用训练能力目标 熟练掌握一维数组的使用方法; 熟练掌握字符数组及字符串的使用方法; 理解二维数组的使用方法; 了解多维数组的使用方法。知识准备知识准备引例任务 输入输入5 5个数,求其平均值个数,求其平均值。方案探索方案探索 可以采用把输入的可以采用把输入的5 5个数据先保存起来,然后个数据先保存起来,然后对保存的数据求累加和,再求其平均值。用什么办法保对保存的数据求累加和,再求其平均值。用什么办法保存存5 5个数据呢?方法之一是定义个数据呢?方法之一是定义5 5个变量来保存个变量来保存5 5个数据,个数据,若若N N值
2、比较大,此方法不可行。最佳方法是用定义的一个值比较大,此方法不可行。最佳方法是用定义的一个特殊变量来保存特殊变量来保存5 5个数据。个数据。#include void main() int i,a5; float s=0,ave; printf(请输入5个整型数据:n); for(i=0;i5;i+) scanf(%d,&ai); for(i=0;i5;i+) s+=ai; ave=s/5.0f; printf(平均值为:%4.2fn,ave);输出结果输出结果 请输入请输入5 5个整型数据:个整型数据:5 6 7 8 9 25 6 7 8 9 2平均值为:平均值为:7.007.00程序清单程
3、序清单4.1 一维数组4.1.1 一维数组的定义 u 由一组类型相同的相关数据项构造而成的集合称为数组(Array),在内存中占据连续的存储空间。u 构成数组的数据项称为数组的元素(element of Array)。同一数组中的元素,具有相同的数据类型。做中学做中学4-1 4-1 由键盘输入一组数据,然后逆序输出。由键盘输入一组数据,然后逆序输出。算法设计算法设计 先输入一批数放在数组中,再通过循环控制把数组中的每一个元素倒序输出。#include void main() int i,a10; for(i=0;i=0;i-) printf(a%d=%d ,i,ai); /*逆向输出数组元素的
4、值*/输出结果输出结果 1212 2424 5 5 1313 6767 a4=67a4=67 a3=13a3=13 a2=35a2=35 a1=24a1=24 a0=12a0=12程程序序清清单单知识点u 一维数组的语法格式:存储类型 数据类型 数组名数组长度v 存储类型是auto或static类型,缺省时系统默认为auto类型。若为auto类型,数组存放在动态存储区;若为static类型,数组存放在静态数据区。v 数据类型表示的是数组中各元素的数据类型,可以是任何基本类型和构造类型。但同一数组中的各元素必须属于同一数据类型。v 数组名的命名应该符合C语言中标识符命名规则。v 定义数组时,数组
5、的长度是数组中元素的个数,只能用常量或符号常量表示,不能是变量或包含变量的表达式。 例如:int a7;u 数组元素的引用格式:数组名下标 数组元素: a0a1a2a3a4a5a6存储单元: -235-413246684-9336-545 它表示数组中的某个元素。下标是数组元素在数组中的排列序号,可以是整型常量、变量或表达式。如:a0=a1+3+a2*2+a9-3u 一维数组的初始化数组的初始化可以在定义时完成,也可以在数组定义之后对数组元素逐个赋值。v 在定义时进行初始化的格式: 数据类型 数组名 数组长度=数据1,数据2,数据n;v 花括弧中的数据应与定义的类型一致,否则系统会进行自动类型
6、转换。v 可以只给数组的前面一部分元素赋值。 如:int a6=0,3,2;v 在对数组全部元素赋值时,可以省略数组的长度。 如:int a=0,3,2,6,-9,10,45,78;v 系统会根据花括弧中初值的个数自动定义a数组的长度为8。在定义b数组的同时完成了初始化,数组中的每个元素按照先后次序得到相应的赋值, 即:b0=1.0, b1=3.2, b2=6.0, b3=5.0。v 对于static类型的未赋初值的数组,系统会自动将数组的全部元素初始化为0;而对于auto类型的数组,C编译器不对其进行初始化,必须在程序中进行初始化。4.1.2 一维数组的应用做中学做中学4-2 4-2 输入输
7、入1010个数,输出其中的最大值和最小值。个数,输出其中的最大值和最小值。算法设计算法设计#include #define N 10void main() int i; float aN,max,min; printf(请输入%d数据:n,N); for(i=0;i=N-1;i+) scanf(%f,&ai); max=min=a0; for(i=0;imax) max=ai; if (aimin) min=ai; printf(max=%ft min=%fn,max,min);输出结果输出结果 请输入请输入1010数据数据: : 12 23 13 45 2 56 78 89 90 34 12
8、 23 13 45 2 56 78 89 90 34 max=90.000000 min=2.000000 max=90.000000 min=2.000000程程序序清清单单做中学做中学4-3 4-3 用冒泡法对用冒泡法对1010个数按升序进行排序。个数按升序进行排序。算法设计算法设计#include #define N 10void main() int i,j, t,aN;printf(请输入%d个待排序数据:n,N-1); for(i=1;iN;i+) scanf(%d,&ai); /*输入数组元素的值*/ for (i=1;i=N-1;i+) /控制轮数,共N-1轮 for (j=1
9、;jaj+1) /*比较相邻元素,将大值置后*/ t=aj; aj=aj+1; aj+1=t; printf(n排序后的数据为:n); for(i=1;iN;i+) printf(%dKK,ai);程程序序清清单单程序运行程序运行 请输入请输入1010个待排序数据:个待排序数据: 100 23 34 21 4 5 -20 -30 56 78 100 23 34 21 4 5 -20 -30 56 78 排序后的数据为:排序后的数据为: -30 -20 4 5 21 23 34 56 78 100 -30 -20 4 5 21 23 34 56 78 100 4.2 二维数组4.2.1 二维数组
10、的定义 u 相对于一维数组而言,二维数组是较为复杂的数组形式,可以用来建立更加复杂的数据结构。u 二维数组可以看成是特殊形式的一维数组,它由多行数据排列组合在一起构成。做中学做中学4-4 4-4 定义一个定义一个4 4行行5 5列的数组、赋值并输出。列的数组、赋值并输出。算法设计算法设计 程序中int a45;定义了一个4行5列的数组。在给每个数组元素赋值时使用循环嵌套语句,其中变量i用来控制行标,变量j用来控制列标,使用aij=i*j;给每个元素赋值为行号i和列号j的乘积。#include void main() int i,j,a45; for (i=0;i4;i+) for (j=0;j
11、5;j+) aij=i*j; for (i=0;i4;i+) for (j=0;j5;j+) printf(a%d%d=%2dKKKK,i,j,aij); printf(n); for (i=0;i4;i+) for (j=0;j5;j+) printf(%dKKKK,aij); printf(n); 程程序序清清单单输出结果输出结果 a00= 0 a01= 0 a02= 0 a03=0 a04= 0a00= 0 a01= 0 a02= 0 a03=0 a04= 0a10= 0 a11= 1 a12= 2 a13= 3 a14= 4a10= 0 a11= 1 a12= 2 a13= 3 a14
12、= 4a20= 0 a21= 2 a22= 4 a23= 6 a24= 8a20= 0 a21= 2 a22= 4 a23= 6 a24= 8a30= 0 a31= 3 a32= 6 a33= 9 a34=12a30= 0 a31= 3 a32= 6 a33= 9 a34=120 0 0 0 00 0 0 0 00 1 2 3 40 1 2 3 40 2 4 6 8 0 2 4 6 8 0 3 6 9 120 3 6 9 12知识点u 二维数组的定义:二维数组的语法格式: 存储类型 数据类型 数组名第一维长度第二维长度 第一维长度代表数组矩阵的行数,第二维长度代表数组矩阵的列数。 如:int
13、a23该数组的元素组成如下:a00,a01,a02a10,a11,a12 二维数组在内存中是按先行后列的顺序存放。即先存放第一行元素,然后依次存放第二行、第三行、。下图是数组a的内存分配图,各存储单元的值是随机值。数组元素:a00 a01 a02 a10 a11 a12存储单元:384 500 -9 567 678 -783u 二维数组的引用:v 同一维数组一样,二维数组也是必须先定义后引用,二维数组的引用也是通过下标来实现的。v 格式为: 数组名行下标 列下标 如:int a34; a03表示二维数组a的第0行第3列的元素,aij表示a数组的第i行第j列的元素。对a数组中各元素引用时,行下标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高职 语言程序设计 模块 数组 应用 训练 ppt 课件
限制150内