- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定义数组注意事项 数组名的组成规则和变量名相同,必须按照标识符的命名规则。 数组名后面是用方括号将常量表达式括起来,不能使用圆括号。 方括号内的常量表达式表示数组元素的总个数,也就是数组的长度。在使用中,数组元素的序号(即下标)从0开始,最大值为“常量表达式?1”。 定义数组注意事项2 方括号内的常量表达式中可以包括字面常量和符号常量,但不能包含变量。换句话说,C语言中不允许对数组的长度作动态的定义。例如下面的数组定义过程都是错误的:int n=10; 或 int n;int a[n]; scanf(%d,n); int a[n]; 数组的初始化规则 (1)当对数组中全体元素赋初值时,可以不必指明数组中元素的个数。例如:int a[]={1,2,3,4,5}; 虽然在定义时没有指明a数组的长度,但在编译时会根据花括弧中的初值个数确定数组的实际长度,即a数组包含5个元素。(2)在定义数组时也可以只对一部分元素赋值。例如: int a[5]={1,2,3};定义并初始化一个含有5元素的数组,但只给前3个元素赋了初值,因此,后2个元素(a[3],a[4])的初值自动默认为零。当数组长度与初值数据个数不相等时,在定义数组时不能省略(不指定)数组长度。例如:int a[]={1,3,5}; 编译系统会认定a数组只有3个元素而不是5个元素。 【例6.3】有30个人围成一圈,从1开始报数,报到5的人出列。后面的人继续从1开始报数,如此反复,直到所有的人都出列,编程给出出列的顺序。 问题分析:首先,设人数为M人,设数到N的人出列。用数组a[M]存放M个人是否还在圈中的信息。其中,a[i]=1 表示第i个人还在圈中,a[i]=0表示第i个人已出列。开始时,数组a中所有的元素都是1,表示每个人都站在圈中。用k=k+a[i]来实现报数功能,因为只有还在圈中的人才能使K的值增加。 用变量d来记录出圈的人数,当d=M时,表示所有的人都出圈了。 程序清单如下:#define M 30#define N 5void main(){ int a[M+1],i,k=0,d=0; for(i=1;i=M;i++)a[i]=1; /*设每个人都在圈中*/ do{ for(i=1;i=M;i++) /*反复在数组a中循环报数*/ { k=k+a[i]; /*实现报数*/ if(k!=N) continue; printf(d=%d %d is out;,d,i);/*对报数到N时的处理*/ a[i]=0;k=0;d=d+1; } }while(d!=M);} 数组必须“先定义,后引用”。二维数组定义后,引用二维数组元素的一般形式为: 数组名[行下标][列下标] 例如,a[0][2],表示引用二维数组a中第0行2列的元素。引用二维数组元素时应注意以下几个问题:(1)引用二维数组时,每个下标都分别用方括号括起来,不要写成a[0,2]形式。(2)下标可以是任何整型表达式。(3)引用数组元素时务必注意,数组每一维的下标都不应 超过定义时的范围(即不要超过上下界)。例如,对于已经定义为“int a[2][3];”的二维数组来说,要想引用元素a[2][3]是错误的。虽然这种引用不会出现编译错误,但它代表的是不在数组a中的某一元素,它是代表数组a以外的某一个存储单元。 如果在定义数组时,给出了全部数组元素的初值,则数组的第一维下标可以省略。例如,下面两种定义方式是等价的:int i[2][3]={1,2,3,4,5,6};int i[ ][3]={1,2,3,4,5,6};但不能写成:int i[2][ ]={1,2,3,4,5,6}; 在进行分行初始化时,由于给出的初值已清楚地表明了行数和各行中元素的值,尽管此时并没有给出全部数组元素的初值,数组的第一维下标仍允许省略。例如: int i[][3]={{1},{5,2},{3,2,1}};显然这是一个3行3列的数组,其各元素的值如下: i[0][0]=1 i[0][1]=0 i[0][2]=0 i[1][0]=5 i[1][1]=2 i[1][2]=0 i[2][0]=3 i[2][1]=2 i[2][2]
您可能关注的文档
- 第12课破解生命起源之谜12章节.ppt
- 第二课时√SectionA第二课时.ppt
- 北师大版三年级数学上册课件花边有多长1章节.ppt
- 第二课时SectionA2a-3c.ppt
- 第12课破解生命起源之谜111章节.ppt
- 第12课破解生命起源之谜z.ppt
- 信条信条课件.ppt
- 北师大版三年级数学上册课件花边有多长11章节.ppt
- 第12课时我国的经济制度与政治制度第12课时我国的经济制度与政治制度.ppt
- 北师大版三年级数学上册课件交通与数学.ppt
- 第二部分语法知识巩固第36讲简单句.ppt
- 第2版电子课件office2003版C语言第2版第8章指针2003版.ppt
- 第二部分语法知识巩固第37讲复合句.ppt
- 第2版电子课件office2003版C语言第2版第9章结构2003版.ppt
- 第二部分阅读之答题要点和答题模板第二讲说明文阅读的答题要点和答题模板.ppt
- 第2版电子课件office2003版C语言第2版第10章文件2003版.ppt
- 第二部分阅读之答题要点和答题模板第六讲综合性学习的答题要点和答题模板.ppt
- 第2次课02文件的基本操作.ppt
- 第二部分阅读之答题要点和答题模板第三讲议论文阅读的答题要点和答题模板.ppt
- 第2单元5.北京喜获2008年奥运会主办权.ppt
最近下载
- 2025光伏行业产能过剩内卷竞争现状及未来展望分析报告.pdf
- 中建设计常规做法及指标汇编(2022年,934页).pdf VIP
- 2025年国庆节假期安全教育PPT课件.pptx VIP
- 医疗器械唯一标识管理制度(UDI).docx VIP
- 《成人腰大池引流护理》(TCRHA 069-2024).pdf VIP
- 营销策划 -MINI品牌中国小红书内容种草策略分享-运营思路V2-小红书汽车.pdf
- 中小学生世界粮食日节约粮食主题班会PPT课件.pptx VIP
- 幼儿园保育技能基本功大赛试题.docx VIP
- 土木工程材料1.2 材料与水有关的性质XQ.ppt VIP
- 剑桥KET2025最新考试真题(标准真题版TEST3-阅读和写作部分-含答案及详细解析).pdf VIP
文档评论(0)