C 程序设计基础 第4章 数组与指针

C 程序设计基础 第4章 数组与指针

ID:40238031

大小:1022.00 KB

页数:117页

时间:2019-07-28

C 程序设计基础 第4章 数组与指针_第1页
C 程序设计基础 第4章 数组与指针_第2页
C 程序设计基础 第4章 数组与指针_第3页
C 程序设计基础 第4章 数组与指针_第4页
C 程序设计基础 第4章 数组与指针_第5页
资源描述:

《C 程序设计基础 第4章 数组与指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章数组与指针4.1数组及其简单应用4.2指针及其简单应用4.3指针与数组4.4字符串4.5指针数组与命令行参数4.6引用4.1数组及其简单应用4.1.1数组的概念某些程序在运行过程中要处理大批量的数据,而且这批数据中数据之间有某种逻辑上的联系,从而构成逻辑上的整体。如成绩分析程序,要对一个班级全体学生的若干门课程成绩进行多种处理(输入成绩、计算每位学生的总分、按总分从高到低排序、求各课程的平均分、找出某门课程不及格的学生、找出某学生不及格的课程、对某门课程分数或总分进行分段统计人数等等),显然,要对成绩表中数据进行多次访问,所以在成绩一次性输入机器后在程序运行过程中必须一直保存

2、在内存中以便后面各种成绩处理采用。又如要解一个多元(例如100个未知数)的一次方程组,程序运行时要一直保存方程组的几十甚至上百个系数,从而实现对它们有规律的运算。从成绩分析程序和解方程组程序还可以发现,这种批量数据在程序运行时要被多次访问而且批量数据中的各数据具有相同的数据类型。在程序设计时,将这种批量数据作为一个整体处理,即用数组来描述。具有相同类型的一组数据所构成的整体称为数组。数组的名字称为数组名。所以数组名代表一批数据。数组中的数据称为数组元素(或数组分量),数组元素可以用下标(顺序号)来区分。例如,一个班60名学生的某门课程成绩构成一批数据,可以用一个数组g来表示它们,每

3、个学生的成绩分别表示为:g[0],g[1],g[2],…,g[i],…,g[59]又如二元一次方程组:未知数x的系数可以用数组a表示,其元素为:a[0][0],a[0][1]a[1][0],a[1][1]在这里,区分g数组的元素需要一个顺序号,故称为一维数组;而区分a数组的元素需要两个顺序号,故称为二维数组。我们可以用循环语句控制下标的变化,从而实现对数组元素有规律的访问。例如,输入60名学生的成绩,可描述为:for(i=0;i<60;i++)cin>>g[i];4.1.2一维数组数组在使用之前也要定义,即确定数组的名字、类型、大小和维数。1.一维数组的定义一维数组的定义形式为:类

4、型符数组名[常量表达式];其中,方括号中的常量表达式的值表示数组元素的个数,即数组的大小或长度。常量表达式可以包括字面常量和符号常量以及由它们组成的常量表达式,但必须是整型。方括号之前的数组名是一个标识符。类型符指出数组(数组元素)的类型。例如数组定义inta[10];要注意的是方括号中不能含有变量,下面的定义错误的:intN;cin>>N;//输入数组的长度inta[N];//企图根据N的临时输入值定义数组的长度如果N是已经定义的符号常量则合法,例如:#defineN10//或者constintN=10;inta[N];2.一维数组元素的引用一维数组元素的引用形式为:数组名[下标

5、]一个数组元素的引用就代表一个数据,它和简单变量等同使用。C++规定,数组元素的下标从0开始。在引用数组元素时要注意下标的取值范围。当所定义数组的数组元素的个数为M时,下标值取0到M-1之间的整数。例如上面定义的数组a有10个元素,即a[0],a[1],…a[9],如程序引用数组元素a[i],就要保证程序运行时i不越出0到9的范围。下标可以是整型常量、整型变量或整型表达式。要给上面的数组a中数组元素输入数据可表示如下(假设i是已定义的整型变量):for(i=0;i<10;i++)cin>>a[i];//输出则改为:cout<>a[0]>>a[1

6、]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9];3.一维数组的存储结构C++编译系统为所定义的一维数组在内存中分配一片连续的存储单元,数组元素按下标从小到大连续排列,每个元素占用相同的字节数。数组是“有序”的即体现如此。例如,定义数组a如下:inta[5];则数组a的存储结构如图4.1所示。数组名代表数组在内存的起始地址,即第一个元素的地址(该元素首字节的地址),图中数字1000表示内存地址。而每个数组元素所占字节数相同,因此,根据数组元素序号可以求得数组各元素在内存中的地址,由此地址也可访问数组元素。后面指针与数组一节会进一步解

7、释。数组元素地址=数组起始地址+元素下标×sizeof(数组类型)。假设数组a的起始地址为1000,则元素a[3]的地址为:1000+3×4=1012。4.一维数组的初始化可在定义数组的同时,给出数组元素的初值。这种表达形式称为数组的初始化。数组的初始化可用以下几种方法实现。(1)顺序列出数组全部元素的初值数组初始化时,将数组元素的初值依次写在一对花括号内。例如:intx1[5]={0,1,2,3,4};经上面定义和初始化之后,使得x1[0]、x1[1]、x1[2]、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。