数组:
什么是数组:变量的组合,是一种批量定义变量的方式。
定义:类型 数组名[数量];
int arr[5];
使用:数组名[下标];
下标:从零开始,范围:0~数量-1。
遍历:与for循环配合,使用循环变量i当作数组的下标。
初始化:类型 数组名[数量] = {1,2,3,4,5,...};
1、数组与普通变量一样默认值是随机的,为了安全要对进行初始化。
2、这种初始化语法只能在定义数组时使用,而且必须使用常量初始化。
3、初始化数据过多,编译器会丢弃并产生警告。
4、初始化数据不够,编译器则会补0。
5、初始化数组时长度可以省略,编译器会自动统计数据的个数然后告诉数组。
sizeof(arr)/sizeof(arr[0]) = 数组的长度
练习1:定义一个长度为10的数组并初始化,计算出最大值,最小值以及平均值。
#include <stdio.h>
int main(int argc,const char* argv[])
{
int arr[10] = {
1,9,0,7,6,5,3,4,8,2};
int max = arr[0] , min = arr[0];
float sum = arr[0];
for(int i=1; i<10; i++)
{
if(arr[i] > max)
{
max = arr[i];
}
if(arr[i] < min)
{
min = arr[i];
}
sum += arr[i];
}
printf("%d %d %g\n",min,max,sum/10);
}
练习2:定义一个长度为10的数组并初始化,进行升序排序。
for(int i=0; i<x-1; i++)
{
for(int j=i+1; j<x; j++)
{
if(i < j)
{
swap i j;
}
}
}
#include <stdio.h>
int main(int argc,const char* argv[])
{
int arr[10] = {
1,9,0,7,6,5,3,4,8,2};
for(int i