- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机软考程序员备考程序设计知识点(4
计算机软考程序员备考:程序设计知识点(4)
4.1 一维数组
1.数组的基本概念
数组是一组同类对象集合的一种表示。在C语言中,数组类型是这样一种数据结构:数组所有元素的数据类型相同,元素个数固定,其元素按顺序存放,每个元素对应一个序号(称为下标),数组元素的下标从0开始顺序编号,各元素按下标存取(引用)。数组元素变量能与相同类型的独立的变量一样使用。引用数组元素变量所需的下标个数由数组的维数决定,数组有一维数组、二维数组或多维数组之分。
2.一线数组的定义
一维数组的定义形式为:
类型说明符数组名[常量表达式」;
例如:
int a[5] ;
定义一个名为a的数组,它有五个元素,每个元素都是整型。数组定义包含以下几个要点:
(1)类型说明符用来指明数组元素的类型,同一数组的诸元素,它们的类型是相同的。
(2)数组是一个变量,与一般变量一样,用标识符命名,数组名遵守标识符的命名规则。
(3)方括号“[]”是数组的标志,方括号中的常量表达式的值表示数组的元素个数,即数组的长度。例如,int a[5]中的 5表示数组 a有5个元素,下标从0开始,这五个元素分别是:a[0]、a[1]、a[2]、a[3]和a[4]。
(4)常量表达式通常是整型常量、符号常量或sizeof(类型名),以及由它们组成的常量表达式。定义数组大小用常量表达式,就是说数组的大小是固定的,不可以包含引用变量值的表达式来定义数组的大小。
(5)C语言有一个约定,当数组名单独出现在表达式中时,数组名可以代表为它分配的内存区域的开始地址,即数组中下标为0的元素的地址。在这种情况下,数组名起着一个常量的作用,即a与a[0]作用一样。如代码scanf(“%d”,a[0])与 scanf(“%d”,a)都是为数组a的第一个元素输入值。
3.一维数组的初始化
可在数组定义同时,给出数组元素的初值。这种表述形式称为数组初始化。数组初始化可用以下几种方法实现:
(1)数组定义时,顺序列出数组全部元素的初值。例如:
int d[5]={0,l,2,3,4};
将数组元素的初值依次写在一对花括弧内。经上面定义和初始化之后,就有d[0]=0.d[l]=l、d[2]=2、d[3]=3、d[4]=4。
(2)只给数组的前面一部分元素设定初值。例如:
int e[5]={0,l, 2};
定义数组e有5个整型元素,其中前三个元素设定了初值,而后两个元素末明确地设定初值。系统约定,当一个数组的部分元素被设定初值后,对于元素为数值型的数组,那些末明确设定初值的元素自动被设定0值。所以数组e的后两个元素的初值为0。但是,当定义数组时,如未对它的元素指定过初值,对于内部的局部数组,则它的元素的值是不确定的。
(3)当对数组的全部元素都明确设定初值时,可以不指定数组元素的个数。例如:
int g[]={5,6,7,8,9};
系统根据初始化的花括号内的初值个数确定数组的元素个数,所以数组g有五个元素。但若提供的初值个数小于数组希望的元素个数时,则方括号中的数组元素个数不能省略。如代码int b[10]={1,2,3,4,5}定义数组 b有10个元素,前五个元素如设定所示,后五个元素都为0。反之,如提供的初值个数超过了数组元素个数,就是一个错误。
4.一维数组元素的引用
程序定义了数组后,就可引用数组的元素。引用数组元素的一般形式为:
数组名[下标]
其中下标可以是整型常量、整型变量或整型表达式。例如,数组a的五个元素可分别用a[0]、a[l]、a[2]、a[3]、a[4]来引用它们。
设有定义:
int x[20], i;
以下代码实现顺序输入数组X的全部元素:
for(i=0;i20;i++)
scanf(“%d”,x[i]);
4.2 二维数组和多维数组
1.多维数组定义
数组也可以是多维的。现以二维数组为例介绍二维及二维以上的多维数组。二维数组的定义形式为:
类型说明符 数组名「常量表达式」[常量表达式」;
通常多维数组的定义形式有连续两个或两个以上“「常量表达式」”。例如:
float a[2][3],b[3][4]; /*两个二维数组*/
float c[2][2][3];/*一个三维数组*/
定义数组a为2行3列,数组b为3行4列。C语言把二维数组看作是一种特殊的一维数组,即它的元素又是一个数组。例如,对于上述定义的数组a,把它看作有两个元素的一维数组:
a[0]和 a[l]
每个元素又是一个包含3个元素的一维数组。通常,一个n维数组可看作是一个一维数组,而它的元素是一个(n-1)维的数组。C语言对多维数组的这种观点和处理
您可能关注的文档
最近下载
- 部编版小学语文三年级上册《快乐读书吧:在那奇妙的王国里》说课稿(附教学反思、板书)课件.pptx
- 北师大版六年级上学期期中考试数学试卷含答案(共5套).docx
- 班组建设之班组园地模板.ppt
- GB-T 470-2008 锌锭-国家标准.pdf
- (2023)宿舍安全知识竞赛真题库及答案(通用版).docx
- 多智能体协调控制-修改.ppt
- 2024年海南省中考化学试卷(含答案).docx
- 人教PEP版四年级上册英语Unit 3 My friendsPart B Let's talk—Let's play课件.pptx
- 《论语》中的“学”与“好学”.doc VIP
- 第四节 IS—M模型与财政政策效应.ppt VIP
文档评论(0)