18一维数组的定义,赋值,遍历.ppt

上传人:本田雅阁 文档编号:3460177 上传时间:2019-08-28 格式:PPT 页数:29 大小:113.02KB
返回 下载 相关 举报
18一维数组的定义,赋值,遍历.ppt_第1页
第1页 / 共29页
18一维数组的定义,赋值,遍历.ppt_第2页
第2页 / 共29页
18一维数组的定义,赋值,遍历.ppt_第3页
第3页 / 共29页
18一维数组的定义,赋值,遍历.ppt_第4页
第4页 / 共29页
18一维数组的定义,赋值,遍历.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《18一维数组的定义,赋值,遍历.ppt》由会员分享,可在线阅读,更多相关《18一维数组的定义,赋值,遍历.ppt(29页珍藏版)》请在三一文库上搜索。

1、一维数组,主要内容,一维数组的定义 一维数组元素的引用 一维数组的初始化和赋值 一维数组的遍历 一维数组元素的查找 一维数组元素的排序,一维数组的定义,一维数组的定义,定义数组的语法: int a10; 数据类型说明符 数组名数组长度;,注意:数组的空间分配是静态分配。数组长度只能是常量,长度不能在程序运行过程中发生变化。,一维数组的定义举例,int a ; #define SIZE 100 float bSIZE; int n=10; char cn; int 2a10;,一维数组元素的引用,一维数组元素的引用,数组就是一组变量的集合,每个数组元素相当于是一个变量 数组元素的表示: 数组名下

2、标 如:int a5;所定义的数组就是五个变量的集合,分别是: a0, a1,a2, a3, a4 int aN; 下标的取值范围:0N-1 ,其中N为数组的大小 下标是整型值,可以是整型常量、整型变量或整型表达式 如:ai a3+1 a2*i-1 注意:下标不能越界,否则可能覆盖其他数据,造成严重后果,一维数组的初始化和赋值,一维数组的初始化,定义数组之后,与普通变量一样,数组是沒有初始值的,各存储单元的值都是不定的 初始化:定义数组的同时赋初值 语法: 数据类型说明符 数组名长度=数值1,数值2,; 如 : int data5=1,2,3,4,5;,一维数组的初始化,初始化注意事项: (1

3、) 允许初始化一部分元素,其他没有赋初值的元素初值为0; int a5=1,2; 相当于 int a5=1,2,0,0,0; (2)允许初始化时省略数组的长度,数组的长度为赋初值的个数; int a=1,2,3,4,5; 相当于 int a5=1,2,3,4,5; (3)不能对整个数组初始化; int data5=1; 错误,应为: int data5=1,1,1,1,1;,一维数组的赋值,数组的赋值只能对数组元素单独操作,不能对数组整体操作。 赋值的两种方式:int a5; 赋值运算符 如:a3=8; 输入函数 如:scanf(“%d”, 错误,应单独为每个元素赋值 对数组的整体赋值只能在初

4、始化时进行,一维数组的遍历,从键盘输入5个整数,保存到数组a中;再逆序输出。,main() int a0,a1,a2,a3,a4; scanf(“%d”, ,main() int a5; scanf(“%d”, ,从键盘输入5个整数,保存到数组a中;再逆序输出。,main() int a5; scanf(“%d”, ,一维数组的遍历,数组的遍历一般用循环语句实现 注意下标的取值范围,不能越界(编译系统对下标的越界不做检查),解法1:记下最大数其值 main() int i, max,a10; printf(“enter data:n“); for(i=0;imax) max=ai; print

5、f(“最大数是%dn“, max); ,例题:从键盘输入10个整数存放在数组中,找出其中最大的一个数,输出该最大数。,解法2:记下最大数相应的下标 main() int i, max_id,a10; printf(“enter data:n“); for(i=0;iamax_id) max_id=i; printf(“最大数是%dn“,amax_id); ,讲解数组名作函数参数,#include void outputScore(int score,int length); /函数声明 main() int score10=1,2,3,4,5,6,7,8,9,10; outputScore(s

6、core,10); /函数调用 void outputScore(int a ,int length) /函数定义 int i=0; printf(“学生成绩如下:n“); for(i=0;ilength;i+) printf(“%d %-3dn“,i+1,ai); printf(“n“); ,课堂练习: 1.从键盘输入10个整数保存到数组中,求平均值并输出。,#include float average(int b,int length); main() int a10,i; float result; printf(“请输入10个整数:n“); for(i=0;i10;i+) scanf(

7、“%d“, ,float average(int b ,int length) int sum=0, i; float ave; for(i=0;i10;i+) sum+=bi; ave=(float)sum/10; return ave; ,课堂练习,2.模仿上例,求该数组中最大的那个数,并且输出。,课堂练习,1、新建一个项目,建立一个能存放100个数据的数组,为该数组赋值,赋值采用循环语句,元素值为:数组下标2,然后按正序和逆序输出 定义输入函数:int input(int a, int len); 定义正序输出函数:int outz(int a, int len); 定义逆序输出函数:i

8、nt outn(int a, int len); 编写main函数调用上述函数,实现输入和输出,课堂练习,2. 修改上例: 要求输出数组元素中所有5的倍数,怎么做?,3. 修改上例,要求实现求数组元素中所有下标为偶数的元素的和怎么做?,课堂练习,小结,数组的定义、初始化、引用、输入、输出概念、操作必须掌握 数组下标从开始 数组名代表数组首地址,是一个常量 语言不允许动态定义数组,即定义数组时数组长度表达式不能含有变量 数组元素与普通变量具有相同属性,可以进行算术运算和比较大小等操作,一维数组元素的查找,一维数组元素的查找,思路与实现:利用循环遍历数组中的元素,在遍历的过程中比较要查找的数与数组

9、元素是否相等,若相等,输出下标,若到数组末尾都未找到,则显示没有找到。,一维数组元素的查找,例:定义一个一维数组num, 再从键盘上输入一个整数x,查找数组中是否有元素的值与x相等。如果有,输出相应的下标;如果没有,输出“该值在数组中不存在” 。,一维数组元素的查找,#include main() int num10, x, i, j; for(i=0; i10; i+) scanf(“%d“, ,练习题1:,定义一个一维字符数组cnum, 再从键盘上输入一个字符ch,查找数组中是否有字符与ch相等。如果有,输出相应的下标;如果没有,输出“该字符在数组中不存在” 。,练习题2:,从键盘上输入一串字符,存储到一个字符数组中,然后统计数组中各个英文字符的个数(统计是区分字母的大小写)。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1