资源描述:
《最新C--课件-第六章-数组ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C--课件-第六章-数组记数器i=1、总分zf=0i<=10?读入一个分数到变量fs中zf=zf+fsavg=zf/10结束开始YN打印zf、avg问题的引入例:输入10个学生某门学科的成绩,求平均成绩。1、当读入下一分数时,前一分数值是否还能找到?2、如何将低于平均成绩的分数打印出来?在程序设计中存储单个数据时,需要根据数据的类型定义相应的变量来保存。如存储一个整数时需要定义一个整数变量来保存,存储一个实数时需要定义一个单精度或双精度变量来保存,存储含有多个成分的一个记录数据时,需要定义该类型的一个结构变量来保存。若在程序设计中需要存储同一数据类型的、彼此相关的多个数据时,如
2、存储数学上使用的一个数列或一个矩阵中的全部数据时,显然采用定义简单变量的方法是不行的,这就要求定义出能够同时存储多个值的变量,这种变量在程序设计中称为数组(相同类型的若干个元素所组成的有序集合)。数组的用处很多。简单例子:要读入某班全体50位同学某科学习成绩,然后进行简单处理(求平均成绩、最高分、最低分……)分析:若用简单变量,需50个不同变量名,如stu1,stu2,…stu50,要用很多个cin命令。而用数组,可共用一个cin命令,并利用循环结构读取。同变量一样,数组也必须先定义,后使用。定义内容:·数组名:必须是合法标示符·类型(存储属性/数据类型)·大小(维数/元
3、素个数)定义的一般形式:存储属性数据类型数组名[常量表达式][常量表达式]…常量表达式:常量或符号常量,其值必须为正,不能为变量!如:intn=5;inta[n];这样定义是错误的,如下为正确的:inta[10],b[5][4];charname[8],ch[2][3];staticfloatx[8*2+1],table[2][3][4];#defineNUM40inta[NUM],b[NUM+2];数组定义数组的初始化可以在定义数组的同时赋初值,如:inta[5]={1,2,3,4,5};12345intb[2][3]={{1,2,3},{4,5,6}};123456也可写
4、成:intb[2][3]={1,2,3,4,5,6};可以省略第一维数组大小,如:inta[]={…},b[][3]={…};省略元素值,如:intx[6]={1,2,3,4};(x[4]、x[5]自动用0补足)004321inta[5]={0};intb[3][2]={0};(全部元素初始化为0)inta[][3]={{1,2,3},{4,5},{6},{0}};000300520641inta[][3]={1,2,3,4,5,6,7};(思考第一维的大小?)静态/外部数组未初始化,默认初值是0(数值)或‘ ’(字符).auto数组未初始化,初值为不可预料的数。只能逐个引用
5、数组元素,不能一次引用整个数组.引用数组元素要注意下标不要越界(编译程序不检查是否“越界”).引用示例:a[2][3]a[2-1][2*3-1]a[x](x为整型表达式或变量)inta[5];for(i=0;i<5;i++)(注意下标不要越界)cout<6、;i++) {if(i%5==0)cout<#include【例】以下程序的运行结果是什么?#includevoidmain(){inta[][3]={{1,2,3},{4,5},{6},{0}};cout<7、4a10a11a12a13a14a20a21a22a23a24a30a31a32a33a34a40a41a42a43a44voidmain(){inta[5][5]={{1},{2,1},{3,2,1},{4,3,2,1},{5,4,3,2,1},i,j;for(i=0;i<=4;i++){for(j=0;j<=4;j++)cout<