C语言之数组的定义以及使用
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
C语言之数组的定义以及使用:
1、定义一个数组
一维数组的一般形式:类型符 数组名[常量表达式];
如:int a[5];
说明:1)数组明的命名规范和变量名相同,遵循标识符命名规范;
2)定义数组时,需要指出数组中元素个数;
3)常量表达式中可以不包括常量和符号常量;
2、一维数组的初始化
为了使程序简洁,常在定义数组的同时给数组元素赋值,这成为数组的初始
化。
1)在定义数组时对数组元素赋予初值;
如:int a[10]={0,1,2,3,4,5,6,7,8,9,};
2)可以只给数组中的一部分元素赋值;
如:int a[10]={0,1,2,3};
3)如果想使一个数组中的全部元素为0,可以写成:
int a[10]={0};
4)在对全部数组元素赋值的时候,由于数组个数已经确定,可以不指定数
组长度;
如:int a[]={0,1,2,3,4,5,6,7,8,9,};
例子1:
这个数列有如下特点:第1、2两个数都为1,从第三个数开始,该数是其前
两个数之和。
程序如下:
#include<stdio.h>
int main()
{
int i;
int f[20]={1,1};//对数组最前面两个元素赋值,即f[1],f[2]都是1
for(i=2,i<20,i++)
f[i]=f[i-2]+f[i-1];//对数组后面的元素求值
for(i=0,i<20,i++)
{
if(i/5==0)printf("\n");//控制每输出五个元素后换行
printf("%12d",f[i]); //输出一个数
}
printf("\n");
return 0;
}
例子2:
输入10个数,要求对他们由小到大排序。
程序如下:
#include<stdio.h>
int main()
{
int i,j,t;
int a[10];
printf("请输入10个数:\n");
for(i=0,i<10,i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0,j<9,j++)//进行9次循环,实现9趟比较
for(i=2,i<9-j,i++)//在每趟中进行9-i次比较
if (a[i]>a[i+1])//比较相邻两个数大小,前面的数大进行交换
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("排序后的数为:")
for(i=0,i<10,i++)
{
printf("%d",a[i]);
}
printf("\n");
return 0;
}
1、定义一个数组
一维数组的一般形式:类型符 数组名[常量表达式];
如:int a[5];
说明:1)数组明的命名规范和变量名相同,遵循标识符命名规范;
2)定义数组时,需要指出数组中元素个数;
3)常量表达式中可以不包括常量和符号常量;
2、一维数组的初始化
为了使程序简洁,常在定义数组的同时给数组元素赋值,这成为数组的初始
化。
1)在定义数组时对数组元素赋予初值;
如:int a[10]={0,1,2,3,4,5,6,7,8,9,};
2)可以只给数组中的一部分元素赋值;
如:int a[10]={0,1,2,3};
3)如果想使一个数组中的全部元素为0,可以写成:
int a[10]={0};
4)在对全部数组元素赋值的时候,由于数组个数已经确定,可以不指定数
组长度;
如:int a[]={0,1,2,3,4,5,6,7,8,9,};
例子1:
这个数列有如下特点:第1、2两个数都为1,从第三个数开始,该数是其前
两个数之和。
程序如下:
#include<stdio.h>
int main()
{
int i;
int f[20]={1,1};//对数组最前面两个元素赋值,即f[1],f[2]都是1
for(i=2,i<20,i++)
f[i]=f[i-2]+f[i-1];//对数组后面的元素求值
for(i=0,i<20,i++)
{
if(i/5==0)printf("\n");//控制每输出五个元素后换行
printf("%12d",f[i]); //输出一个数
}
printf("\n");
return 0;
}
例子2:
输入10个数,要求对他们由小到大排序。
程序如下:
#include<stdio.h>
int main()
{
int i,j,t;
int a[10];
printf("请输入10个数:\n");
for(i=0,i<10,i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0,j<9,j++)//进行9次循环,实现9趟比较
for(i=2,i<9-j,i++)//在每趟中进行9-i次比较
if (a[i]>a[i+1])//比较相邻两个数大小,前面的数大进行交换
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("排序后的数为:")
for(i=0,i<10,i++)
{
printf("%d",a[i]);
}
printf("\n");
return 0;
}