文档详情

C语言程序设计课件:数组 .ppt

发布:2024-10-24约6.51千字共50页下载文档
文本预览下载声明

多维数组多维数组定义的一般形式: 数据类型名 数组名[常量表达式1][常量表达式2]……[常量表达式n];举例: inta[3][3][3];多维数组多维数组中的元素在内存中的存放顺序为按行存放,即最左边的下标变化最慢,最右边的下标变化最快。注意:二维数组的几点说明对多维数组同样适用!二维数组的引用引用的一般形式:P126 数组名[下标表达式1][下标表达式2]例如: f[2][2],f[2*4][3],f[2+1][4%2] 下标表达式的值必须是一个整型的量,可以是整型常量、整型变量或者结果为整型的表达式。说明:二维数组中的元素地址可表示为: 数组名[下标表达式1][下标表达式2]可以把二维数组或多维数组中的元素看成是普通的变量。基本数据类型的变量所能进行的各种操作,同样适用于二维数组或多维数组中的元素。例如: f[2][3]=f[2][2]/2+1; f[2][2]=f[1][2]*f[2][1];*数组本章主要内容一维数组定义和数组元素的引用一维数组与指针运算二维数组的定义和数组元素的引用二维数组与指针运算动态数组的使用7.1一维数组的定义及使用

一维数组的定义一维数组的引用一维数组的初始化7.1.1一维数组的定义数组的概念数组是具有相同的数据类型且按一定次序排列的一组变量的集合体,数组属于构造类型。intgrades[6];一维数组构成一个数组的这些变量称为数组元素数组有一个统一的名字叫数组名。grades1009186537865一个成绩单列表一维数组的定义类型说明符数组名[常量表达式];例如:inta[10];

表示a为整型数组,有10个元素:a[0]...a[9]可以是常量和符号常量,不能用变量。数组名的构成方法与一般变量名相同。一维数组数组长度下标:0~(数组长度–1)一维数组数组元素在内存中顺次存放,它们的

地址是连续的。数组grades存储grades所需要的存储空间(24位)agradeagradeagradeagradeagradeagradegrades的逻辑存储方式数组gradesgrades[5]grades[0]grades[1]grades[2]grades[3]grades[4]第1个数组元素第2个数组元素第3个数组元素第4个数组元素第5个数组元素第6个数组元素grades的物理存储方式一维数组grades[0]grades[1]grades[2]grades[3]grades[4]grades[5]数组名标识了数组的起始位置起点从数组的起始位置越过4个元素到达grades[4]获取grades[4]示意图数组元素的下标从0开始。一维数组引用必须先定义,后使用。只能逐个引用数组元素,而不能一次引用整个数组。

例如:a[0]=a[5]+a[7]-a[2*3]数组元素是一个变量。例如:price[3]=20.23; scanf(“%d%f”,grade[2],price[0]);引用时,数组元素的下标,可以是常量、变量或表达式,但其值应为非负整型。例:grade[1] grade[2*i] grade[j-1]一维数组total=grade[0]+grade[1]+grade[2]+grade[3]+grade[4]total=0;for(i=0;i=4;++i) total=total+grade[i];i5intgrade[5];#defineNUMELS5100?NUMELSiNUMELS100800一维数组#includestdio.hintmain(){inti,grades[5];for(i=0;i=4;++i)/*Enterfivegrades*/{printf(Enteragrade:);scanf(%d,grades[i]);}for(i=0;i=4;++i)/*Printfivegrades*/printf(\n

显示全部
相似文档