C语言程序设计(第二版)课件作者刘加海朱云其第五章节第五章节.pptVIP

  • 2
  • 0
  • 约6.68千字
  • 约 39页
  • 2017-11-12 发布于广东
  • 举报

C语言程序设计(第二版)课件作者刘加海朱云其第五章节第五章节.ppt

尚辅网 / 第5章 数组及其应用 本章重点 § 数组元素的查找 § 数组元素的插入 § 数组元素的删除 § 数组元素的排序 本章难点 § 数组下标值的变化 § 数组下标越界情况 § 排序的各种算法 § 数组插入、删除时的位置确定 5.1 一维数组 数组是一种构造类型,C语言中的许多问题不用数组几乎难以解决。数组有以下主要特点: 1)每个数组中的元素类型必须一致。 2)用不同的下标来区分数组的元素。 3)数组在内存中占有连续的存储单元,数组名表示数组在内存中的首地址。 4)数组和指针有着极密切的联系,可以通过指针移动来对数组元素进行操作。 5.1.1 一维数组的定义 一维数组的定义形式如下: 类型说明符 数组名[整型常量表达式]; 例如: int a[5]; 它表示定义5个元素的整型数组,数组名为a,a也是这5个元素存储区的首地址,因而a的地址值不能改变。 【例5.1】 数组及数组元素的表示方法。 编辑源程序代码5-1.c: #includestdio.h int main() { int i,a[10]={1,2,3,4,5,6}; /*定义一个整型数组,数组名为a,并给数组初始化*/ for(i=0;i10;i++) printf(a[%d]=%-4d,i,a[i]); /*a[i]为数组的第i个元素*/ printf(\n); return 0; } 注意: 1)数组名的命名方法与变量名相同,遵循标识符命名规则。 2)数组的下标从0开始,下标的最大值为:常量表达式-1。 例如,在int a[5];中,数组a的5个元素分别表示为a[0]、a[1]、a[2]、a[3]和a[4]。 3)常量表达式中可以包括常量和符号常量。 5.1.2 一维数组的引用方法 C语言规定不能一次引用整个数组,引用时只能对逐个元素进行引用。数组元素及数组地址的表示形式如表5.1和表5.2所示。 如有定义: int a[5],*p; p=a; /*指针p指向数组a的首地址*/ 其元素可表示为:a[i],其中0=i5。 表5.1 一维数组的元素表示法 表5.2 一维数组元素的地址表示法 a+j *(p+i) *(a+i) p+j a[j] p[i] a[i] 指针表示 数组表示 指针表示 数组表示 5.1.3 一维数组的初始化与赋值 有三种方法给数组赋值:数组的初始化;程序中赋值;键盘中读入。 1. 数组的初始化 1)在定义数组时对数组元素可赋以初值,例如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 2)初始化时可以只对一部分元素赋初值。例如: static int a[10]={0,1,2,3,4}; 定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素的初值为0。 3)如果想使一个数组的元素值全部为0,可以用下面的方法: static int a[10]={0}; 即使对static型的数组不赋初值,系统也会对所定义的数组的所有元素自动赋以0值。 2. 程序中赋值 【例5.2】 在程序中给数组的元素赋值,并输出数组元素的值。 分析:数组s在定义时赋值;数组a在程序中赋值。s[2]的3赋给a[0],s[4]的5赋给a[1],s[7]的8赋给a[2],程序运行的结果为:a[0]=3 a[1]=5 a[2]=8。 编辑源程序代码5-2.c: #includestdio.h int main() { int s[10]={1,2,3,4,5,6,7,8,9,10}; int i=2,a[3]; a[0]=s[i]; a[1]=s[2+i]; a[2]=s[2*i+3]; printf(a[0]=%d a[1]=%d a[2]=%d\n,a[0],a[1],a[2]); return 0; } 3. 程序运行时从键盘输入 【例5.3】 程序运行时从键盘输入,给数组的元素赋值,最后输出数组元素的值。 分析:初始化数组a[4],程序等待键盘输入4个数,把键盘输入的数赋值给数组a中的4个元素,输出数组a[4]的4个元素的值。 编辑源程序代码5-3.c: #includestdio.h int main() { int i,a[10]; printf(请输入10个整型数,以空格隔开\n);

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档