数组
数组是将一些变量编制到一个组中;用来存放一组类型相同、意义通常也相同的数据。其中每个数据称为数组的元素,每个元素就是一个变量.数组中的每个元素都有各自的位序,可通过数组名和索引号操作各个元素.长度为n的数组索引号范围为[0,n-1].
一维数组
简单实例
定义 初始化 通过数组名和索引号操作各个元素.
#include <stdio.h>
int main(void) {
//一维数组初始化
//int s[10];//定义整型长度为10的数组
//int s[10] = { 1,2,3,4,5,6,7,8,9,10 };//完全初始化
//int s[10] = { 1,2,3,4,5 };//不完全初始化
//int s[] = {1,2,3,4,5,6,7,8,9,10}//省略长度的初始化,与完全初始化等价
//一维数组元素的引用:数组名[下标]
//int a = s[1];
//printf("%d", a);
//将一组整数逆置
int n;//n个整数,n小于40
printf("请输入数组长度: ");
scanf_s("%d", &n);
int a[40];//数组定义
printf("数组为:");
for (int i = 0; i < n; i++)//数组元素赋值
scanf_s("%d", &a[i]);
for (int j = 0; j < n / 2; j++) {//交换元素
int temp = a[j];
a[j] = a[n - j - 1];
a[n - j - 1] = temp;
}
for (int k = 0; k < n; k++) {//循环输出元素
printf("%d ", a[k]);
}
return 0;
}
结果:
二维数组
C语言二维数组的存储是按行优先存储的
简单实例
定义 初始化 通过数组名和索引号操作各个元素输入及输出.
#include <stdio.h>
int main(void) {
//二维数组的定义及其初始化;
//double a[2][3];//定义了2个一维数组,每个一维数组有三个元素;
//int b[2][3] = { 1,2,3,4,5,6 };//按行连续赋值
//int c[3][2] = { {1,2},{3,4},{5,6} };//按行分段赋值
//int d[3][3] = { 1,2,3 };//可以对部分元素赋值,未赋值的元素自动取0值
//int e[][2] = {1,2,3};//第一维长度可以不给出
//输入二维数组元素
int f[2][3];
printf("输入二维数组元素:");
for (int i = 0; i < 2; i++)
for (int j = 0; j < 3; j++)
scanf_s("%d", &f[i][j]);
//输出二维数组元素
printf("输出二维数组元素:");
for (int i = 0; i < 2; i++)
for (int j = 0; j < 3; j++)
printf("%d ", f[i][j]);
return 0;
}
结果:
由于程序中定义的二位数组是2行3列,所以输入的多出来的在输出时会自动忽略.