1213一维数组的定义,赋值,遍历

上传人:gp****x 文档编号:242876671 上传时间:2024-09-10 格式:PPT 页数:30 大小:172KB
返回 下载 相关 举报
1213一维数组的定义,赋值,遍历_第1页
第1页 / 共30页
1213一维数组的定义,赋值,遍历_第2页
第2页 / 共30页
1213一维数组的定义,赋值,遍历_第3页
第3页 / 共30页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,一维数组,1,主要内容,一维数组的,定义,一维数组元素的,引用,一维数组的,初始化,和,赋值,一维数组的,遍历,一维数组元素的,查找,一维数组元素的,排序,2,一维数组的,定义,3,一维数组的,定义,定义数组的语法: int a10;数据类型说明符 数组名数组长度;,注意:数组的空间分配是静态分配。数组长度只能是常量,长度不能在程序运行过程中发生变化。,4,一维数组的,定义举例,int a ;,#define SIZE 100,float bSIZE;,int n=10;,char cn;,int 2a10;,错误,没有指明数组的大小,int a10;,正确 ,SIZE是常量,相当于 float b100;,错误,数组的大小不能是变量,应为 int a10;,错误,数组名2a 不符合标识符的命名规则,5,一维数组元素的,引用,6,一维数组元素的,引用,数组就是一组变量的集合,,每个数组元素相当于是一个变量,数组元素的表示:,数组名,下标,如:,int,a5,;所定义的数组就是五个变量的集合,分别是:,a0, a1,a2, a3, a4,int,aN,;,下标的取值范围:,0,N-1,,其中,N,为数组的大小,下标是整型值,可以是整型,常量,、整型,变量,或整型,表达式,如:,ai, a3+1 a2*i-1,注意:下标不能越界,否则可能覆盖其他数据,造成严重后果,7,一维数组的,初始化,和,赋值,8,一维数组的,初始化,定义数组之后,与普通变量一样,数组是,沒有初始值,的,各存储单元的值都是不定的,初始化:定义数组的同时赋初值,语法:,数据类型说明符 数组名长度=数值1,数值2,;,如 :,int data5=1,2,3,4,5;,9,一维数组的,初始化,初始化注意事项:,(1) 允许初始化一部分元素,其他没有赋初值的元素初值为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;,10,一维数组的,赋值,数组的赋值只能,对数组元素单独操作,,不能对数组整体操作。,赋值的两种方式:int a5;,赋值运算符 如:,a3=8;,输入函数 如:,scanf(“%d”,例:,a=1,3,5,7,9;,错误,,应单独为每个元素赋值,例:,a=1;,错误,,应单独为每个元素赋值,对数组的整体赋值只能在初始化时进行,11,一维数组的,遍历,12,从键盘输入5个整数,保存到数组a中;再逆序输出。,main(),int a0,a1,a2,a3,a4;,scanf(“%d”,scanf(“%d”,scanf(“%d”,scanf(“%d”,scanf(“%d”,printf(“%dn”,a4);,printf(“%dn”,a3);,printf(“%dn”,a2);,printf(“%dn”,a1);,printf(“%dn”,a0);,main(),int,a5,;,scanf(“%d”,&,a0,);,scanf(“%d”,&,a1,);,scanf(“%d”,&,a2,);,scanf(“%d”,&,a3,);,scanf(“%d”,&,a4,);,printf(“%dn”,a4,);,printf(“%dn”,a3,);,printf(“%dn”,a2,);,printf(“%dn”,a1,);,printf(“%dn”,a0,);,13,从键盘输入5个整数,保存到数组a中;再逆序输出。,main(),int,a5,;,scanf(“%d”,&,a0,);,scanf(“%d”,&,a1,);,scanf(“%d”,&,a2,);,scanf(“%d”,&,a3,);,scanf(“%d”,&,a4,);,printf(“%dn”,a4,);,printf(“%dn”,a3,);,printf(“%dn”,a2,);,printf(“%dn”,a1,);,printf(“%dn”,a0,);,main(),int i,a5,;,for(i=0;i=0;i-),printf(“%d”,ai,);,14,一维数组的,遍历,数组的遍历一般用循环语句实现,注意下标的取值范围,不能越界(编译系统对下标的越界不做检查),15,解法1:记下最大数其值,main(),int i, max,a10;,printf(enter data:n);,for(i=0;i10;i+),scanf(%d, ,max=a0; /假定a0的元素最大,for(i=1;imax),max=ai;,printf(“最大数是%dn, max);,例题:,从键盘输入10个整数存放在数组中,找出其中最大的一个数,输出该最大数。,解法2:记下最大数相应的下标,main(),int i, max_id,a10;,printf(enter data:n);,for(i=0;i10;i+),scanf(%d, ,max_id=0; /假定下标为0的元素最大,for(i=1;iamax_id),max_id=i;,printf(“最大数是%dn,amax_id);,16,讲解数组名作函数参数,#include ,void outputScore(int score,int length);,/函数声明,main(),int score10=1,2,3,4,5,6,7,8,9,10;,outputScore(score,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);,17,课堂练习:,1.从键盘输入10个整数保存到数组中,求平均值并输出。,#include ,float average(int b,int length);,main(),int a10,i;,float result;,printf(请输入10个整数:n);,for(i=0;i10;i+),scanf(%d,result=average(,a,10,),printf(“平均值=%fn,result);,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;,18,课堂练习,2.模仿上例,求该数组中最大的那个数,并且输出。,19,课堂练习,1、新建一个项目,建立一个能存放100个数据的数组,为该数组赋值,赋值采用循环语句,元素值为:数组下标2,然后按正序和逆序输出,定义输入函数:int input(int a, int len);,定义正序输出函数:int outz(int a, int len);,定义逆序输出函数:int outn(int a, int len);,编写main函数调用上述函数,实现输入和输出,20,课堂练习,2,.,修改上例:,要求输出数组元素中所有5的倍数,怎么做?,21,3. 修改上例,要求实现求数组元素中所有下标为偶数的元素的和怎么做?,课堂练习,22,小结,数组的定义、初始化、引用、输入、输出概念、操作必须掌握,数组下标从开始,数组名代表数组首地址,是一个常量,语言不允许动态定义数组,即定义数组时数组长度表达式不能含有变量,数组元素与普通变量具有相同属性,可以进行算术运算和比较大小,等操作,23,一维数组元素的,查找,24,一维数组元素的,查找,思路与实现:利用循环遍历数组中的元素,在遍历的过程中比较要查找的数与数组元素是否相等,若相等,输出下标,若到数组末尾都未找到,则显示没有找到。,25,一维数组元素的,查找,例:定义一个一维数组num, 再从键盘上输入一个整数x,查找数组中是否有元素的值与x相等。如果有,输出相应的下标;如果没有,输出“该值在数组中不存在” 。,26,一维数组元素的,查找,#include ,main(),int num10, x, i, j;,for(i=0; i10; i+),scanf(%d, ,printf(“input x:”);,scanf(%d, ,for(i=0; i10; i+),if (,numi=x,) /找到了,break;,if(i=10)/没有找到,printf(“该数在数组中不存在 );,else,printf(“该数在数组中的下标是%d”,i);,27,练习题1:,定义一个一维字符数组cnum, 再从键盘上输入一个字符ch,查找数组中是否有字符与ch相等。如果有,输出相应的下标;如果没有,输出“该字符在数组中不存在” 。,28,练习题2:,从键盘上输入一串字符,存储到一个字符数组中,然后统计数组中各个英文字符的个数(统计是区分字母的大小写)。,29,课后项目学生成绩管理系统v1.0,逐步实现学生成绩管理系统V1.0,创建一个新的项目,并建立源文件,编写输入一维数组元素的函数input,原型:void input ( int a , int n );,编写输出一维数组元素的函数output,原型: void output( int a , int n);,编写菜单函数menu,原型: void menu( );,编写查找成绩x在数组中的下标的函数searchx,原型: int searchx( int a , int n, int x );,编写主函数,按照逻辑顺序调用上述函数。,30,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!