文档介绍:C语言程序设计---3应用
7数组──歌唱比赛成绩统计及排名
8指针──模拟彩票开奖
9函数及结构体──简易通讯录
10数组和函数综合应用──打印日历
11图形模式及图形函数──电子时钟
C语言程序设计
项目七数组──歌唱比赛成绩统计及排名
学习目标
掌握数组的基本概念。
掌握数组的定义和初始化方法。
掌握数组的使用方法。
掌握排序算法。
进行程序设计时,经常需要存储或者处理大量相同性质的数据,例如每轮比赛的成绩,班里每个学生的学分,每个月的销售额等,可以利用前面介绍过的普通变量来表示这些数据。但是这会使程序员花大量时间进行变量定义和操作,不利于程序设计。
除了普通变量以外,C语言提供了数组数据类型。它能够解决上面的问题,从本质上来说,数组可以看作批量的变量数据。
本项目介绍C语言中数组的基本概念和使用方法,以及基于数组的排序算法。并以歌唱比赛成绩统计程序的设计过程为例,使读者能够更加深入的了解数组的使用方法和作用。
项目七数组──歌唱比赛成绩统计及排名
项目七数组──歌唱比赛成绩统计及排名
任务一了解数组
任务二输入10名选手的名字并保存
任务三输入评委给每位选手打的分
任务四找到每位选手的最高分
任务五找到最低分
任务六去掉最高分和最低分,求每位选手的平均分
任务七根据选手得分排名次
任务八输出比赛结果
任务一了解数组
数组是指一组类型相同并且占据连续空间的数据的有序集合。
数组用连续空间存储同类型的大量数据,所以数据的访问和处理是有规律的。
数组中的每个元素可以看作一个普通变量,可以通过数组名和下标作为变量名进行操作。
一维数组
数组定义方式如下:
元素类型数组名[常量或者常量表达式];
例如: int a[6];定义了一个存放6个int型数据的数组“a”,“a”是该数组的名字
数组名后面使用中括号“[]”。
中括号“[]”中的内容表示数组大小或者长度,也就是数组中的元素个数,它必须是常量或者常量表达式,不能是变量。
数组中的元素个数必须是大于0的整数。
数组对应内存中一块连续空间,而数组名就代表数组内存的起始地址。数组中各元素的具体结构如下所示。
int b[6];
b[0] b[1] b[2] b[3] b[4] b[5]
数组名还有另外一层含义,那就是数组的起始地址。
1
2
3
4
5
6
数组元素引用的说明
一维数组元素的引用格式为“数组名[下标]”
下标的范围从0开始,到元素个数n-1结束。所以对于有n个元素的数组,它的n个元素分别是a[0],a[1],a[2]…a[n-1]。例如对于数组“char arr[5];”,第1个元素是arr[0],最后1个元素是arr[4],而arr[5]不属于数组。
访问不属于数组元素的操作称为“数组下标越界”,虽然C语言编译器对于下标的越界访问不会作为错误处理,但是程序员应该自己检查下标的正确性,以免造成错误。
数组元素引用的说明(2)
数组元素可以作为独立的变量,所以能够进行运算以及输入输出操作。
由于数组元素连续存放,下标是连续的整数,所以可以很方便地利用循环语句来访问数组中的每一个元素。例如打印数组“char arr[5];”中的每个元素
char arr[5];
int i;
for(i=0;i<5;i++)
printf("%c",arr[i]);
数组元素不能整体赋值或引用,只能对每个元素单独操作