资源描述:
《第6章+数组 C语言大学实用教程课件 苏小红》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章数组哈尔滨工业大学计算机科学与技术学院苏小红sxh@hit.edu.cnC语言大学实用教程内容提要数组类型;向函数传递一维数组和二维数组;常用算法:排序、查找、求最大最小值等;用字符数组存取字符串;使用字符串处理函数处理字符串C提供了一组基本类型:int、double等。除了基本数据类型,还有一些组合的数据类型,称为构造数据类型。(书上18页)构造机制包括数组、指针、结构、联合。可用它们组合数据对象,作为整体使用。组合的数据对象称为复合数据对象。复合对象形成的类型称为复合数据类型,组成部分称为成分/成员/元素。可创建能存放复合类
2、型数据的变量。这种变量可作为整体使用,通过名字可以访问整个复合对象。也可以访问复合数据对象的成分,如:使用成分的值或给成分赋值。本章介绍数组就是常见的组合机制。数组的用处保存大量同类型的相关数据的问题-例如,输入全班30个学生的成绩,并排出名次。-例如,矩阵运算,表格数据等。为什么使用数组例子:要读入某班全体50位同学某科学习成绩,然后进行简单处理(求平均成绩、最高分、最低分……)若用简单变量,需50个不同变量名,要用很多个scanf命令intscore1,score2,…score50;scanf("%d,%d,%d",&score
3、1,&score2,&score3);scanf("%d,%d,%d",&score4,&score5,&score6);而用数组,可共用一个scanf命令并利用循环结构读取intscore[50],i;for(i=0;i<50;i++){scanf("%d",&score[i]);}保存大量同类型的相关数据6.1数组的概念、定义和使用数组(array)是多个同类型数据对象的组合。一个数组汇集了多个数据项,数组元素。可从数组出发处理各元素,以统一方式处理一批/所有元素,是数组和一组独立变量的主要区别。为此需要:数组描述,数组变量定义数
4、组使用,包括通过数组变量使用其元素数组实现,数组的存储方式数组变量定义定义数组变量(定义数组)时需说明:数组元素类型数组(变量)的元素个数元素个数也称数组大小或长度。定义数组变量时,方括号内整型表达式说明元素个数,表达式应用静态确定值,可用字面量或枚举常量。例,定义两个数组:inta[10];doublea1[100];数组定义可以与其他变量定义写在一起,如:inta2[16],n,a3[25],m;定义存储类型数据类型数组名[整数1][整数2]……[整数n];a[9]a[8]a[7]a[1]a[0]…数组首地址inta[10];定义
5、一个有10个int型元素的数组系统会在内存分配连续的10个int空间给此数组直接对a的访问,就是访问此数组的首地址使用a[0]、a[1]、a[2]、……、a[9]这样的形式访问每个元素。可以像使用普通变量一样使用他们。数组(Array)的实现数组大小最好用宏来定义,以适应未来可能的变化#defineSIZE10inta[SIZE];数组大小定义好后,将永远不变#include#defineSIZE10main(){inta[SIZE];……}也可定义外部数组和局部静态数组(用static)。作用域与存在期与简单变量相
6、同。数组的外部说明不必描述数组大小。例:externinta[];externdoublea1[];下面函数里数组定义不合法:voidf(intm,intn){intb[n];/*非法,编译时无法确定大小*/....}新C99标准支持这种定义,满足C99的编译器很少根据数组的数据类型,为每一元素安排相同长度的存储单元根据数组的存储类型,将其安排在内存的动态、静态存储区或寄存器区用sizeof(a)来获得数组a所占字节数short数组的存储结构一维数组占用字节数=数组长度×sizeof(基类型)数组使用基本操作是元素访问。元素顺序编号,
7、首元素序号0,其余顺序编号。n元数组元素编号是0到n-1。定义:intb[100];元素编号为0、1、2、…、。称为下标或指标。元素访问通过[]运算符,优先级最高,运算对象是数组名和括号里表示下标的表达式。表达式、语句里的b[3]称为下标表达式。例:有上面定义后,可写:b[0]=1;b[1]=1;b[2]=b[0]+b[1];b[3]=b[1]+b[2];99数组意义在于能以统一方式描述对一组数据的处理。下标表达式可用一般的整型表达式。如:b[i]=b[i-1]+b[i-2];访问哪个元素由i值确定。同一语句可访问不同元素,可用在循环
8、里访问一批元素。for(i=0;i<100;++i){b[i]+=a1[i]*a2[i];}/*假设数组都有定义*/循环中涉及到300个基本数据对象。对数组的多个或全部元素操作,常用for语句。令变量遍历数组下标:for