- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
共 53 页 第 1 页
第七章
C语言程序设计
共 53 页 第 2 页
本章要点
1.建立数组的概念;
2.掌握一维数组和二维数组的定义、引用、存储结构和初始化方法;
3.掌握一维字符数组的输入输出;
4.掌握字符串处理函数的使用;
5.掌握用数组进行编程的技术。
共 53 页 第 3 页
7.1 数组的概念
如何处理一个班学生的学习成绩?
一行文字怎样存储?
一个矩阵怎样存储 ?......
问题的提出:
一组具有相同数据类型的数据的
有序集合
这些数据的特点:1.具有相同的数据类型
2.使用过程中需要保留原始数据
C语言为这些数据提供了一种构造数据类型:数组。
共 53 页 第 4 页
数组是一组有序的、类型相同的数据的集合,这些数据被称为数组的元素。
共 53 页 第 5 页
7.2 一维数组
7.2.1 一维数组的定义和引用
1.一维数组的定义
类型说明符 数组名[正整型常量表达式] ;
说明:
类型说明符:数组的类型。
数组名同变量名命名规则相同。
常量表达式指明数组中元素个数,必须大于零。可以是数值常量、符号常量和字符常量。
例如: float mark[100];
char str[200];
int a[10];
共 53 页 第 6 页
其中:mark、str、a 是数组名。
方括号内是数组的长度。
下标的个数称为数组的维数,mark、str是一维数组、a是二维数组。
数组的成员称为数组元素。
数组元素的类型称为该数组的基类型。数组mark的基类型是float,数组str的基类型是char。
例如:存储学生成绩用实型数组 mark[100],
存储一行文字用字符数组 str[200],
存储一个4*6的矩阵用二维整型数组 a[4][6]。
共 53 页 第 7 页
说明:
(1)数组名后是用方括号而不是圆括号。
(2)数组定义中的常量表达式表示数组元素个数。必须是大于零的常量。
如: int a[0],d(6); /*错误*/
int b[-8]; /*错误*/
int c[2+3]; /*正确*/
(3) C语言中不允许对数组的大小作动态定义。
数组的说明语句必须在可执行语句之前。
#define N 5
int a[N];
int n;
scanf(“%d” , n );
{int a[n];……}
int n=10,a[n];
共 53 页 第 8 页
2. 一维数组的引用
C 语言规定,只能引用单个数组元素,不能一次引用整个数组。
数组元素的引用形式: 数组名[ 下标] 如a[3]
下标可以是整型常量、整型变量或整型表达式。
如: a[3]= a[0] + a[i+1];
下标的值是数组元素的序号,且从0开始,直到n-1.
int a[10], 说明数组a一共有10个元素,起始值是0。
数组a的10个元素分别是:a[0]、a[1]、…、a[9]。
注意区分数组的定义和数组元素的引用。
数组的输入输出应采用循环的方法.
int a[10];
for ( i=0; i10; i++ )
scanf(”%d”, a[i]);
下标指出在数组中第几个元素
共 53 页 第 9 页
数组中的每个元素在功能上等价于一个一般的变量。
例如:输入100个学生成绩,并求出总成绩。
引用数组元素的注意事项:
85
82
85
63
78
90
63
85
85
148
82
7950
148
226
316
7950
优点:数据重用
数据有序
共 53 页 第 10 页
引用数组元素时,根据首地址和下标,自动计算出该元素的实际地址,取出该地址的内容进行操作。
如引用 mark[2]:
(1)计算 2000+2*4=2008
(2)取出2008的内容
下标与地址的关系
[ ] 为下标运算符, 数组名、数组元素是两种不同性质的数据。
数组名是数组的首地址,是一个地址常量。
数组元素则是数值。
共 53 页 第 11 页
7.2.2 一维数组的初始化和输入输出
在数组定义时为数组元素赋初值
文档评论(0)