6.1 怎样定义和引用一维数组
6.1.1 怎样定义一维数组
类型说明符 数组名[常量表达式]
- 数组名的命名规则和变量名相同,遵循标识符命名规则。
- 在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度。
- 常量表达式中可以包括常量和符号常量,不能包含变量。
注意:数组元素的下标从0开始,用“int a[10];”定义数组,则最大下标值为9,不存在数组元素a[10]
6.1.2 怎样引用一维数组元素
数组名[下标]
- 只能引用数组元素而不能一次整体调用整个数组全部元素的值。
- 数组元素与一个简单变量的地位和作用相似。
- “下标”可以是整型常量或整型表达式
注意:定义数组时用到的“数组名[常量表达式]” 和引用数组元素时用的“数组名[下标]”形式相同,但含义不同。
int a[10]; //前面有int,这是定义数组,指定数组包含10个元素
t=a[6]; //这里的a[6]表示引用a数组中序号为6的元素
【例6.1】
对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。
#include<stdio.h>
int main()
{
int i,a[10];
for(i=0; i<=9;i++) //对数组元素a[0]~a[9]赋值
a[i]=i;
for(i=9;i>=0;i--) //输出a[9]~a[0]共10个数组元素
printf("%d ",a[i]);
printf("\n");
return 0;
}
6.1.3 —维数组的初始化
6.1.4 一维数组程序举例
【例6.2】
用数组来处理求Fibonacci数列问题。
【例6.3】
有10个地区的面积,要求对它们按由小到大的顺序排列。
#include <stdio.h>
int main()
{
int a[10];
int i,j,t;
printf("input 10 numbers :\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++) //进行9次循环,实现9趟比较
for(i=0;i<9-j;i++) //在每一趟中进行9-j次比较
if(a[i]>a[i+1]) //相邻两个数比较
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the sorted numbers :\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
6.2 怎样定义和引用二维数组
6.2.1 怎样定义二维数组
1.定义
类型说明符 数组名[常量表达式][常量表达式]
✔float a[3][4], b[5][10]; //定义a为3×4(3行4列)的数组,b为5×10(5行10列)的数组
✖float a[3, 4], b[5, 10]; //在一对方括号内不能写两个下标