数组
数组是一种数据结构,用于存储所有相同类型的相关值的集合。
数组很有用,因为它们可以用一个描述性名称表示相关数据,而不是使用必须分别命名的单独变量。
例如,数组test_scores[25]可以容纳25个考试分数
数组声明包括其存储的值的类型,标识符和带有表示数组大小的数字的方括号[]。
例如:
int test_scores[25]; /* 数组大小为25 */
还可以在声明数组时对其进行初始化,如以下语句所示:
float prices[5] = {3.2, 6.55, 10.49, 1.25, 0.99};
请注意,初始值用逗号分隔,并放在花括号{}内。
数组可以部分初始化,如下所示:
float prices[5] = {3.2, 6.55};
缺失值设置为0。
数组存储在连续的内存位置中,声明后不能更改大小。
【选词填空】声明大小为4的整数数组:
x4 = {1, 2, 3, 4};
[
(
]
int
)
访问数组元素
数组的内容称为元素,每个元素都可以通过索引号访问。在C中,索引号从0开始。
由5个元素组成的数组的索引号为0、1、2、3和4。
例如:
int x[5] = {20, 45, 16, 18, 22};
可以认为是:
0 => [20]
1 => [45]
2 => [16]
3 => [18]
4 => [22]
要访问数组元素,请参考其索引号。
例如:
int x[5] = {20, 45, 16, 18, 22};
printf("The second element is %d\n", x[1]); /* 45 */
数组元素的值可以通过赋值语句来更改,这也需要使用数组名称和索引:
int x[5] = {20, 45, 16, 18, 22};
x[1] = 260;
printf("The second element is %d\n", x[1]); /* 260 */
数组的索引也称为下标。
【填空题】填空, 打印数组的第二个元素:
int x[5] = {20, 45, 16, 18, 22};
printf("%d", x[]);
数组循环
许多算法要求访问数组的每个元素以检查数据,存储信息和其他任务。
可以在称为遍历数组的过程中完成操作,该过程通常使用for循环实现,因为循环控制变量自然对应于数组索引。
例如:
float purchases[3] = {10.99, 14.25, 90.50};
float total = 0;
int k;
/* total the purchases */
for (k = 0; k < 3; k++) {
total += purchases[k];
}
printf("Purchases total is %6.2f\n", total);
/* 输出: Purchases total is 115.74 */
循环对于数组赋值也很有用。
例如:
int a[10];
int k;
for (k = 0; k < 10; k++) {
a[k] = k * 10;
}
【选词填空】使用for循环打印数组的元素:
int arr[5] = {1, 2, 3, 4, 5};
(int x = 0; x < ; x++) {
printf("%d", arr[]);
}
x
6
5
if
arr
for