引用
- 先定义,后使用
- 只能引用单个的数组元素,不能一次引用整个数组
int a[10];
10个数组元素:a[0]、a[1]、…、a[9]
数组元素:数组名[下标]
下标:整形表达式
下标取值范围:[0,数组长度-1] - 数组元素的使用方法与同类型的变量相同
scanf(“%d”, &a[i]);
sum = sum + a[i];
printf(“%d”, a[i]);
区分数组的定义和数组元素的引用
- 定义数组
类型名 数组名[数组长度] - 引用数组元素
数组名[下标]
int a[10];
a[0] = a[9] = 0;
a[i] = i;
一维数组的初始化
- 定义数组时,对数组元素赋初值
类型名 数组名[数组长度] = {初值表};
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
a[0] = 1, a[1] = 2, …, a[9] = 10 - 静态数组、动态数组的初始化
static int b[5] = {1, 2, 3, 4, 5};
静态存储的数组如果没有初始化,所有的元素自动赋0
static int b[5];
动态存储的数组如果没有初始化,所有的元素为随机值
auto int c[5];等价于int c[5];
针对部分元素的初始化
static int b[5] = {1, 2, 3};
b[0] = 1, b[1] = 2, b[2] = 3, b[3] = 0, b[4] = 0
[auto] int fib[20] = {0, 1};
fib[0] = 0, fib[1] = 1,其余18个元素呢?
- 如果对全部元素都赋初值,可以省略数组长度
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,}
使用一维数组编程
数组和循环
for (i = 0; i < n; i++)
{
printf("%d", a[i]);
}
一维数组示例
计算Fibonmacci数列
查找满足条件的所有整数
- 只用找出第一个
- 只用找到最后一个
求最小值
求最小值及下标
- 流程图
- 交换最小值
选择法排序
- 选择法分析(1)
- 选择法分析(2)
- 流程图
- 程序段