资源描述:
《《C++语言程序设计》第6章-数组教学课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、12021/6/21第6章数组主要内容6.1一维数组6.2二维数组6.3字符数组6.4数组作为函数参数22021/6/21本章要点什么是一维数组?如何使用?什么是二维数组?如何使用?字符数组的使用及常用的字符处理函数。数组如何作为函数的参数使用?32021/6/21第6章数组之前所介绍的数据类型都称为基本类型或原子类型,例如整型、字符型、浮点型数据,这些都是简单的数据类型。只用以上简单的数据类型是不够的,难以有效处理。C语言提供了数组类型为同类型数据的组织提供了一种有效的形式。42021/6/21数组属于自定义数据类型,因此在
2、使用之前首先要进行类型声明。声明一个数组类型时应该包括以下几个方面内容。(1)确定数组的名称。(2)确定数组元素的类型。(3)确定数组的结构,包括数组维数、每一维的大小等。52021/6/216.1一维数组6.1.1一维数组的定义定义一维数组的一般形式如下:数据类型数组名[常量表达式];说明:(1)数组名的命名规则和变量名相同,遵循标识符命名规则。(2)数据类型决定了数组能存储哪种类型的数据,比如整型、字符型、浮点型等。(3)定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组的大小(长度),注
3、意不是下标上界。62021/6/216.1.2一维数组的初始化数组也有特定的存储属性,可以是全局的,也可以是局部的,可以是静态的,也可以是动态的。在定义数组的同时给数组元素赋值,这称为数组的初始化。初始值通过括在一对花括号中的数据序列提供。(1)在定义数组时对全部数组元素初始化。例如:inta[10]={0,1,2,3,4,5,6,7,8,9};在定义数组时将各元素的初值顺序放在一对花括号内,数据间用逗号分隔。72021/6/21(2)在定义数组时对数组中的部分元素初始化。例如:inta[10]={0,1,2,3};上述语句表
4、示只给前面4个元素赋初值,系统自动给后面6个元素赋初值0。如果在定义数值型数组时,指定了数组的长度并部分初始化,所有未被初始化的数组元素,系统会自动初始化为0,字符型数组初始化为' ',指针型数组初始化为NULL(空指针)。82021/6/21(3)在定义数组时将全部数组元素值初始化为0,可以写成如下格式:inta[10]={0,0,0,0,0,0,0,0,0,0};//全部赋初值为0或inta[10]={0};//未赋值的元素自动初使化为0(4)在定义数组并初始化时,如果对全部数组元素赋初值,可以不指定数组长度。例如:in
5、ta[10]={0,1,2,3,4,5,6,7,8,9};可以写成:inta[]={0,1,2,3,4,5,6,7,8,9};92021/6/216.1.3一维数组元素的引用引用数组元素的一般形式如下:数组名[下标]说明:(1)下标可以用一个整数或一个整型表达式来表示,其结果必须为整数,用于指示数组元素的序号。(2)数组下标的取值不能超过数组定义时所确定的下标上下界。(3)数组中每一个元素都相当于一个相应类型的变量,凡是允许使用该类型变量的地方,都可以使用数组元素。102021/6/21(4)定义数组时的语法格式和引用数组时的
6、语法格式相似,但含义不同。例如:inta[10]={0,1,2,3,4,5,6,7,8,9};//定义数组并初始化inti=a[0];//将数组元素a[0]的值赋值给变量I(5)数组元素的下标从0开始,下标最大值为数组个数减一。例如:inta[10];数组a可使用的下标范围为:0~9数组a包含的数组元素为:a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]112021/6/21例6.1定义一个一维数组,对数组元素依次赋值为0,1,2,3,4,5,6,7,8,9。在控制台分别以正序
7、、逆序输出数组的所有元素。算法描述:由于数组元素值为整型,共10个,所以可以定义一个长度为10的一维整型数组,同时初始化数组元素。由于这些值比较有规律,也可以使用for循环给数组的每一个元素单独赋值。输出数组元素可以用循环结构,正序是数组元素按下标0~9的顺序输出,逆序是数组元素按下标9~0的顺序输出。122021/6/21程序代码:#includevoidmain(){inti;inta[10]={0,1,2,3,4,5,6,7,8,9};printf("正序输出数组元素");for(i=0;i<=9;
8、i++)//使用for循环正序输出数组元素{printf("%d",a[i]);}printf("");//换行printf("逆序输出数组元素");for(i=9;i>=0;i−−)//使用for循环逆序输出数组元素{printf("%d",a[i]);}print