1 / 35
文档名称:

第6章 数组《C语言程序设计(第三版)》-电子教案.ppt

格式:ppt   页数:35
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第6章 数组《C语言程序设计(第三版)》-电子教案.ppt

上传人:799474576 2013/11/21 文件大小:0 KB

下载得到文件列表

第6章 数组《C语言程序设计(第三版)》-电子教案.ppt

文档介绍

文档介绍:第6章数组
21世纪高等学校精品规划教材
掌握一维数组、二维数组的定义、初始化和数组元素的引用
掌握字符数组的定义、初始化和数组元素的引用
掌握字符串的存储方法和应用
掌握有关处理字符串的系统函数的使用方法
【问题】从键盘接收10个数,求平均数并输出所有小于平均数的数。
【分析】从键盘接收10个数,求平均数很简单,可以采用边接收边求和的方法,最后根据总和求平均数。下面的程序可以做到:
int a,i;
float s;
for(i=0,s=0;i<10;i++)
{
scanf("%d",&a);
s = s + a;
}
数组的基本概念
所谓数组,就是一组类型相同的变量。
它用一个数组名标识,每个数组元素都是通过数组名和元素的相对位置——下标来引用的。
数组可以是一维的,也可以是多维的。
int a1,a2,a3,…,a10
int a[10]; === (a[0],a[1],a[3],…,a[9])
其中下标从0开始,和前面不同的是,这些变量统一共享一个数组名a。
一维数组
一维数组用于存储一行或一列的数据。定义方式如下:
<类型> <数组名> [<常量表达式>];
<类型>:简单类型或结构体、共用体等复杂类型。
<数组名>:数组的标识、命名规则同变量名。
<常量表达式>:用来定义数组的长度,因为数组也必须先定义再使用。
例如:int a[10];char s[100];
注意:
C语言不允许对数组的大小作动态定义,即定义行中的数组长度可以包括常量和符号常量,但不能包括变量。例如,下面的定义是错误的。
int n=10; int a[n]; /*因为n为变量*/
而下面的定义是正确的:
#define N 10
main()
{ int a[N]; /*N为符号常量*/
…}
定义数组的同时可以对数组初始化。以下初始化的方法都是允许的:
int a[10]={1,2,3,4,5,6,7,8,9,10};//完全初始化
int a[]={1,2,3,4,5,6,7,8,9,10}; //完全初始化,可省略长度
int a[10]={1,2,,4,5};//部分元素a[0]、a[1]、a[3]、a[4]初始化
注意:
数组元素的下标从0开始。
数组名不能像变量一样进行赋值操作。以下用法是错误的:
int a[10],b[10];
a=b; /*错误*/
正确的定义:
int a[10]; /*定义整型数组a,它有10个元素*/
char s[20]; /*定义字符型数组s,它有20个元素*/
float f[5],g[10]; /*定义实型数组f和g,f数组有5个元素,g数组有10个元素*/
【例6-1】编程求10个数中的最大值、最小值、平均值。输出所有小于平均值的数。
void main()
{ int a[10],i;
int max,min;
float s=0,aver;
printf("Input 10 numbers: ");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
s = max = min = a[0];
for (i=1;i<10;i++)
{ if (a[i]>max) max=a[i];
else if (a[i]<min) min=a[i]; s = s + a[i];
}
aver = s/10;
printf("max is %d\n",max);
printf("min is %d\n",min);
printf("average is %.2f\n",aver);
for(i=0;i<10;i++)
if(a[i]<aver) printf("%4d",a[i]);
printf("\n");
}
二维数组和多维数组
二维数组用于存放矩阵形式的数据,如二维表格等数据。
定义二维数组的格式如下:
<类型> <数组名> [<常量表达式1>][<常量表达式2>];
例如:
int a[3][4]; /* 3×4的矩阵,共12个元素*/
float f[5][10];
二维数组和多维数组
int a[3][4]
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]