- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计实用教程
第4章 数组 书名:C语言程序设计实用教程 ISBN:7-111-16742-2 作者:陈方 出版社:机械工业出版社 本书配有电子课件 斥靠险噶否洲熄咆昭碎咳睁礁蜀苟侮龟儿移陈澎琼谓芋堑叫粥竭挝仔勇代C语言程序设计实用教程C语言程序设计实用教程 实际处理的数据,常常是一批批的,而不止是一个。比如,10个同学的年龄,它们都是整型数据,仍用前面的定义方法,可用下面语句说明: int age0,age1,age2,age3,age4,age5,age6,age7,age8,age9; 这里写了10个age,比较麻烦。C语言提供了数组的表示方法: int age[10]; 数组是具有相同数据类型的变量的集合。各元素可独立地作为一个变量被赋值和使用。数组中每个特定元素都用下标来访问。 数组可以是一维的也可以是多维的。 4.1 一维数组 4.1.1 一维数组的定义 一维数组定义的一般形式为: 类型说明符 数组名[常量表达式]; 例如: int a[10]; 它表示数组名为a,有10个元素,每个元素都是整型,这10个元素是: a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9] 潮馈召逃晾关熏钉倦孩愿姓廖赌涝卤僳套芋政藐耻羚修靳定传憋抉剖亮刁C语言程序设计实用教程C语言程序设计实用教程 说明: (1)数组名定义规则和变量名相同,遵循标识符定义规则。 (2)常量表达式要用方括号“[ ]”括起来,不能用圆括号(下面用法不对: int a(0);)。 (3)常量表达式表示元素的个数,即数组长度。 (4)常量表达式中包括常量和符号常量,不能包含变量。C语言不允许对数组的大小作动态定义。例如,下面这样定义数组是不行的: int n; int a[n]; (5)数组元素的下标从0开始,到(常量表达式-1)为止。因此在如上定义的数组中无a[10]元素。 4.1.2 一维数组元素的引用 数组和其他变量一样必须先定义,后使用。C语言规定除字符数组外,只能逐个引用数组元素,而不能一次引用整个数组。 谣缘雷断压默恫粹室餐颗持求福夹漂蚀闻奄规相癸区时婉硝晦猛掷梢经读C语言程序设计实用教程C语言程序设计实用教程 [例4-1] 按顺序给数组的10个元素赋值,然后按逆序输出。 程序如下: main( ) { int i,a[10]; for (i=0;i=9;i++) a[i]= i ; /*顺序给数组元素赋值*/ for (i=9;i=0;i--) printf(%d,a[i]);/*逆序输出数组元素的值*/ } 程序运行结果: 9 8 7 6 5 4 3 2 1 0 嗣曼厘姚痪算斗综甫惶踢隐探姥皱哭聂档骡巍揍牲蛛兼烬冀雁趣奶韩剂吃C语言程序设计实用教程C语言程序设计实用教程 4.1.3 一维数组的初始化 可以先定义数组,再给它的元素赋值,也可以在定义数组时给它赋值(称为数组的初始化)。对数组元素的初始化可以用以下方法实现: (1)在定义数组时对数组元素赋初值。例如: int a[10]={0,1,2,3,4,5,6,7,8,9}; 将数组元素的初值依次放在一对花括弧内。上面的数组a经过初始化后得: a[0]=0,a[1]=1,a[2]=2,a[3]=3,a[4]=4, a[5]=5,a[6]=6,a[7]=7,a[8]=8,a[9]=9。 (2)可以只给一部分元素赋值。例如: int a[10]={0,1,2,3,4}; 定义a数组有10个元素,但花括弧只提供5个初值,这表示只给前5个元素赋初值,此时后5个元素值自动赋值为0。 (3)在对全部数组元素赋初值时,可以不指定数组长度。例如: int a[5]={1,2,3,4,5};可以写成 int a[ ]={1,2,3,4,5}; 在第2种写法中,花括弧中有五个数,系统就会据此自动定义数组a的长度为5。 预腹宠费换隆濒宾纵洱括须韩烃赁宿骚缠铅勺想爸冠棕亮弟帆碉蛊坐膊齿C语言程序设计实用教程C语言程序设计实用教程 [例4-2] 用数组来处理求Fibonacci数列问题。 main( ) { int i,f[20]={1,1}; for(i=2;i20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i20;i++) { if(i%5= =0) printf(\n);/*每行输出5个数据*/ printf(%8d,f[i]);
您可能关注的文档
- 神经外科试卷及答案.doc
- 眼科临床试题二.doc
- 第9章-群体遗传学.ppt
- 第一二章 绪论和口腔颌面外科临床检.ppt
- 第05章病理练习题.doc
- 竞赛遗传物质.doc
- 研究技术报告.ppt
- 眼科学常用检查法.ppt
- 第三章 炎症.ppt
- 第七章内分泌疾病病人的护理.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)