笔记目录
第六章 数组
是一种数据类型
数组的概念
- 数组是一组有序数据的集合。
- 用数组的名称和下标来表示数组。例如:a[4],a就是数组名称,4表示数组的下标。
- 同一数组中的每一个元素数据类型必须相同。
定义和引用一维数组
定义:数据类型 数组名称[常量表达式];
// 2020/11/08
// C
#include <stdio.h>
int main() {
//定义一个10个空间的数组,每个数组元素为int类型
int a[10];
// int--->表示数组中的每一个元素都是int类型。
// a--->数组名称(表示数组首元素的内存地址)。
// 10--->表示数组中一共有10个元素。
// 会在内存中开辟连续的10个内存空间,来存放int类型的元素值,每个元素占4个字节。
// 引用数组
a[0] = 100;
// 数组的下标是从0开始的,9结束。
// 0表示下标。标号
a[1] = 10;
for (int i = 0; i <= 9; i++) {
printf("%d\t", a[i]);
}
printf("\n");
printf("%d\n",a);
printf("%d\n",a+1);
printf("%d\n",a+2);
return 0;
}
一维数组的初始化
// 2020/11/08
// C
#include <stdio.h>
int main() {
int a[10]={
1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<=9;i++){
printf("%d\t",a[i]);
}
printf("\n");
int b[10]={
1,2,3};
//如果给数组的部分元素进行赋值,没有赋值的元素系统会自动赋值为0
for(int i=0;i<=9;i++){
printf("%d\t",b[i]);
}
printf("\n");
int c[10]={
0};
//全0数组
for(int i=0;i<=9;i++){
printf("%d\t",c[i]);
}
printf("\n");
int d[]={
1,2,3,4,5,6,7};
for(int i=0;i<=6;i++){
printf("%d\t",d[i]);
}
return 0;
}
例题:使用数组输出斐波那契数列前20项。
// 2020/11/08
// C
#include <math.h>
#include <stdio.h>
int main() {
//斐波那契数列数组输出20项
int a[20] = {
1, 1};
int i;
for (i = 2; i <= 19; i++) {
a[i] = a[i - 1] + a[i - 2];
}
for (i = 0; i <= 19; i++) {
if (i % 5 == 0) {
printf("\n");
}
printf("%d\t", a[i]);
}
return 0;
}
二维数组
一般形式
数据类型 数组名称[常量][常量]
// 2020/11/08
// C
#include <stdio.h>
int main() {
int a[3][4];
// a--->表示二维数组的名称,首行元素的地址
// 3--->表示3行。
// 4--->表示4列。
// 行和列的下标都是从0开始的。
// 数组的每一个元素在内存中都是连续存放的。
// 按行存放。
printf("%d\n", a); //首行地址
printf("%d\n", a + 1); //第二行地址
printf("%d\n", &a[0][0]); //首个元素的地址
return 0;
}
二维数组赋初值
// 2020/11/08
// C
#include <stdio.h>
int main() {
// 1.
int a[3][4] = {
{
1, 2, 3, 4}, {
4, 3, 2, 1}, {
5, 6, 7, 8}};
for (int i = 0; i <= 2; i++) {
for (