资源描述:
《C语言程序设计 教学课件 作者 路俊维 马雪松主编 第6章 数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章数组任务:数据加密任务所需主要相关知识:一维数组及其应用二维数组及其应用字符数组与字符串数组6.1数组的概念把具有相同类型的若干变量按照有序的方式组织起来,这种有序的同类型变量的集合称为数组。数组中所包含的变量称为数组元素。每个数组在内存中占用一段连续的存储空间,用一个统一的数组名和下标唯一确定数组中的元素。6.2一维数组一维数组是指只有一个下标的数组,或者是相同类型变量的一个线性排列6.2.1一维数组的定义定义一个一维数组的一般形式为:类型说明符数组名[整型常量表达式];数据元素的个数,数组长度或大小数组元素的数据类型6.2一维数组例如:inta[10];定义整型数组a,有10个元
2、素。floatb[10],c[20];定义实型数组b,有10个元素,实型数组c,有20个元素。charch[20];定义字符数组ch,有20个元素。6.2一维数组对于数组类型说明应注意以下几点:1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。2.数组名的书写规则应符合标识符的书写规定。3.数组名不能与其它变量名相同。例如:#include“stdio.h”voidmain(){inta;floata[10];……}是错误的。4.方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0]
3、,a[1],a[2],a[3],a[4]。5.不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。6.允许在同一个类型说明中,说明多个数组和多个变量。例如:#defineFD5#includevoidmain(){inta[3+2],b[7+FD];……}是合法的。但是下述说明方式是错误的。#include“stdio.h”voidmain(){intn=5;inta[n];……}6.2.2一维数组元素的引用数组元素的引用指使用数组元素的过程,数组元素是组成数组的基本单元。数组元素也是一种变量,其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序
4、号。数组元素的一般形式为:数组名[下标]数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。6.2.3一维数组的初始化数组初始化赋值是指在数组定义时给数组元素赋予初值。初始化赋值的一般形式为:类型说明符数组名[常量表达式]={值,值……值};其中在{}中的各数据值即为各元素的初值,各值之间用逗号间隔。例如:inta[10]={0,1,2,3,4,5,6,7,8,9};6.2.3一维数组的初始化C语言对数组的初始化赋值还有以下几点规定:1.可以只给部分元素赋初值。当{}中值的个数少于元素个数时,只给前面部分元素赋值。例如:i
5、nta[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋初值为1值,只能写为:inta[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:inta[10]=1;3.如给全部元素赋值,则在数组说明中,可以不给出数组元素的个数。例如:inta[5]={1,2,3,4,5};可写为:inta[]={1,2,3,4,5};6.3二维数组与多维数组6.3.1二维数组的定义若一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组。由此可见,一个二维数组可分解成多个
6、一维数组。二维数组定义的一般形式是:类型说明符数组名[常量表达式1][常量表达式2]其中常量表达式1表示第一维下标的长度,常量表达式2表示第二维下标的长度。例如:inta[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]6.3.2二维数组元素的引用二维数组的元素也称为双下标变量,其表示的形式为:数组名[下标1][下标2]其中下标1的值小于数组定义中常量表达式1,下标2的值小于数组定义中常量表达式2,下标1和下标2都应为整型常量或整型表达式6.
7、3.3二维数组的初始化二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。例如对数组a[5][3]:1.按行分段赋值可写为:inta[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};2.按行连续赋值可写为:inta[5][3]={80,75,92,61,65,71,59,63,70,85,87,90,7