第6章组
第6章 数 组
6,1一维数组 6.,2二维数组 63字符数组与字符串 64数组作为函数参数 65程序举例
6.1 一维数组 6.2 二维数组 6.3 字符数组与字符串 6.4 数组作为函数参数 6.5 程序举例
61-维数组 611一维数组的定义与引用 定义一维数组的一般形式如下: 类型说明符数组名常量表达式; 其中类型说明符是定义数组中各元素的数据类型,常量 表达式是说明数组的大小(即数组中元素的个数 数组的说明与变量的说明一样,其作用是为数组分配存 储空间。 没回日录
6.1 一维数组 6.1.1 一维数组的定义与引用 定义一维数组的一般形式如下: 类型说明符 数组名[常量表达式]; 其中类型说明符是定义数组中各元素的数据类型,常量 表达式是说明数组的大小(即数组中元素的个数。 数组的说明与变量的说明一样,其作用是为数组分配存 储空间
关于数组的说明要注意以下几个问题: (1)数组名的命名规则与变量名相同。 (2)说明数组大小的常量表达式必须为整型,并且用方括 号括起来(不能用圆括号) (3)说明数组大小的常量表达式中可以包含符号常量,但 不能是变量
关于数组的说明要注意以下几个问题: (1)数组名的命名规则与变量名相同。 (2)说明数组大小的常量表达式必须为整型,并且用方括 号括起来(不能用圆括号)。 (3)说明数组大小的常量表达式中可以包含符号常量,但 不能是变量
例6.1下面的程序说明了如何对数组定义和引用数组元素: #include stdio. h #definen 5 main( f int i, aN: for(i=0: i<N; i=it1) ail=i for (i=0; i<N; i=it1) printf(oo5d'", all; printf("In);
例6.1 下面的程序说明了如何对数组定义和引用数组元素: #include "stdio.h" #define N 5 main() { int i, a[N]; for (i=0; i<N; i=i+1) a[i]=i; for (i=0; i<N; i=i+1) printf("%5d",a[i]); printf("\n"); }
在这个程序中,首先定义了一个长度为5的整型 维数组a,然后利用for循环对其中的每一个元素 (a|0~al4])进行赋值,最后利用for循环输出这5 个元素值。 在C语言中,凡是一般简单变量可以使用的地 方都可以使用数组元素
在这个程序中,首先定义了一个长度为5的整型 一维数组a,然后利用for循环对其中的每一个元素 (a[0]~a[4])进行赋值,最后利用for循环输出这5 个元素值。 在C语言中,凡是一般简单变量可以使用的地 方都可以使用数组元素
61.2一维数组的初始化 在C语言中,给数组元素提供数据的方法有以下3种 (1)利用赋值语句逐个对数组中的元素进行赋值 (2)利用输入函数逐个输入数组中的各个元素。例如, #include stdio. hl mainO i int i, a 5: for(i=0; i<5; i=it1) scanf(""%d",&aiD 其中&a[表示取数组元素a[i的地址 (3)初始化
6.1.2 一维数组的初始化 在C语言中,给数组元素提供数据的方法有以下3种。 (1)利用赋值语句逐个对数组中的元素进行赋值。 (2)利用输入函数逐个输入数组中的各个元素。例如, #include "stdio.h" main() { int i, a[5]; for (i=0; i<5; i=i+1) scanf("%d",&a[i]); } 其中&a[i]表示取数组元素a[i]的地址。 (3)初始化
下面对静态一维数组的初始化作三点说明 (1)可以只给数组的前若干个元素赋初值,此时后面的元素 均将自动赋以初值0。 (2)在对全部元素赋初值时,说明语句中可以不指定数组长 度,其长度默认为与初值表中数据的个数相同。 (3)虽然标准C语言规定只能对“静态存储”的数组进行初 始化,即除了可以对外部(全局)数组进行初始化外,还可以对 用 static说明的局部数组进行初始化
下面对静态一维数组的初始化作三点说明: (1)可以只给数组的前若干个元素赋初值,此时后面的元素 均将自动赋以初值0。 (2)在对全部元素赋初值时,说明语句中可以不指定数组长 度,其长度默认为与初值表中数据的个数相同。 (3)虽然标准C语言规定只能对“静态存储”的数组进行初 始化,即除了可以对外部(全局)数组进行初始化外,还可以对 用static说明的局部数组进行初始化
例6.3分析下列程序的输出结果: #include ' stdio. h maino fink, x5: static int y 5: intz5]={0,0,0}; for(k=0;k<5;k++) i printf( %5d%5d%/5d,xk], yk], zkD; printf("n);
例6.3 分析下列程序的输出结果: #include "stdio.h" main() { int k,x[5]; static int y[5]; int z[5]={0,0,0}; for (k=0; k<5; k++) { printf("%5d%5d%5d",x[k],y[k],z[k]); printf("\n"); } }
62二维数组 621二维数组的定义与引用 定义二维数组的一般形式如下: 类型说明符数组名常量表达式1常量表达式2]; 没回日录
6.2 二维数组 6.2.1 二维数组的定义与引用 定义二维数组的一般形式如下: 类型说明符 数组名[常量表达式1][常量表达式2];