内容正文:
第6章 变量的批量定义和使
用—数组
C语言技能教程
第 六 章
6.1 技能1:掌握一维数组的定义和使用
6.2 技能2:二维数组的定义和使用
6.3 技能3:字符型数组和字符串处理函数
的应用
C语言技能教程
6.1 技能1
【知识点】
1. 数组是有序的具有相同类型的数据的集合。同一数组中的各个元素具有相同的数组名和不同的下标。
2. 定义一维数组的一般形式为:
类型说明符 数组名 [常量表达式];
(1)类型说明符:定义了数组的数据类型。数组的数据类型也是数组中各个元素的数据类型。同一数组中,各个元素具有相同的数据类型。
(2)数组名:是用户定义的数组标识符。遵循标识符的命名规则。
(3)常量表达式:方括号中的常量表达式表示数据元素的个数,既数组的长度。
6.1.1 认识一维数组
C语言技能教程
6.1 技能1
【知识点】
3.注意事项
(1)数组名不能与其它变量名相同。
(2)方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但下标是从0开始计算的,因此下标应从0~4,而不是从1到5。
(3)不能在方括号中用变量来表示元素的个数,但可以是符号常量或常量表达式。
(4)允许在同一个类型说明中,定义多个数组和多个变量。
4.一维数组在机内时,系统会在内存中分配一段连续的地址空间,按顺序在内存单元中存放数组的各个元素。
C语言技能教程
例6.1输入10个学生的数学成绩,求其总分和平均分。
main( )
{
int i,sc[10];
int sum;
float av;
printf("输入10个学生的数学成绩:
");
for(i=0;i<=9; i++)
scanf("%d",&sc[i]);
sum=0;
for(i=0;i<=9;i++)
sum+=sc[i];
av=sum/10.0;
printf("总分为:%d
平均分为:%1f",sum,av); }
6.1 技能1
【典型例题】
C语言技能教程
6.1 技能1
【知识点】
1.在定义数组时,对数组元素进行赋初值,称为初始化数组。
2.一维数组的初始化
(1)对数组的全部元素赋值
1)对数组的全部元素赋值,指定数组的长度。数组元素的初值依次放在一对花括号内,两个值之间用逗号分隔。例如:int a[10]={0,1,2,3,4,5,6,7,8,9};
2)对数组的全部元素赋值,不指定数组的长度。
例如:int a[]={0,1,2,3,4,5,6,7,8,9};
6.1.2 一维数组的初始化
C语言技能教程
6.1 技能1
【知识点】
(2)对数组的部分元素赋值
例如: int a[10]={87,35,12,54,60,58};
只给前面的6个数组元素a[0]~a[5] 赋了初值,而后面4个没有赋初值的数组元素 a[6]~a[9] ,则被自动初始化为0。结果是a[0]=87、a[1]=35、a[2]=12、a[3]=54、a[4]=60、a[5]=58、a[6]=0、a[7]=0、a[8]=0、a[9]=0。
C语言技能教程
例6.4 将10个元素的整形数组a分两行输出。
main( )
{
inti,a[10]={1,2,3,4,5,6,7,8,9,10};
for(i=0;i<10;i++)
{ printf("%3d",a[i]);
if(i%5==4||i==9)
printf("
") ;
}
}
6.1 技能1
【典型例题】
C语言技能教程
6.1 技能1
6.1.3 利用一维数组编程
【典型例题】
例6.6 输入一组数据,输出其中的最大值和最小值。
main( )
{ int num[10];
int i,max,min;
printf("输入10个整数:
");
for(i=0;i<10;i++)
scanf("%d",&num[i]);
max=min=num[O];
for(i=1;i<10;i++)
if(num[i]>max)
max=num[i];
else if(num[i]<min)
min=num[i