天天看点

c语言的数组名有什么作用,C语言之数组的定义与使用

原标题:C语言之数组的定义与使用

大家好!今天我们来讲一下数组的使用。

在程序设计中常常需要大量的相同数据类型的数据,比如说排序一个50人的班级成绩,这时如果我们按照简单的方法来定义这些数据,那么将是一个耗时又费力的操作,这时我们的数组便应运而生了。

在C语言中,数组有一下几个特点:

1) :数组可以看做是一个变量的集合,在这个集合中,所有变量的数据类型都是相同的;

2) :每个数组元素的作用相当于简单的变量;

3) :同一数组中的数组元素在内存中占据的地址空间是连续的;

4) :数组的大小(数组元素的个数)必须在定义时确定,在程序中不可改变;

5) :数组名代表的是数组在内存中的首地址;

我们来看看一维数组的定义形式是什么?

储存类型 数据类型 数组名 数组大小;

例如:int a[6];在不特别声明的时候,数组的储存类型就是static型。

数组名为a,它有6个元素,分别是:a[0]、a[1]、a[2]、a[3]、a[4]、a[5],每个元素都代表着一个整型元素。

在使用数组的时候需要注意,C语言对于数组的下标值是否越界不做检测;另外,数组不能整体输入和整体输出,只能对其数组元素进行输入和输出。

我们来看一个程序,这个程序是将班级成绩输入,从大到小进行排序,然后再输出。

我们假定这个班级只有5个人。

程序如下:

#include

int main()

{

int a[1000], z=1,i, j,n,max;

printf("请输入班级人数 n :");

scanf_s("%d", &n);

printf("请输入成绩:\n");

for (i = 0; i < n; i++)

{

scanf_s("%d",&a[i]);

}

for (j = 1; j < n; j++)

{

for (i = 0; i < n - 1; i++)

{

if (a[i] < a[i + 1])

{

max = a[i + 1];

a[i + 1] = a[i];

a[i] = max;

}

}

}

for (i = 0; i < n; i++)

{

printf("第%d名:%d\n", z, a[i]);

z++;

z <= n;

}

}

c语言的数组名有什么作用,C语言之数组的定义与使用



其中我们在程序中所使用的排列方式是:冒泡排列。

冒泡排列是数组排列中最简单的一种排列方式,其原理如下(从大到小排列):

第一趟:先拿出数组中的第一个元素,逐个进行比较,如果比他大就交换位置,如果他大,不交换位置,在用这个比他小的数据往后比较。这时我们就比较出其中最小的数据了。

第二趟:类似上面的比较,这时比较出倒数第二小的数了。

····

我们在代码中的j变量控制的就是趟数,注意有多少数据就要比较多少趟。

我们具体来看看:

int a[5]={3,2,1,4,5};

第一趟:

2小于3,交换位置,{3,2,1,4,5};

2大于1,不用交换位置,{3,2,1,4,5};

1小于4,交换位置,{3,2,4,1,5};

1小于5,交换位置,{3,2,4,5,1};

此时,第一趟比较结束,已经出来最小的数了。

依次进行下面的第二趟·····,在这里我就不写了,请读者自己试验。

说完冒泡排列我们在来说说数组的输入。

如同代码所示,数组的输入是利用for循环进行逐个输入的,i是数组的下标,从0开始,依次往上加;数组的输出也是这个原理。

好了,今天的讲述就到这里了,有什么问题大家可以私聊我!返回搜狐,查看更多

责任编辑: