资源描述:
《c语言程序设计基础7》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数组第七章C语言程序设计1本章要点1.建立数组的概念;2.掌握一维数组和二维数组的定义、引用、存储结构和初始化方法;3.掌握一维字符数组的输入输出;4.掌握字符串处理函数的使用;5.掌握用数组进行编程的技术。27.1数组的概念如何处理一个班学生的学习成绩?一行文字怎样存储?一个矩阵怎样存储?......问题的提出:一组具有相同数据类型的数据的有序集合这些数据的特点:1.具有相同的数据类型2.使用过程中需要保留原始数据C语言为这些数据提供了一种构造数据类型:数组。3数组是一组有序的、类型相同的数据的集合,这些数据被称为数组的元素。47.2一维数组7.2.1一维
2、数组的定义和引用1.一维数组的定义类型说明符数组名[正整型常量表达式];说明:类型说明符:数组的类型。数组名同变量名命名规则相同。常量表达式指明数组中元素个数,必须大于零。可以是数值常量、符号常量和字符常量。例如:floatmark[100];charstr[200];inta[10];5其中:mark、str、a是数组名。方括号内是数组的长度。下标的个数称为数组的维数,mark、str是一维数组、a是二维数组。数组的成员称为数组元素。数组元素的类型称为该数组的基类型。数组mark的基类型是float,数组str的基类型是char。例如:存储学生成绩用实型数
3、组mark[100],存储一行文字用字符数组str[200],存储一个4*6的矩阵用二维整型数组a[4][6]。6说明:(1)数组名后是用方括号而不是圆括号。(2)数组定义中的常量表达式表示数组元素个数。必须是大于零的常量。如:inta[0],d(6);/*错误*/intb[-8];/*错误*/intc[2+3];/*正确*/(3)C语言中不允许对数组的大小作动态定义。数组的说明语句必须在可执行语句之前。#defineN5inta[N];intn;scanf(“%d”,&n);{inta[n];……}intn=10,a[n];72.一维数组的引用C语言规定,
4、只能引用单个数组元素,不能一次引用整个数组。数组元素的引用形式:数组名[下标]如a[3]下标可以是整型常量、整型变量或整型表达式。如:a[3]=a[0]+a[i+1];下标的值是数组元素的序号,且从0开始,直到n-1.inta[10],说明数组a一共有10个元素,起始值是0。数组a的10个元素分别是:a[0]、a[1]、…、a[9]。注意区分数组的定义和数组元素的引用。数组的输入输出应采用循环的方法.inta[10];for(i=0;i<10;i++)scanf(”%d”,&a[i]);下标指出在数组中第几个元素8数组中的每个元素在功能上等价于一个一般的变量
5、。例如:输入100个学生成绩,并求出总成绩。引用数组元素的注意事项:floatm[100],sum=0;for(i=0;i<100;i++){scanf(”%f”,&m[i]);sum+=m[i];}数组方式floatx,sum=0;for(i=0;i<100;i++){scanf(”%f”,&x);sum+=x;}简单变量xsum85m[0]m[1]m[2]m[99]sum82856378906385851488279501482263167950优点:数据重用数据有序9mark[0]mark[1]mark[2]mark[3]...mark[99]86.5
6、92.077.552.0...94.02000H2004H2008H200CH。。。218CH引用数组元素时,根据首地址和下标,自动计算出该元素的实际地址,取出该地址的内容进行操作。如引用mark[2]:(1)计算2000+2*4=2008(2)取出2008的内容下标与地址的关系[]为下标运算符,数组名、数组元素是两种不同性质的数据。数组名是数组的首地址,是一个地址常量。数组元素则是数值。107.2.2一维数组的初始化和输入输出在数组定义时为数组元素赋初值称为数组初始化.方法:将初值依次写在花括号{}内。如:inta[5]={2,4,6,8,10};存储形式
7、:存储单元11(1)给数组中部分元素赋初值,其他元素按零值处理。如:inta[9]={1,2};则a[0]=1,a[1]=2,a[2]~a[8]值全为0。(2)对数组元素全部赋值可以不指定长度。inta[]={0,1,2,3,5};等价于:inta[5]={0,1,2,3,5};(4)初值的个数不能超过数组总元素的个数。inta[3]={1,2,3,4};语法错!说明:(3)对数组中间元素赋值必须指明位置。inta[5]={,,2,3,4};/*对第3-5个元素赋初值*/12数组元素在程序中赋值⑵为个别元素赋值main(){charas[26];as[0]=
8、'a';…...}⑴利用循环为全部元素赋值main(