第6章 数 组
第6章 数 组
6.1 一维数组
6.2 二维数组
6.3 字符数组和字符串
6.4 综合实训
习 题
6.1 一维数组
知识导例
假设全班共有10名同学参加计算机竞赛,现在要求计算全班同学竞
赛的平均成绩。
06(104-127)P24 fyy_Embed_1.png
图6-1 程序ex6_1_1.c的运行结果
相关知识
前面所说的变量,如a、i、t等,各个变量是各自独立的,在内存中
的位置也各自独立。
1.一维数组的定义
6.1 一维数组
图6-2 数组a的存储空间分配
1)数组的类型,即数组元素的类型,可以是基本类型(整型、实型和
字符型等) 、指针类型、结构体类型或共用体类型。
2)数组名和变量名一样,遵循标识符命名规则,不能与其他变量名
相同,也不能与C语言中的关键字相同。
6.1 一维数组
3)常量表达式必须用方括号括起来,用来表示数组元素的个数,一
经定义,长度就不能改变,系统就为其分配相对应的存储空间。
4)数组中每个元素的名称通过方括号中的序号加以区分,该序号也
称为数组的下标,其值从0开始,最大到元素个数减去1,不能越界。
5)定义多个类型相同的数组,可以使用逗号隔开。
6)使用了数组的C语言程序在运行时,系统为数组分配连续地址空间,
分配空间的大小为:数组元素占用字节数(数组长度。
2.一维数组元素的引用
1)由于数组元素本身等价于同一类型的一个变量,因此,对变量的
任何操作都适用于数组元素。
6.1 一维数组
2)在引用数组元素时,下标可以是整型常数或表达式,表达式内允
许变量存在。
3)引用数组元素时下标最大值不能出界。
3.一维数组的初始化
(1)全部数组元素初始化 将所有初始化的数据写在一个花括号内,
中间以逗号隔开。例如:
(2)部分数组元素初始化 初始化值的个数小于数组元素的个数,剩
余的元素被自动初始化为0 。
1)字符 '0' 与 '\0' 是不同的。
2)对于数值型数据部分赋初值,省略部分默认为0 。
6.1 一维数组
3)全部省略不赋初值时,对于static类型的初始值默认为0 ,其他类型
的都是随机值,但在VC++ 6.0平台下往往会给出一个确定的值。
实践训练
【实训项目】
1.实训内容
2.解决方案
06(104-127)P24 fyy_Embed_3.png
6.1 一维数组
图6-3 程序prac6_1_1.c 的运行结果
3.项目分析
图6-4 冒泡法的排序过程
6.2 二维数组
知识导例
输入5个同学3 门课的成绩并输出。
06(104-127)P24 fyy_Embed_5.png
图6-5 程序ex6_2_1.c的运行结果
相关知识
6.2 二维数组
1.二维数组的定义
图6-6 数组a的存储空间分配
1)常量表达式1表示数组第一维的长度,常量表达式2表示第二维的
长度,一经定义,长度不能改变,
6.2 二维数组
系统就为其分配相对应的存储空间。
2)在C语言中,因为内存空间是一维的,在存储二维数据的时候,也
存在着行序优先和列序优先两种。
3)二维数组可以看成一个特殊的一维数组,其中的每一个元素又是
一个一维数组