§5数组【引例】输入20个数,将它们按从大到小的次序排序后输出
讨论:如果按我们前面学的知识,我们应设20个变量来存储这20个数,如果要排序的数不是20个,而是100个,那我们就应设100个变量
没这么笨吧,我们有更好的办法解决
1一维数组数组是由固定数量的相同类型的元素按一定顺序排列而成
只有一个下标类型的数组称为一维数组
1.数组类型定义和说明类型定义的一般形式为:TYPE=ARRAY[下标类型]OF;数组说明:VAR:;数组名是由用户定义的标识符,下标类型可以是子界类型或枚举类型,下标规定了数组元素的个数和排列次序
基类型表示数组中每个元素的类型,它可以是任何数据类型,但同一数组中的元素类型必须相同
如:typeA=array[1
20]ofinteger;B=array[0
50]ofchar;Varx,y:A;a:B;其中x、y被说明为A类型数据,即均为拥有20个元素的数组,下标从1到20,元素类型为整型;a被说明为B类型数据,即拥有51个元素的数组,下标从0到50,元素类型为字符型
★数组也可以直接在说明部分说明数组的类型,如:varx,y:array[1
20]ofinteger;a:array[0
50]ofchar;数组中的每个元素都是变量,每个元素在数组中有固定的位置,可以用数组名及方括号括起的下标来表示
如a数组中的第5个元素可表示为:a[4]数组元素的运算和变量相同,如:readln(a[4]);x[3]:=x[3]+y[1];2.数组元素的赋值和引用如为一个数组A[1
10]赋值,可用下列语句实现:fori:=1to10doread(A[i]);如果两个数组类型相同,如数组x和y,可用赋值语句:x:=y;把y的10个元素值赋给x的相应元素,它等效于:fori:=1to20dox[i]:=y[i];但要给数组元素赋同一个值,不能这样赋