- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 数组 问 题 如果用一个变量去读若干个数据,最后这个变量中存的是哪个数据? 如果将每个数据都保留下来,同样用一个标识符是否可以??? 如何来区分各个数据? 3. 如何组织这些数据?用下标来标识. 在计算机语言中给出一种存储数据的方法: 一维数组;二维数组;多维数组. 4.1一维数组 4.1.1 一维数组定义 一维数组定义形式为: 类型说明符 数组名[常量表达式] 说明: (1) 类型说明符可以是int、char和float等基本类型或构造类型。 (2) 数组名的命名规则同变量名完全相同。 (3) 常量表达式的值是数组的长度,即数组中所包含的元素个数。 例如: int age[40]; float f[6*6]; (4) 相同类型的数组、变量可以在一个类型说明符下一起说明, 例如:float f, a[10], b[20]; (5) C语言数组元素的编号是从0开始编号的。 4.1.2 一维数组的存储形式 【例4.1】读入一个一维数组,并按相反顺序输出各元素。 4.1.4 一维数组的初始化 (2) 可以只给一部分元素赋初值。例如: int a[10]={0,1,2,3,4}; 定义时没有赋初值,则对于存储在固定存储区的数组各元素自动数组若在赋值0,字符串数组的各元素自动赋值空字符,存储在动态存储区的数组各元素的值不确定。 (3) 在对全部数组元素赋初值时,可以不指定数组的长度。 int a[]={0,1,2,3,4}; 【例4.3】求fibonacci数列的前20项。 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); printf(%12d,f[i]); } } (2)这种定义方式便于把二维数组看成一种特殊的一维数组。例如: 将a看作一个一维数组,共有2个元素a[0]、a[1]. 而这两个元素每个又是包含了3个整型数据的一维数组。 因此,可以把a[0]和a[l]看作两个一维数组的数组名. (3)多维数组 例如,定义一个三维数组: int c[2][3][4]; 该数组包括2×3×4=24个元素。 4.2.2 二维数组及多维数组的存储形式 例如:int a[2][3]; P95 4.2.3 二维数组元素的引用 二维数组引用格式为: 数组名[下标表达式][下标表达式] 三维数组的引用格式为: 数组名[下标表达式][下标表达式] [下标表达式] 4.2.4 二维数组的初始化 1.按行对二维数组初始化。 int a[2][3]={{1,2,3},{4,5,6}}; 2.按数组元素的存放顺序对二维数组初始化。 int a[2][3]={l,2,3,4,5,6}; 说明: (1)初始化时可对数组全部元素初始化,也可以只对部分元素初始化。例如: int a[3][4]={{1},{2},{3}}; 它的作用是只对各行第一列的元素赋初值,其余元素值自动为0。赋初值后数组各元素为: 也可以只对某几行赋初值,例如:int a[3][4]={{1},{2,3}}; (2)对全部元素初始化时,可以省略数组第一维的长度,但第二维的长度不能省略。例如: int a[][3]={1,2,3,4,5,6}; 4.2.5 二维数组程序设计 【例4.5】将一个二维数组的行和列元素互换,将结果存到另一个数组中(即矩阵的转置)。 作业与实验 上机实验:一、二(例1,例4,例5)三、(1) 习题:一(1,2,3,6,7,8,9,) 二(1,3,) 三(1,3,4,6,) 四(1,) 五(1,3,7,8,9,) 复 习 求一维数组a(4个元素)的最大元素 max=a[0]; /*第一个元素为默认的最大值*/ row=0; /*默认位置为0*/ for(j=1;j=3;j++) if(a [jmax) max=a[j]; /*找到更大的数*/ row=j; /*将最大数下标存入row中*/ } #include stdio.h main(){ static int a[][4]={3,16,87,65,4,32,11,
您可能关注的文档
- C语言程序设计 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第2章 基本数据类型.ppt
- C语言程序设计 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第4章 程序设计知识.ppt
- C语言程序设计 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第5章 语句和控制流.ppt
- C语言程序设计 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第9章 结构与联合.ppt
- C语言程序设计 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第10章 其他数据类型.ppt
- C语言程序设计 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第11章 预处理、输入输出和文件操作.ppt
- C语言程序设计 作者 孟庆昌 第01章.ppt
- C语言程序设计 作者 孟庆昌 第02章.ppt
- C语言程序设计 作者 孟庆昌 第05章.ppt
- C语言程序设计 作者 孟庆昌 第07章.ppt
- 防水材料行业技术创新与市场应用前景分析报告.docx
- 2025年能源经济专业题库—— 能源复合材料技术与经济应用.docx
- 2025年资源与环境经济学专业题库—— 水资源管理与经济效益评估.docx
- 2025年新能源光伏组件技术专利研究分析报告.docx
- 车载智能系统自动驾驶AI安全漏洞检测与风险评估策略.docx
- 2025年经济学专业题库——经济学专业高层次人才培养.docx
- 数字图书馆智能检索系统2025年技术创新与智能推荐算法研究.docx
- 2025年智能语音识别技术在客服行业的应用与创新.docx
- 2025年哲学专业题库—— 古代哲学与现代社会.docx
- 2025年人类学专业题库—— 人类学专业的文化传承与创新.docx
文档评论(0)