资源描述:
《第六章 利用数组处理批量数据ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章利用数组处理批量数据一、数组的概念数组——将多个同类型的数据组合在一起如:在一个程序中需要使用1000个整型变量,用原来的方法,只能:inta1,a2,a3……,a1000;这样做显然不能实现。如果用数组,只需要inta[1000];它就表示同时定义了1000个整型变量。二、一维数组1、定义:typeArray_Name[size];注意:1)type表示数组数据的类型(可以是任何合法的类型)2)Array_Name表示数组名,其命名规则与变量名的命名规则相同3)size——是整型(字符型)常量或常量表达式,
2、(绝对不允许是变量或变量表达式)其含义是表示:数组的长度——数组包含的数据(元素)的个数。4)中括号叫下标运算符。5)数组的下标从0开始计算,如inta[10],表示的是a[0],a[1]……a[9];A[0]A[1]……A[n-2]A[n-1]二、一维数组定义举例inta(10);——错误inta[n];——错误inta[10];——正确inta[5.5];——错误inta[‘a’];——正确inta[“a”];——错误#defineN5——正确inta[N];三、一维数组的引用1、数组和变量一样,必须先定义,再
3、使用(定义必须放在所有执行语句之前,数组名不能与其它变量名同名)2、数组的使用——只能一次使用一个元素,数组不能作为一个整体被使用。3、引用方式——Array_Name[下标],其中下标可以是整型(字符型)常量或变量表达式(注意,与定义时候区别)4、数组的每个元素就相当于一个普通的变量。5、数组的使用一般与for循环配合使用。(一维数组与一重for循环配合)三、引用举例例1:从键盘输入十个整数,然后反序输出这十个数。分析:1、要将十个个数输入,就必须存储在十个变量中,因此应该定义一个整型数组inta[10];2、要
4、连续输入这十个数,需要用十个scanf函数,而且每个scanf函数的形式都是一样的,scanf(“%d”,&a[k]);既然如此,我们就可以用循环,而且循环次数已知,用for。3、最后输出也是一样。例题6_1一维数组的赋值voidmain(){inta[10],k;for(k=0;k<10;k++)/*注意k的变化范围*/scanf("%d",&a[k]);for(k=9;k>=0;k--)/*注意k的初始值*/printf("%7d",a[k]);printf(“”);}四、一维数组的初始化数组初始化的一般形
5、式:typeArray_Name[size]={……};1、初始化所有元素inta[5]={1,2,3,4,5};2、初始化部分(只能是前部分)元素inta[5]={1,2};3、给数组的每个元素初始化相同的值,也必须完全写出inta[5]={1,1,1,1,1}不能是inta[5]={1*5};4、如果给数组的每个元素都赋了初始值,则可以不写数组的长度(size)inta[]={1,2,3,4,5}inta[5]={1,2,3,4,5}五、一维数组应用举例例6_2,求Fibonacci数列的前20项分析:1、
6、要求前20项,应该定义数组inta[20]2、从图中知道,数组的前两个元素已知,inta[20]={1,1}3、根据公式进行计算例题6_2voidmain(){intf[20]={1,1};/*f[0]=1,f[1]=1*/inti;for(i=2;i<20;i++)/*因为f[0],f[1]已知,因此I从2开始*/f[i]=f[i-1]+f[i-2];for(i=0;i<20;i++){if(i%5==0)/*这个if的作用在于控制每行输出5个数*/printf("");printf("%12d",f[i])
7、;}}例题6_3将十个数按序输出基本思想:相邻两个数比较,小的放在前面。(起泡法,冒泡法)例6_3voidmain(){inta[11];/*一种技术处理,为了习惯,下标从1开始*/inti,j,t;for(i=1;i<11;i++)/*输入10个数*/scanf("%d",&a[i]);for(j=1;j<=9;j++)/*需要比较的轮数*/for(i=1;i<=10-j;i++)/*每轮需要比较的个数*/if(a[i]>a[i+1])/*比较相邻两个数*/{t=a[i];a[i]=a[i+1];a[i+1]=t
8、;}/*交换顺序*/for(i=1;i<11;i++)/*输出10个数*/printf("%8d",a[i]);printf("");}六、二维数组的定义1、定义:typeArray_Name[size1][size2];要求与一维数组一样,其中size1表示第一维的长度(行),size2表示第二维的长度(列)如:inta[3][4]——定义了一个3行4