1、重庆邮电大学计算机科学与技术学院冯 潇* 12 数组的定义、引用、初始化和输出 和数组有关的经典算法 冒泡法、选择法、折半查找法、求集合中最大或最小的元素 向函数传递一维数组主要内容Date3重点、难点 对数组名的理解 和数组有关的经典算法(难点) 冒泡法排序、选择法排序 顺序查找法、折半查找法Date4 假设集合中有班上 30个同学的高数成绩,找出高数成绩的最高分,并将最高分打印到屏幕上 算法分析: 定义变量存放全班 30个同学的高数成绩,定义变量MaxScore, 初值为 0 MaxScore = 元素 1; /*假设集合中第一个元素值最大 */ for(i=0;i MaxScore) M
2、axScore = 元素 i 找出全班高数成绩的最高分Date5 保存大量同类型的相关数据 如矩阵运算,表格数据等数组( Array)的作用Date6数组的定义 语法格式: 类型名 数组名 下标 1下标 2 下标 n; 下标为 1个时为一维数组,依此类推 下标必须是一个常量表达式,只能用方括符括起来 数组大小最好用宏来定义,以适应未来可能的变化 #define SIZE 10int aSIZE; 数组特点 快速地随机访问 一旦定义,不能改变大小Date7数组元素的引用 格式 数组名 下标 ; 下标表示当前元素相对于第一元素的 偏移量 当使用数组名时,代表数组的 首地址 二维数组的引用 注意区分
3、数组定义和数组引用 注意下标越界问题 数组不能整体引用 对数组每个元素的使用与普通变量无异Date8 全部赋初值 char ch4=h,a,l,0; int arr=3,7,5,8; 部分赋初值 float f10=1.7,2.1; 二维数组的初始化 int a23=1,2,3,4,5,6; int a3=1,2,3,4,5,6; int a3=1,2,4;数组的初始化double arr3;arr3=1.1;Date9数组的物理存储结构 按行顺序存放数组arr00arr01arr02arr03arr10arr11arr12arr13arr20arr21arr22arr23arr00arr01
4、arr02arr03arr10arr11arr12arr1330003002300430063008301030123014Date10只能逐个对数组元素进行操作 (字符数组例外)输入方法:输入方法:int a10,i;输入第输入第 i个数组元素:个数组元素:scanf(“%d “,输入整个数组元素输入整个数组元素 :for (i=0;i10;i+)scanf(“%d “,输出方法:输出方法:输出第输出第 i个数组元素:个数组元素:printf(“%d “,ai);输出整个数组元素:输出整个数组元素:for (i=0;i10;i+)printf(“%d “,ai);一维数组的输入和输出Date