C语言教程:一维与二维数组的定义与操作

需积分: 0 1 下载量 90 浏览量 更新于2024-08-14 收藏 500KB PPT 举报
"数组是C语言中一种基础的数据结构,它是一个有序的数据集合,其中的元素具有相同的类型。数组可以被看作是存储同类型数据的连续内存空间,通过索引来访问和操作这些元素。本教程将重点介绍一维数组和二维数组的定义、引用以及初始化方法。 一维数组是数组的基本形式,它由一个下标来确定每个元素的位置。在C语言中,一维数组的定义通常采用以下形式: ```c 数据类型 数组名 [常量表达式]; ``` 例如,定义一个包含10个整数的一维数组`t`: ```c int t[10]; ``` 需要注意的是,数组的大小必须在编译时确定,因此不能使用变量作为数组的长度,如下所示的定义是错误的: ```c int n = 10; int a[n]; // × ``` 一旦数组被定义,可以通过数组名和下标来引用和修改其元素。例如,`t[0]`表示数组的第一个元素,`t[9]`表示最后一个元素。初始化一维数组可以通过循环完成,如下: ```c int j, t[10]; for(j = 0; j < 10; j++) { t[j] = j; } ``` 或者,可以通过scanf函数读取用户输入的数据填充数组: ```c for(j = 0; j < 10; j++) { scanf("%d", &t[j]); } ``` 二维数组是在一维数组的基础上扩展,用于存储矩阵或类似表格的数据。二维数组的定义形式如下: ```c 数据类型 数组名[常量表达式1][常量表达式2]; ``` 其中,`常量表达式1`代表行数,`常量表达式2`代表每行的元素个数。例如: ```c double b[5][10]; ``` 二维数组的引用方式为`数组名[行下标][列下标]`。初始化二维数组可以使用嵌套循环: ```c int j, k, b[3][4]; for (j = 0; j < 3; j++) { for (k = 0; k < 4; k++) { scanf("%d", &b[j][k]); // 或者设置默认值 b[j][k] = 0; } } ``` 顺序结构在程序设计中扮演着重要角色,特别是在处理输入、计算和输出的场景。当需要对输入数据进行加减运算并输出结果时,按照输入、计算、输出的顺序编写代码是最直观且有效的方法。例如,如果有一个需求是将用户输入的一系列数字相加,然后输出总和,那么可以使用以下顺序结构: ```c #include <stdio.h> int main() { int i, sum = 0; for (i = 0; i < M; i++) { int num; scanf("%d", &num); sum += num; } printf("Sum: %d\n", sum); return 0; } ``` 在这个例子中,`M`是一个预定义的宏,表示数组的长度,这里假设已定义`#define M 4`。程序首先接收用户输入的四个整数,然后逐个累加,最后输出总和。这种顺序执行的方式易于理解和实现,是编程中最常见的处理逻辑之一。"