资源描述:
《c语言ppt课件-第6章数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、引言一维数组的定义和引用二维数组的定义和引用字符数组与字符串第6章数组6.0引言一、数组的引入为了便于处理一批类型相同的数据,引入了数组类型.假设现在要保存每个学生的成绩,那就需要40个变量,但这样一来输入、输出、计算都会变得繁琐.在这种情况下,我们可以使用数组类型,声明一个含有40个元素的数组,每个数组元素存放一个成绩,成绩的输入、输出、计算都可通过循环来实现.例:某班有40名学生,求该班成绩的平均分#includemain(){intj,sum,s;floatave;sum=0;for(j=1;j<=40;j+
2、+){scanf(“%d”,&s);sum=sum+s;}ave=sum/40;printf(“ave=%f”,ave);}二、数组的概念1.数组:由具有相同类型的固定数量的元素组成的结构2.数组元素:每一个数组元素都是一个变量,为了与一般的变量相区别,我们称数组元素为下标变量3.下标变量在数组中的位置序号称下标,c语言中下标从0开始#includemain(){intj,sum,s[40];floatave;sum=0;for(j=0;j<=39;j++){scanf(“%d”,&s[j]);sum=sum+s[
3、j];}ave=sum/40;printf(“ave=%f”,ave);}6.1一维数组的定义和引用一、一维数组的定义1.格式:类型标识符数组名[常量表达式];例:inta[10];floatb[10],c[5];2.说明(1)数组名是用户定义的标识符,数组名表示了一个存储区的首地址(即第一个数组元素的地址)84:668095101010121014:1028a[0]a[1]a[2]:a[9](2)常量表达式:指数组中元素的个数(3)数组元素的下标由零开始数组a有10个元素:a[0],a[1]…a[9](4)定义时[]中不能包含变量
4、,[]中常量表达式的值不能是实数.1.引用形式:数组名[下标]注意:如果出现a[5]=72;编译时不会指出错误,系统会将a[4]后下一个存储单元赋值为72,但这样可能会破坏数组以外其他变量的值a[5]1020847566809510101012101410161018a[0]a[1]a[2]a[3]a[4]72假设这个存储空间是变量x的,实际上a[5]是不存在的,如果执行了a[5]=72,会将x原有的正确数据覆盖掉2.说明(1)下标可以是整型常量或整型表达式如:a[1],a[2*3]inti=2;a[i]下标不要超范围数组定义为in
5、ta[5],数组长度为5而下标在0----4之内,即a[0]----a[4]二、数组元素的引用(3)数组元素地址表示&a[i],&a[0]即a例1输入10个数放入一个数组,然后逆序输出。main(){inti,a[10];for(i=0;i<=9;i++)scanf(“%d”,&a[i]);for(i=9;i>=0;i--)printf(“%4d”,a[i]);}控制输入10个数据控制输出10个数据三、一维数组的初始化1.概念:在定义一维数组时对各元素指定初始值称为数组的初始化如:inta[5]={1,3,5,7,9};2.说明对数
6、组的全体元素指定初值,初值用{}括起来,数据之间用逗号分开.在这种情况下,可以不指明数组的长度,系统会根据{}内数据的个数确定数组的长度如:inta[]={1,3,5,7,9};(2)对数组中部分元素指定初值(这时不能省略数组长度)如:inta[5]={1,3,5};从前往后,后面元素自动赋0(3)使数组中的全部元素初始值都为0如:inta[5]={0,0,0,0,0};更简单的写法:inta[5]={0};讨论:以下几种用法是否正确?3.inta[5];a={1,2,3,4,5};4.inta[10];floati=3;a[i]=
7、10;1.charname[0];floatweight[10.3];intarray[-100];6.inti,a[5];for(i=0;i<5;i++)scanf(“%d”,&a[i]);for(i=0;i<5;i++)printf(“%d”,a[i]);2.inti=5;inta[i]={1,2,3,4,5};5.inta[5];scanf(“%d”,&a);printf(“%d”,a);例2:用数组求fibonacci数列的前20个数#includemain(){inti,f[20]={1,1};for(i
8、=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){if(i%5==0)printf(“”);printf(“%12d”,f[i]);}}110000:0f[0]f[1]f[2]f[3