资源描述:
《C语言程序设计-第七章数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章数组整型基本类型:实型字符型、枚举类型数组类型构造类型:结构体类型公用体类型指针类型空类型C语言的数据类型8/13/20211信管教研室什么构造类型?所谓构造类型是指由基本类型数据按一定的规则组成的,是用户自己按规则定义的。数组是构造类型之一。什么是数组?在数学中我们学过数列、矩阵的概念,数列通常表示为:a1、a2、a3、….、an,矩阵通常表示为:a11a12a13a14a21a22a23a242×48/13/20212信管教研室在C语言中表示数组的方法是:a[0]、a[1]、a[2]、a[3]、a[4]、a[5];其中a:称为数组名。方括号中的数
2、:称为下标。下标是一个数时,也就是数列,称为一维数组。下标是两个数时,也就是矩阵,称为二维数组。还有三维数组、四维数组等。8/13/20213信管教研室例如:有五名学生的一组学号:2004035012、2004035013、2004035014、2004035015、2004035016。如果用数组来表示的话可以用统一的数组名,比如num,用下标区别每个变量。即num[0]、num[1]、num[2]、num[3]、num[4]表示一个学号数组。8/13/20214信管教研室7.1一维数组的定义和引用1、一维数组的定义定义方式:类型说明符数组名[常量表达式
3、];例longnum[4];表示num数组包含五个元素,分别是:num[0]、num[1]、num[2]、num[3]、num[4]。注意:下标从0开始,数组元素取值类型是长整型。定义数组中元素的取值类型定义数组中元素的个数,即数组长度。数组名的命名规则和变量名相同,遵循标识符命名规则。常量表达式中可以包括常量和符号常量,不能包括变量。8/13/20215信管教研室一维数组在内存的存储形式:num就是数组存储区域的首地址,即num=200。一组变量num200num[0]num[1]num[2]num[3]num[4]2042082122162004035
4、01220040350132004035014200403501520040350168/13/20216信管教研室2、一维数组的引用数组必须先定义,后使用;只能逐个引用数组元素,不能一次引用整个数组;数组元素表示形式:数组名[下标]。其中:下标可以是整型常量、变量或表达式。例inta[10];scanf(“%d”,a);()必须inta[10];for(j=0;j<10;j++)scanf(“%d”,&a[j]);例如:intk=5;a[1]、a[k]、a[10-k]都是合法的。8/13/20217信管教研室3、一维数组元素值的输入与输出例如:main
5、(){inti,a[10];for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)printf(“%d”,a[i]);}一维数组元素的输出。一维数组元素的输入。8/13/20218信管教研室使用数组定义和数组元素时的几点注意:1、把数组定义时方括号中的数和元素下标值区别开。方括号中的数表示数组含有的元素个数;元素下标值是标识具体的数组元素的;方括号中的数不能是变量,只能是常量。2、数组元素的下标可以是常量,也可以是变量,其值必须是非负数,如果是小数,系统自动取整。3、数组必须先定义后使用。4、系统不检查数组
6、元素下标的越界问题。5、一维数组元素的输入、输出使用单层循环语句。8/13/20219信管教研室4、一维数组的初始化在定义数组时,为数组元素赋初值。(在编译阶段使之得到初值)当全部数组元素赋初值时,可不指定数组长度。如inta[5]={6,2,3};等价于:a[0]=6;a[1]=2;a[2]=3;a[3]=0;a[4]=0;如inta[3]={6,2,3,5,1};()只给部分数组元素赋初值。inta[]={1,2,3,4,5,6};编译系统根据初值个数确定数组维数值。inta[5]={1,2,3,4,5};等价于:a[0]=1;a[1]=2;a[2]
7、=3;a[3]=4;a[4]=5;初始化方式:在定义数组时对数组元素赋予初值。8/13/202110信管教研室5、程序举例例1读10个整数存入数组,找出其中最大值和最小值。步骤:1.输入:for循环输入10个整数;2.处理:(a)先令max=min=x[0](b)依次用x[i]和max,min比较(循环)若maxx[i],令min=x[i]3.输出:max和min。#include#defineSIZE10voidmain(){intx[SIZE],i,max,min;printf("Enter10
8、integers:");for(i=0;i