#一维数组(linear array )
数 组 名:标识这组相同的数组的名字
数组元素:构成数组的每个数据项
一维数组的定义:
存储类型 数组名 [正整数]
eg : float score [10];
定义数组时初始化数组的方法
int a[5]={1,2,3,4,5}; //全部初始化
int a[5]={5}; //用0初始化所有数据
int a[]={1,2,3,4,5}; //不指定数组长度
Int a[5]={1}; //第一个用1初始化,后面全部用0初始化
##数组的使用(use)
数组下标(index):数组元素的索引
数组下标都是从0开始,使用score[1]、score[2]…score[9]这样的形式访问每个元素,下标既可以是常量,也可以是整形表达式,允许快速随机访问,例如:score[i]
##数组的存储(save)
系统分配一块联系的存储空间,大小为数据类型大小*数组元素数量,数组名表示数组的首地址(第一个元素地址);
int a[10];
&a[6]=???
假设数组首地址a=1000,整数类型占4个字节空间
&a[6]=1000+4*6=1024
例:显示用户输入的月份有多少天(不考虑闰年的月份)?
输入:月份,如果不在[1,12],则要求重新输入
输出:月份对应的天数
算法:可以把12个月的天数存储在长度为12的一维数组中,然后把读入的月份month-1作为下标,读取值就作为天数。
#include"stdio.h"
#define MONTHS 12
int main()
{
int days[MONTHS]={31,28,31,30,31,30,31,31,30,31,31,30};
int month;
do{
printf("Please input a month:");
scanf("%d",&month);
}while(month<1||month>12); //去除非法输入的数据
printf("The number of days is %d\n",days[months-1]);
return 0;
}