C语言程序设计 王建国 陈惠明 第4章 数组与指针

C语言程序设计 王建国 陈惠明 第4章 数组与指针

ID:40238543

大小:780.00 KB

页数:62页

时间:2019-07-28

C语言程序设计 王建国 陈惠明 第4章 数组与指针_第1页
C语言程序设计 王建国 陈惠明 第4章 数组与指针_第2页
C语言程序设计 王建国 陈惠明 第4章 数组与指针_第3页
C语言程序设计 王建国 陈惠明 第4章 数组与指针_第4页
C语言程序设计 王建国 陈惠明 第4章 数组与指针_第5页
资源描述:

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

1、第4章数组与指针本章讲解1.数组2.指针的概念3.指针与数组4.动态内存分配5.数组和指针的综合应用第4章数组与指针4.1数组4.2指针4.3动态内存分配4.4数组与指针综合应用4.5本章小结4.1数组在C语言中提供了一种专门用来存放批量数据的数据类型——数组,它将具有相同类型的数据按有序的形式组织起来,用一个统一的数组名来表示,数组中的每个数据称为数组元素,它用下标区分,按照下标的个数,数组可分为一维数组和多维数组。数组元素可以是基本类型数据也可以是构造类型数据,因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构体数组等类别。4.1.1一维数组1.一维数组的定义方

2、式<类型说明符><数组名>[<常量表达式>];其中:(1)类型说明符是任一种基本数据类型或构造数据类型,表示数组元素的数据类型。(2)数组名是用户定义的数组标识符,书写规则应符合标识符的书写规定。(3)方括号中的常数或常量表达式表示数据元素的个数,也称为数组的长度。例如:inta[5];定义了一个整型数组,数组名为a,包含5个元素。2.一维数组元素的表示形<数组名>[<下标>]其中下标只能为整型常量或整型表达式。数组定义以后,系统为数组分配一片连续的存储空间,数组下标的顺序即表示了其物理上存储的先后关系。数组元素下标是从0开始的,如前面定义的数组a,其数组元素分别为a[0]、a[1]、a

3、[2]、a[3]、a[4]。3.一维数组初始化赋值的表示形式<类型说明符><数组名>[<常量表达式>]={<值>[,值……值]};其中在{}中的各数据值为各数组元素的初值,各值之间用逗号间隔,这种形式是在数组定义时就给数组元素赋初值。例如:inta[5]={0,1,2,3,4};等价于如下语句:a[0]=0;a[1]=1;a[2]=2;a[3]=3;a[4]=4;【归纳总结】关于数组定义、赋值、引用的几点说明:(1)数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。(2)使用数组前必须先进行定义。(3)可以只给部分元素赋初值,当{}中值的个数少于元素

4、个数时,只给前面部分元素赋值,后面的自动用0补上。如案例4.1程序中数组a只对前9个元素赋值,最后一个元素自动赋0值。(4)若给全部元素赋值,则在数组说明中,可以不给出数组元素的个数。例如:inta[5]={1,2,3,4,5};可写为:inta[]={1,2,3,4,5};(5)数组名不能与其它变量名相同。例如:main(){inta;floata[10];……}是错误的。【案例4.2】在举办校园演讲比赛的时候要计算选手的最后得分,比赛得分计算规则为:去掉一个最高分和一个最低分,然后求剩余得分的平均分,设计程序来实现这样的功能。案例的算法描述如图所示:输入N位评委的分数到score[N

5、]当iscore[i]YNmin=score[i]sum=score[i]+sumavg=(sum-max-min)/(N-2)输出最高,最低分,选手最终得分avg案例4.2的N-S图i=0i=i+14.1.2二维数组在程序设计中发现要处理的数据是二维表格、矩阵等具有二维特征的数据,前面的一维数组可以存储其中的数值,但并不能体现出其元素的相对位置,本节将要学到的二维数组可以解决这个问题。1.二维数组的定义方式<类型说明符><数组名>[<常量表达式1>][<常量表达式2>];其中<常量

6、表达式1>表示第一维下标的长度,<常量表达式2>表示第二维下标的长度。例如:inta[3][4];2.二维数组元素的表示形式<数组名>[<下标>][<下标>]其中下标只能为整型常量或整型表达式,如前面定义的数组a,下标排列如下所示:a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]3.二维数组初始化赋值方法(1)分行给二维数组赋初值,如:inta[2][3]={{80,75,92},{61,65,71}};(2)按数组排列的顺序给各元素赋初值,如:inta[2][3]={

7、80,75,92,61,65,71};两种初始化方法结果均为:a[0][0]=80a[0][1]=75a[0][2]=92a[1][0]=61a[1][1]=65a[1][2]=71对于二维数组初始化赋值还有以下说明:(1)可以只对部分元素赋初值,未赋初值的元素自动取0值。例如:inta[3][3]={{1},{2},{3}};(2)如对全部元素赋初值,则第一维的长度可以不给出。例如:inta[3][3]={1,2,3,4,5,6,

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

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

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