- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数组 一维数组 二维数组 字符数组 5.1 一维数组 一维数组的定义 一维数组的存储形式 一维数组的初始化 一维数组的引用 一维数组的应用举例 5.1.1 一维数组的定义 一维数组是数组名后只有一对方括号的数组,其定义方式为: 类型标识符 数组名[元素个数]; 例如:char str[20]; 关于数组的定义,应注意以下几点。 数组名后用方括号括住数组元素的个数,不能使用圆括号。 元素个数可以是整型常量,也可以是整型常量表达式,但绝不能含有变量,因为此表达式的值是在编译时计算出来的,而编译时系统并不能确定变量的取值。 数组元素个数必须大于或等于1。 数组元素的下标是从0开始编号的。 5.1.2 一维数组的存储形式 5.1.3 一维数组的初始化 在定义数组时,为数组元素赋初值,称为数组的初始化,形式如下: 数据类型 数组名[元素个数]={值1,值2,…,值n}; 其中名次说明如下。 花括号中的值是初值,用逗号分开。例如: int a[5]={10,20,30,40,50}; 各数组元素的初值为: a[0]=10,a[1]=20,a[2]=30,a[3]=40,a[4]=50 如果花括号中的值的个数少于数组元素的个数,则多余的数组元素的初值为0(字符型数组元素为\0)。例如: int a[5]={10,20,30}; 各数组元素的初值为: a[0]=10,a[1]=20,a[2]=30,a[3]=0,a[4]=0 char ch[5]={+,-}; 各数组元素的初值为: ch[0]= +,ch[1]=-,ch[2]=\0ch[3]=\0,ch[4]=\0 在数组定义中,可缺省方括号([])中的元素个数,而用花括号中初值的个数来决定数组元素的个数。例如: int m[ ]={0,1,2}; 相当于: int m[3]={0,1,2}; 初值的个数不能多于数组长度。例如: int a[5]={1,2,3,4,5,6,6,7,8,9};是非法的。 5.1.4 一维数组的引用 其中下标可以是正整型表达式,其取值范围为0~数组长度-1。一个数组元素就是一个普通的变量。例如: int a[10]; a[0]=5; /*给a[0]赋值5*/ a[1]=2*a[3/4]; /*给a[1]赋值2*a[0],即10*/ a[6]=a[3%2]+a[6-6]; /*给a[6]赋值a[1]+a[0],即15*/ 5.1.5 一维数组的应用举例 【例】用数组求Fibonacci数列前20项。该数列如下: 1,1,2,3,5,8,13,21,… 这个数列有如下特点:第1和第2两个数均为1,其余每个数都是前面两项之和。 程序如下: #includestdio.h void main() { int i; long f[40]={1,1}; for(i=2;i40;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i40;i++) { if(i%5==0) printf(\n); /*每行输出5个数*/ printf(%10ld,f[i]); /*长整型数据的输出要用附加格式符l*/ } } 程序说明:为了能处理较大的整数,将数组定义成long型。注意,长整型数据的输入和输出要用到附加格式符“l”。 5.2 二维数组 二维数组的定义 二维数组的存储形式 二维数组的初始化 二维数组的引用 二维数组的应用举例 5.2.1 二维数组的定义 二维数组(two-dimensional array)定义的一般形式如下: 类型标识符 数组名[常量表达式][常量表达式]; 其中,类型标识符标识数组元素的类型;数组名为C语言的合法的标识符;常量表达式应为正整型常量,第一个常量表达式表示数组的行数,第二个常量表达式表示每一行的元素个数,例如: float a[3][4]; 定义a为3行4列的数组,共有12个元素,即: 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] 这12个数组元素的类型均为float型。 5.2.2 二维数组的存储形式 5.2.3 二维数组的初始化 按行给数组赋初值。例如: int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 可以将所有数据写在一个花括号内,即按数组在内存中的存储顺序赋初值。例如: int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 效果与前面的相同。但第1种方法可读性好。 可以对部分元素赋
您可能关注的文档
- C及C++程序设计 第3版 教学课件 张富 第5章 循环结构程序设计.ppt
- C及C++程序设计 第3版 教学课件 张富 第6章 位运算.ppt
- C及C++程序设计 第3版 教学课件 张富 第7章 数组与字符串.ppt
- C及C++程序设计 第3版 教学课件 张富 第8章 指针.ppt
- C及C++程序设计 第3版 教学课件 张富 第9章 函数.ppt
- C及C++程序设计 第3版 教学课件 张富 第10章 数据的存储类型.ppt
- C及C++程序设计 第3版 教学课件 张富 第11章 用户定义数据类型.ppt
- C及C++程序设计 第3版 教学课件 张富 第12章 C语言的预处理器.ppt
- C及C++程序设计 第3版 教学课件 张富 第13章 磁盘文件操作(IO系统).ppt
- C及C++程序设计 第3版 教学课件 张富 第14章 C++概述.ppt
最近下载
- 基于“双高”背景下高职院校一流师资队伍建设的思考-来源:现代职业教育(高职高专)(第2020030期)-山西教育教辅传媒集团有限责任公司.pdf VIP
- DG_TJ08-2062-2017:住宅工程套内质量验收规范.pdf VIP
- 第二届全国数字化机房安装技能竞赛(电气设备安装工赛项)考试题库资料-下(多选、判断题汇总).pdf
- 北京-威旺M20-产品使用说明书-威旺M20 A12-BJ6443V4SMB-M20使用说明书V22015-01-29.pdf
- 春花秋月何时了G调正谱.pdf
- 急性心肌梗死及PCI术d 护理查房ppt课件.ppt
- 颅内压增高与治疗培训ppt课件.pptx VIP
- 公司关于“精益管理年”宣传工作的方案.pdf VIP
- 钻孔灌注桩试桩技术要求.docx
- 剑桥(join in)版三年级上册英语全册教学课件(配2024年秋改版教材).pptx
文档评论(0)