资源描述:
《C语言程序设计实用教程第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章数组教学提示数组是由基本数据类型构造出来的、有固定大小和相同类型的变量的集合。通过数组可以对一批具有相同数据类型的数据进行处理。教学目标掌握一维数组、二维数组和字符数组的定义、初始化及基本操作,掌握数组元素的引用、赋值、输入和输出,并能运用数组解决数值和非数值数据处理中的典型问题。6.1数组的概念在实际应用中,有时要处理的数据量可能很大,例如要对几千名学生的成绩从高到低排序。对于这种需要处理大批相同类型数据的情况,在程序设计中最有效的办法就是使用数组。数组和循环相结合,编写出的程序魅力无穷。6.1.1引例例6.1求一个班1
2、00个学生的平均成绩,并统计成绩高于平均分的学生人数。分析:求平均成绩,可用简单变量和循环结构相结合来完成,程序段如下:floatscore,sum=0;for(i=1;i<=100;i++){printf(“pleaseinputgradeofNo%d:”,i);scanf(“%f”,&score);sum=sum+score;}/*本循环求出100名学生的总分*/aver=sum/100;/*求出平均成绩*/在本程序中能否统计高于平均分的学生人数呢?用数组来解决这个问题,不仅效率高而且程序编写容易。#defineN100vo
3、idmain(){inti,n=0;floatscore[N],sum=0,aver;printf(“pleaseinputstudentsgrade:”);for(i=0;iaver)n++;printf(“average=%.2f”,aver);printf(“n=%d”,n);}score[N]表示数组,用来存放N个学
4、生的成绩score[i]是数组元素,用来存放第i个学生成绩*6.1.2数组中的相关概念1.数组:是指一组具有相同类型的数据的有序的集合。2.数组下标:是数组元素在数组中位置的一个索引或指示。3.数组元素:数组中的元素。4.数组大小:数组中元素的个数,也称数组长度。5.数组的维数:数组元素下标的个数。根据数组的维数可以将数组分为一维、二维、三维、多维数组。6.2一维数组只有一个下标的数组称为一维数组。一维数组通常和一重循环相配合,对数组元素进行处理。6.2.1一维数组的定义定义数组即指明数组名、数组类型和数组大小,定义一维数组的格
5、式为:类型标识符数组名[整型常量表达式];例如:inta[10];定义了一个一维数组a,该数组有10个元素,其中每个数组元素都是整型数据。一维数组定义说明:1.定义格式:类型标识符数组名[整型常量表达式];2.例:inta[10];其中:1、类型标识符表示数组中元素的数据类型。2、数组名命名规则必须遵循C语言中的标识符命名规则。3、整形常量表达式表示数组长度,可以包含常量和符号常量,但不能使用变量,例如下面的定义是不对的:intn=10;intb[n];6.2.2一维数组元素的引用数组元素的引用是用数组名加下标组成的。一维数组
6、元素的引用形式为:数组名[下标]需要注意的是:C语言中数组的下标是从0开始的。例如若定义了一个数组:inta[5];则数组a中的5个元素依次是:a[0],a[1],…a[4]注意:下标从0到4,数组中并没有a[5]这个元素。说明:1.引用数组元素时下标可以是整型变量、整形常量或整形表达式;2.数组元素本身可以看作是同一个类型的单个变量;3.C编译系统不会对数组下标越界进行检查。错误地引用越界数组元素可能会破坏数组后的其他数据,造成不可预料的后果。因此引用数组元素时,要注意避免下标越界。例6.2写出下面程序的运行结果。main()
7、{inta[10],i;for(i=0;i<10;i++){a[i]=i+1;printf(“%3d”,a[i]);}}程序运行时输出:123456789106.2.3一维数组的初始化所谓数组的初始化,就是在定义数组的同时就给数组元素指定初值。数组元素的值可以通过以下方式获得:1、通过赋值语句或输入语句得到,如:a[i]=i+1;scanf(“%d”,&a[i]);2、通过初始化得到,如:inta[5]={5,4,3,2,1};但两者是有区别的,前者在程序运行时进行,占用运行时间;后者则是在程序运行前,即编译阶段就给数组元素赋值
8、,不占用程序运行时间。一维数组的初始化有以下几种情形:1、初始化全部数组元素。例如:inta[5]={1,2,3,4,5};或:inta[]={1,2,3,4,5};/*此时可以省略数组大小*/2、初始化部分元素。例如:staticinta[5]={1,2};数