C语言-----一维数组

一维数组的创建,初始化,使用。

(一)一维数组的创建

数组:一组相同类型元素的集合
定义一维数组的形式:类型符 数组名[常量表达式]

(1)常量表达式用来求数组元素的个数,即数组长度。如a[10],表示该数组中有10个元素,分别为a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。
注意:数组的下标从0开始

(2)常量表达式中可以包括常量和符号常量,不能包含变量。

举例:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h
int main()
{
 int n;
 scanf("%d", &n);
 int a[n];
 system("pause");
 return 0;
}

在这里插入图片描述

(3)数组名的命名规则与变量名相同。
(二)一维数组的初始化

(1)完全初始化

int a1[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int a2[  ] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
//整型数组
//后面一行的数组初始化,由于给所有元素都赋值了,元素个数已经确定,可以不指定数组长度。这两行代码意义一样。

char b1[3] = { 'a', 'b', 'c' };
char b2[  ] = {' a', 'b', 'c'};
//与上面类似,这两行代码意义一样。

char c1[  ] = { 'a', 'b', 'c','\0' };
char c2[  ] = "abc";
//字符串数组
//这两行代码意义一样 。因为字符串以' \0 '结尾。
//后面一行代码中是连续字符串,默认后面有 ' \0 '.

(2)部分初始化

char a[10] = { 1, 2 };
 //给定了数组长度,后面只赋了两个初值,则这两个值赋给前两个元素,
 //后面的元素系统自动赋初值,0。

注意:系统自动赋初值时,
数值型数组——初始化为 0
字符型数组——初始化为 ’ \0 ’
指针型数组——初始化为 NULL


(三)如何引用一维数组元素 及 如何使用一维数组

定义好数组并赋初值后,就可以引用数组中的元素。
但是只能引用数组元素而不能一次调用整个数组全部元素的值。
数组名[下标]
数组是使用下标来访问的,且下标从0开始。
数组的大小可以通过计算得到。


代码如下:

 int a[10];
 int sz = sizeof(a) / sizeof(a[0]);
 printf("%d\n", sz);

(1)使用的简单举例:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int t = 0;
 int a1[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
 t = a1[1];
 printf("%d\n", t);
 system("pause");
 return 0;
}

运行结果如图
在这里插入图片描述
(2)举例2
对十个数组元素依此赋值0,1,2,3,4,5,6,7,8,9,要求逆序输出
代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int a[10];
 int i = 0;
 //先给数组元素赋值
 for (i = 0; i < 10; i++)
 {
  a[i] = i;
 }
 for (i = 9; i >= 0; i--)
 {
  printf("%d ", a[i]);
 }
system("pause");
 return 0;
}

运行结果如下:
在这里插入图片描述
(3)举例3
用数组处理斐波那契数列
代码如下:

//输出前n个斐波那契数

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int a[20] = { 1, 1 };
 int i = 0;
 
 //此处计算后18位数
 for (i = 2; i < 20; i++)
 {
  a[i] = a[i - 1] + a[i - 2];
 }
 
 //依此输出20位数
 for (i = 0; i < 20; i++)
 {
  printf("%10d ", a[i]);
 }
 system("pause");
 return 0;
}

运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xmfjmcwf/article/details/82994447