资源描述:
《第6章利用数组处理批量数据ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、6.1为什么要用数组6.2定义和引用一维数组6.3二维数组的定义和引用6.4字符数组6.5提高部分第6章利用数组处理批量数据P1396.1为什么要用数组P139前几章使用的变量都属于基本类型,例如整型、字符型、浮点型数据,这些都是简单的数据类型。对于有些数据,只用简单的数据类型是不够的,难以反映出数据的特点,也难以有效地进行处理。6.1为什么要用数组P13930名学生成绩,需要用30个变量100名学生成绩,需要用多少个变量?用s1,s2,s3,……,s30表示成绩,能体现内在联系C语言用方括号中的数字表示下标,如用s[15]表示数
2、组名一组具有同一属性的数据6.1为什么要用数组P139数组是一组有序数据的集合。数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号用一个数组名和下标唯一确定数组中的元素数组中的每一个元素都属于同一个数据类型6.2定义和引用一维数组6.2.1定义一维数组6.2.2引用一维数组的元素6.2.3一维数组的初始化6.2.4一维数组程序举例P1396.2.1定义一维数组一维数组是最简单的数组数组元素只有1个下标——一维数组数组元素2个下标——二维数组P1406.2.1定义一维数组定义数组的方法与定义变量的方法类似所不同的是一次定义
3、一批有关联的变量在定义数组时需要指定这批变量的类型、数组名称,数组中包含变量的个数。P1406.2.1定义一维数组如inta[10];数组名P1406.2.1定义一维数组如inta[10];数组长度P1406.2.1定义一维数组定义一维数组的方式为:类型符数组名[常量表达式];数组名的命名规则和变量名相同常量表达式给出元素的个数下标从0开始,如inta[10];a[0],a[1],a[2],…,a[9]P1406.2.1定义一维数组定义一维数组的方式为:类型符数组名[常量表达式];数组名的命名规则和变量名相同常量表达式给出元素的个
4、数下标从0开始,如inta[10];a[0],a[1],a[2],…,a[9]intn;scanf(″%d″,&n);inta[n];不合法P1406.2.2引用一维数组的元素必须先定义数组,才能引用数组中的元素只能逐个引用数组元素而不能一次引用整个数组中的全部元素P1406.2.2引用一维数组的元素P140引用数组元素的表示形式为:数组名[下标]a[0]=a[5]+a[2+1]-a[2*3]合法intn=5,a[10];a[n]=20;合法6.2.2引用一维数组的元素P140例6.1引用数组元素。利用循环给数组元素a[0]~a
5、[9]赋值为0~9,然后按逆序输出各元素的值。解题思路:先用循环给数组元素a[0]~a[9]赋值0~9,这样,每个数组元素都有固定的值了,然后按a[9]到a[0]的顺序输出各元素的值。6.2.2引用一维数组的元素P140#includevoidmain(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf("%d",a[i]);printf("");}使a[0]~a[9]的值为0~90123456789a[0]a[1]a[2]a[3]a[4]
6、a[5]a[6]a[7]a[8]a[9]6.2.2引用一维数组的元素P140#includevoidmain(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf("%d",a[i]);printf("");}先输出a[9],最后输出a[0]6.2.3一维数组的初始化对数组元素的赋值既可以通过赋值语句来实现,也可以在定义数组时同时给予初值,这就称为数组的初始化P141(1)定义数组时对全部数组元素赋初值inta[10]={0,1,2,3,4,
7、5,6,7,8,9};(2)可以只给一部分元素赋值inta[10]={0,1,2,3,4};相当于inta[10]={0,1,2,3,4,0,0,0,0,0};(3)inta[5]={1,2,3,4,5};可写为inta[]={1,2,3,4,5};6.2.4一维数组程序举例例6.2用数组来处理求Fibonacci数列问题。Fibonacci数列问题的含义见例5.8。P142解题思路:建立一个数组,将数列中第1个数放在数组第1个元素中,数列第2个数放在数组第2个元素中,…数组序号为i的元素的值是其前两个元素值之和。即:f[i]=f
8、[i-2]+f[i-1]用循环来求出数组各元素之和#includevoidmain(){inti;intf[20]={1,1};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i+