一维数组的定义和引用。一维数组的定义方式为:类型说明符 数组名[常量表达式];。例如:int [10];它表示定义了一个整形数组,数组名为a,此数组有10个元素。
(1)数组名的命名规则和变量名相同,遵循标示符命名规则。
(2)在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度。例如指定a[10],表示有10个元素。数组的下标是从0开始的,这10个元素是:a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]。
(3)常量表达式中可以包括常量和符号常量,不能包括变量。也就是说,C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。
一维数组元素的引用。数组必须先定义,然后使用。C语言规定只能逐个引用数组元素而不能一次引用整个数组。数组元素的表示形式为:数组名[下标]。下标可以是整型常量或整型表达式。
一维数组的初始化。对数组元素的初始化可以用以下方法实现。
(1)在定义数组时对数组元素赋予初值。例如:int a[10]={0,1,2,3,4,5,6,7,8,9};。
(2)可以只给一部分元素赋初值。例如:int a[10]={0,1,2,3,4};。定义a数组有10个元素,但花括号内只提供5个初值,这表示只给前面5个元素赋初值,后面5个元素值为0。
(3)如果想使一个数组中全部元素值为0,可以写成:int a[10]={0,0,0,0,0,0,0,0,0,0};或int a[10]={0};。
(4)在对全部数组元素赋初值时,由于数据的个数已确定,因此可以不指定数组长度。例如:int a[ ]={1,2,3,4,5};。花括号中有5个数,系统就会据此自动定义a数组的长度为5。但若数组的长度与提供初值的个数不相同,则数组长度不能省略。
例题:用起泡法对10个数由小到大排序。
#include
void main( )
{
int a[10];
int i,j,t;
printf("请输入10个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a>a[i+1])
{
t=a;
a=a[i+1];
a[i+1]=t;
}
printf("由大到小的顺序:\n");
for(i=0;i<10;i++)
printf("%d",a);
printf("\n");
}
二维数组的定义和引用。二维数组定义的一般形式为:类型说明符 数组名[常量表达式][常量表达式];例如:float a[3][4],b[5][10];。
二维数组的引用。二维数组元素的表示形式为:数组名[下标][下标]。下标可以是整型或者整型表达式。
二维数组的初始化。可以用以下方法对二维数组初始化。
(1)分行给二维数组赋初值。例如:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};或int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};。
(2)可以对部分元素赋初值。例如:int a[3][4]={{1},{0,6},{0,0,11}};。
(3)如果对全部元素都赋初值(即提供全部初值数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。例如:int a[ ][4]={{0,0,3},{ },{0,10}};或int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};。
|
|