资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,数 组,P131,数 组,构造数据类型之一 数组是同一类型的一组值,在内存中顺序存放 整个数组共用一个名字,而其中的每一项又称为一个元素,即数组元素,用数组名,下标运算符 和下标描述,在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。,一维数组的定义,一般形式: 数据类型 数组名常量表达式;,合法标识符,集合元素个数,如有定义, int a6;,a:数组名。 表示该数组存储内存的首地址(地址常量), :下标运算符 单目运算符 优先级(1) 左结合 不能用( ),编译时分配连续存储空间 占内存总字节数=数组元素总个数*sizeof(元素数据类型),P131,说明:a数组由6个int型数据元素组成,规定:下标从0开始。,数组的正确定义,1.求5个整数的最大值。5个整数存放于数组中。 int a5;,2.求一个班学生的C语言程序设计考试成绩的最高分。 int b30; 或: float b30;,#define N 30 #include main() int aN; ,#define N 5 #include main() int aN; ,定义数组时常见的错误,如,输入 n个整数或输入一批整数。,#include main() int n; scanf(%d, .,#include main() int n=30; int an; . ,#define N 30 #include main() int aN; . ,解决方案:,#include main() int a30; . ,定义数组时常见的错误,如,输入 n个整数或输入一批整数。,数组初始化指在定义数组的同时为数组元素赋初值。,一维数组的引用与初始化,int a6=1,2,3,4,5,6;,int a6=6,2,3;,int a6=0; /*对数组元素清0*/,未赋值的元素自动赋0值,数组初始化时,也可省略数组说明的长度。,P132,数组必须先定义,后使用,即数组元素的引用(赋值、运算、输出)。,int a =1,2,3,4,5,6;,必须用一对 。 内的数值用“,”分隔,数组的输入输出,例:读入10个整数存入数组,并输出这10个数。,#include main() int a10,i; for(i=0;i10;i+) scanf(%d, ,解决数组的问题,采用循环结构。 关键点:数组的下标。数组元素也称为下标变量。,数组的输入输出,例:从键盘读入10个整数存入数组,逆序输出该数组中的数。,#include main() int a10,i; for(i=0;i=0;i-) printf(%5d, ai); ,for(i=0;i10;i+) printf(%5d, a9-i);,P153.7.5:将一个数组中的值按逆序重新存放。,79,23,67,34,89,54,98,39,87,23,i=0,j=9,ai,aj,+,-,循环继续的条件 ij,#include main() int a10,i,j,t; for(i=0;i10;i+) scanf(%d, ,输入,交换算法,输出,P153.7.5:将一个数组中的值按逆序重新存放。,例:求任意10个整数的最大值和最小值。,1.定义一个数组a10,及两个变量, max(存放最大值), min(存放最小值) 2. 输入10整数存入数组a。 3. 实现求最大值和最小值的算法。 a. 对max,min赋初值。通常取数组的第一个元素。max=min= a0 b. 采用循环结构,依次用ai和max,min比较 (i=19) 若maxai, 将 min=ai 4. 输出:max和min,例:求任意10个整数的最大值和最小值。,#include main() int a10,i,max,min; for(i=0;iai) min=ai; printf(Maximum value is %dn,max); printf(Minimum value is %dn,min);,已有n个数,在这n 个数中查找x是否存在,若存在,输出该数,否则输出“Not find ”。,#include #define N 10 main() int aN,i,x; printf(Please Enter %d number ,N); for(i=0;i=N) printf(Not found!); ,#include #define N 10 main() int aN,i,x,flag=0; printf(Please Enter %d number ,N); for(i=0;iN;i+) scanf(%d, ,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号