数组:用于存放一组数据, 这组数据必须是相同类型的
一维数组(必考)
一、
int a[10]; //定义了一个一维数组a
1、a:数组名,可任意命名,只要合法
2、int:数据类型,即这是一组整数
3、10:数组的长度,即这组数据的个数
4、数组元素(数据)在内存中是顺序存
放的
5、a[0]~a[9]:数组a的10个元素,数组元
素标从0开始 (重要,常考)
6、数组名a:是一个地址,是数组a存储
单元的首地址,所以是一个常数
(非常重要,必考)
a→
a[0]
a[1]
a[ 2]
a[3 ]
a[ 4]
a[5 ]
a[6 ]
a[7 ]
a[8 ]
a[ 9]
二维数组(必考)
二、
int a[3][4]; //定义了一个二维数组a
//共3行,每行4个元素
4、数组元素在内存中按行顺序存放,先
放第1行,接着第2行......
5、a[0][0]~a[0][3]:数组的第1行元素
第1个下标为行下标,第2个为列下标
下标均从0开始 (重要,常考)
6、数组名a:是一个地址,是数组a存储
单元的首地址,所以是一个常数
(非常重要,必考)
a→
a[0][0]
a[0][1]
a[0][2]
a[0][3]
a[1][0]
a[1][1]
a[1][2]
a[1][3]
a[2][0]
a[2][1]
a[2][2]
a[2][3]
数组元素的两种输入输出方式(必考)
三、
1、一维数组
1)定义时便赋值:初始化
int a[5]={1,2,3,4,5};
2)定义后用循环语句赋值(for语句)
int a[5], i;
for(i=0; i<5; i++)
{
scanf(“%d”, &a[i]); // scanf(“%d”, a+i);
printf(“元素a[%d]=%d\t”, i, a[i]);
}
2、二维数组
1)定义时便赋值:初始化
int a[2][3]={ {1,2,3}, {4,5,6} };
2)定义后用循环语句赋值(两重for语句)
int a[2][3], i, j;
for(i=0; i<2; i++) //i为数组行的下标
for(j=0; j<3; j++) //j为数组列的下标
{
scanf(“%d”, &a[i][j]);
printf(“元素a[%d][%d]=%d\t”, i, j, a[i][j]);
}
注:按行从键盘输入数据,或按行输出显示数据
字符数组(必考)
四、
1、字符数组专门用于存放字符串,注意:除了要存放字符串本身,还要存放字符串的结束标志‘\0’
2、定义字符数组后,绝对不能用赋值语句把一串字符串赋给字符数组
字符串的两种赋值方式:
1)定义时赋初值
char str[ ]=“Turbo C”; //常用方式
char str[7]=“Turbo C”; //错误,无法存放结束标志
char str[8]=“Turbo C”; //正确
2)用字符串复制函数赋值
char str[8];
strcpy(str, “Turbo C”); //把字符串“Turbo C”赋str
3、不能用比较运算符比较两串字符串的大小
char str1[ ]=“Turbo C”;
char str2[ ]=“Beautiful”;
if(str1>str2) printf(“%s\n”,str1); //错误
if(str