
(身设叶在线开放课程 数组的概念 主讲:曾志华
数组的概念 在线开放课程 主讲:曾志华

一.为什么需要数组 内存 数组 120 65 数组的元素 容器中保 存的物品 98 4 日常生活中的容器 程序中的数组
数组 内存 120 65 98 4 数组的元素 容器中保 存的物品 日常生活中的容器 程序中的数组 一.为什么需要数组

一.j 为什么需要数组 程疡设计 17 24 1 :综合设计期末考试 8 15 0 0 33 77 23 5 714 16 76 55 一个矩阵 4 6 1320 22 92 瓜于工欢灭表 72 53 1012 1921 3 9 8 6 9 111825 2 9 73 3 8 86 55 222006322062011 邓茂松 a% 77 思考:这些数据如何存储? 用一个一个变量来存储是不合适的
一.为什么需要数组 思考:这些数据如何存储? 用一个一个变量来存储是不合 适的 一张学生成绩表 一个矩阵

二.数组的定义方法 身程设册 为了方便地使用这些数据,C语言提供了一种构造数据类型:数组 datatype arrayName[size]; 类型说明符 数组名 常量表达式 int、char、float.… 数组大小 int num[50];它表示定义了一个整形数组,数组名为num, 此数组有50个元素
datatype arrayName[size]; 类型说明符 int、char、float … 数组名 常量表达式 数组大小 int num[50];它表示定义了一个整形数组,数组名为num, 此数组有50个元素。 二.数组的定义方法 为了方便地使用这些数据,C语言提供了一种构造数据类型:数组

二.数组的定义方法 (程设计 数组定义中常见的错误: ①float name0;/~数组大小为0没有意义*/ ②inta(3): /*不能使用圆括号*/ ③intk,ak;/*不能用变量说明数组大小*/
二.数组的定义方法 数组定义中常见的错误: ① float name[0]; /* 数组大小为0没有意义*/ ② int a(3); /* 不能使用圆括号*/ ③ int k, a[k]; /* 不能用变量说明数组大小*/

三一维数组元素的引用 程窃设汁 注意区别:引用数组元素时的下标含义 数组元素的引用方式: 定义数组时的数组长度含义 数组名,[下标] 。国■里■想量 引用数组元素时的下标含义:表示数组中序号,第几个 定义数组时的数组长度含义:表示这组数总共有几个元素 例如: inta[⑤;/共有5个元素,这5个元素分别a0,al1,a2l,a3l,a4 a4=100;/给下标为4的元素赋予100
三 一维数组元素的引用 数组元素的引用方式: 数组名[下标] 注意区别:引用数组元素时的下标含义 定义数组时的数组长度含义 引用数组元素时的下标含义:表示数组中序号,第几个 定义数组时的数组长度含义:表示这组数总共有几个元素 例如∶ int a[5];//共有5个元素,这5个元素分别a[0],a[1],a[2],a[3],a[4] a[4] = 100; //给下标为4的元素赋予100

四.数组元素在内存中的存储 (身序设计 维数组:float num50; 数组元素的特点: 86.5 num[0] 92.0 num[1] 这50个元素在内存中是连续存放的 77.5 num[2] 因为存储的连续性,对数组的访问带 来了方便(下标的移动) 52.0 num[3] 数组下标越界了,C语言不会编译出错 ◆ num[49]
一维数组: float num[50]; 86.5 92.0 77.5 52.0 . . . 四.数组元素在内存中的存储 数组下标越界了,C语言不会编译出错 这50个元素在内存中是连续存放的 因为存储的连续性,对数组的访问带 来了方便(下标的移动) 数组元素的特点: num[0] num[1] num[2] num[3] num[49]

习题 程疗设计 1求Fibonaccia数列的前20项 #include int main() 用数组来处理求Fibonacci数到的前20项。1 这个数列有如下特点: int a[20]; int i; 第1,2两个数为1,1, a[6]=1; 从第3个数开始, a[1]=1; for(i=2;i<20;i+) 该数是其前面两个数之和。 a[i]=a[i-1]+a[i-2]; for(i=6;1<28;i+) printf("%d ",a[i]); return 0;
1 求Fibonacci数列的前20项 用数组来处理求Fibonacci数列的前20项。 这个数列有如下特点: 第1,2两个数为1,1, 从第3个数开始, 该数是其前面两个数之和。 习题

习题 程序设计 2程序举例:数字放大 给定一个整数序列以及放大倍数X,将序列中每个整数放大X倍后输出。 输入:包含三行:第一行为N,表示整数序到的长度N≤100);第二行为N个整数 (不超过整型范圆),整数之间以一个空格分开;第三行包含一个整数(不超过 整型范圆),为指定的整数X。 输出:N个整数,为原序列放大之后的序列,整数之间以一个空格分开。 样创输入 3 157 2 样创输出 21014
2 程序举例:数字放大 给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出。 输入:包含三行:第一行为N,表示整数序列的长度(N ≤ 100);第二行为N个整数 (不超过整型范围),整数之间以一个空格分开;第三行包含一个整数(不超过 整型范围),为指定的整数x。 输出:N个整数,为原序列放大之后的序列,整数之间以一个空格分开。 样例输入 3 1 5 7 2 样例输出 2 10 14 习题

#include int main() int x; int nj scanf("%d",&n)3 longlong a[101]; for(int i=0 i<nj i++) scanf("%d",&a[i]); scanf("%d",&x); for(int i=0 3 i<n j i++) a[i]=a[i】*x; } for(int i =0 3 i<n j i++) printf("%d",a[i】)i return 0j