第5讲 数组
- 格式:ppt
- 大小:857.00 KB
- 文档页数:40


数组的定义,初始化和使用,C语言数组详解数组可以说是目前为止讲到的第一个真正意义上存储数据的结构。
虽然前面学习的变量也能存储数据,但变量所能存储的数据很有限。
不仅如此,数组和指针(后续会讲)是相辅相成的,学习数组可以为学习指针打下基础。
那么到底什么是数组呢?顾名思义数组就是很多数的组合!那么这些数有没有什么要求呢,是不是不管什么数组合在一起都是数组呢?同一数组中存储的数必须满足以下两个条件:1.这些数的类型必须相同。
2.这些数在内存中必须是连续存储的。
换句话说,数组是在内存中连续存储的具有相同类型的一组数据的集合。
一维数组一维数组的定义方式如下:类型说明符数组名[常量表达式];例如:复制纯文本复制1.int a[5];int a[5];它表示定义了一个整型数组,数组名为 a,定义的数组称为数组 a。
数组名a 除了表示该数组之外,还表示该数组的首地址(关于地址现在先不讨论,稍后讲指针的时候再说)。
此时数组 a 中有 5 个元素,每个元素都是 int 型变量,而且它们在内存中的地址是连续分配的。
也就是说,int 型变量占 4 字节的内存空间,那么 5 个int型变量就占 20 字节的内存空间,而且它们的地址是连续分配的。
这里的元素就是变量的意思,数组中习惯上称为元素。
在定义数组时,需要指定数组中元素的个数。
方括号中的常量表达式就是用来指定元素的个数。
数组中元素的个数又称数组的长度。
数组中既然有多个元素,那么如何区分这些元素呢?方法是通过给每个元素进行编号。
数组元素的编号又叫下标。
数组中的下标是从0 开始的(而不是1)。
那么,如何通过下标表示每个数组元素的呢?通过“数组名[下标]”的方式。
例如“int a[5];”表示定义了有 5 个元素的数组 a,这 5 个元素分别为 a[0]、a[1]、a[2]、a[3]、a[4]。
其中a[0]、a[1]、a[2]、a[3]、a[4] 分别表示这5 个元素的变量名。
1 / 16【五年级数学思维拓展】趣味入门—勇闯智慧岛(二)——余数定理⑴了解余数定理,会用余数定理解题1. 掌握余数定理2. 掌握同余定理1. 1014除以一个两位数,余数是13。
求出符合条件的所有的两位数。
2. 甲、乙两数的和是1086,甲数除以乙数商11余30,求甲、乙两数。
3. 在2004,2007,2009,2010,2012中,若其中几个数的和被9除余7,则将这几个数归为一组。
这样的数组共有______组。
(即是该课程的课后测试)1. 用某自然数a 去除1992,得到商是46,余数是r,求a 和r2. 1013除以一个两位数,余数是12.求出符合条件的所有的两位数3. 甲、乙两数的和是1088,甲数除以乙数商11余32,求甲、乙两数4. 一个两位数除310,余数是37,求这样的两位数5. 有两个自然数相除,商是17,余数是13,已知被除数、除数、商与余数之和为2113,则被除数是多少?2 / 161. 因为1992是a 的46倍还多r ,得到19924643......14÷=,得1992464314=⨯+,所以43a =,14r =2. 1013121001-=,100171113=⨯⨯,那么符合条件的所有的两位数有11,13,77,91,因为“余数小于除数”,所以舍去11,答案只有13,77,913. 因为 甲=乙1132⨯+,所以 甲+乙=乙1132⨯++乙=乙12321088⨯+=;则乙(108832)1288 =-÷=,甲1088=-乙1000=4. 本题为余数问题的基础题型,需要学生明白一个重要知识点,就是把余数问题---即“不整除问题”转化为整除问题。
方法为用被除数减去余数,即得到一个除数的倍数;或者是用被除数加上一个“除数与余数的差”,也可以得到一个除数的倍数。
本题中310-37=273,说明273是所求余数的倍数,而273=3×7×13,所求的两位数约数还要满足比37大,符合条件的有39,91.5. 被除数+除数+商+余数=被除数+除数+17+13=2113,所以被除数+除数=2083,由于被除数是除数的17倍还多13,则由“和倍问题”可得:除数=(2083-13)÷(17+1)=115,所以被除数=2083-115=1968【五年级数学思维拓展】趣味入门—勇闯智慧岛(二)——余数定理(2)了解余数定理,会用余数定理解题1. 掌握余数定理2. 掌握同余定理3 / 161. 求478×296×351除以17的余数。