- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 数组 在这一章中将介绍C语言程序的数组,数组是一段连续的内存变量,每个变量都有一个具体的下标,把一组变量连续存放在内存中,具有很实用的价值,例如可以存放字符串等。 5.1 一维数组 5.1.2 一维数组的定义 ?1.?????? 一般定义 一维数组的定义方法一般为: 类型 数组变量名称[大小]; 其中类型可以是任何的C语言数据类型,例如char、int、long、float、double等,数组名称与普通变量名称一样,“大小”是数组在内存中的单元数,在定义时必须是一个常数,不能是变量,数组每个单元占的字节数就是对应类型占的字节数,显然数组占的总字节数是: 大小*sizeof(类型) 例如: char s[20]; // 定义20个字符的数组 int n[20]; // 定义能存储20个整数的数组 float f[10]; // 定义能存储10个float数的数组 int a[5]; //定义能存储20个整数的数组 如图5-3所示为int a[5]定义的数组在内存中的分布图,共有5个元素,它的每一个单元都是一个int整数,由于一个int整数在计算机中占4个字节,因此这个数组在计算机中占20个字节。值得注意的是数组在定义之后,它的任何一个单元的值是不确定的。 2.定义且初始化 数组在定义时还可以同时为各个单元设置初始化的值。 (1)??? 定义时给所有元素赋值,例如: char s[5]={‘a’,’b’,’c’,’d’,’e’}; 定义数组s[5],并且设置s[0]=’a’,s[1]=’b’,s[2]=’c’,s[3]=’d’,s[4]=’e’。 (2) 定义时给部分元素赋值,例如: char s[5]={‘a’,’b’}; 定义数组s[5],并且设置s[0]=’a’,s[1]=’b’,s[2]=’\0’,s[3]=’\0’,s[4]=’\0’,既后面没有赋值的元素全部设置为0。 (3)??? 定义时给所有元素赋值,则可以不设置数组的大小,例如: char s[]={‘a’,’b’,’c’,’d’,’e’}; 与 char s[5]={‘a’,’b’,’c’,’d’,’e’}; 是等价的。 5.1.4 数组应用要素 ?数组应用中要注意下标不能超过边界,例如: int n[10]; 数组元素只有n[0],n[1],……,n[9]共10个元素,第一个元素是n[0]不是n[1],最后一个元素是n[9]不是n[10],如果引用了n[10],则程序在编译时不会报告错误,但程序运行时,n[10]单元排在n[9]之后,它不是数组的一个部分,可能是系统的某个单元,如把一个值赋予n[10],就可能改变了系统的内存值,可能会带来预想不到的结果。 5.2 一维字符数组 5.2.1 一维字符数组 ?一维字符数组是char类型的数组,因为它的每一个元素是一个char变量,可以用来存放字符串,因此比较特别。例如: char a[5]; 定义了一个字符数组,它有a[0],a[1],a[2],a[3],a[4]共5个元素,可以为它们赋值,例如: a[0]=’H’; a[1]=’e’; a[2]=’l’; a[3]=’l’; a[4]=’o’; 也可以在定义时就对各个元素赋值,例如: char a[5]={‘H’,’e’,’l’,’l’,’o’}; 其内存分布如图5-8所示。 5.2.2 一维字符数组与字符串 ? 字符串是一组字符,这些字符在内存中连续分布,在最后一个字节单元中用’\0’表示结束,这种结构与字符数组十分相似,实际上字符数组可以用来表示和存储字符串。例如: char b[6]={‘H’,’e’,’l’,’l’,’o’,’\0’}; 数组a中存储的就是字符串”Hello”,在定义字符数组时,可以把字符串直接赋值给字符数组,例如: char b[]={“Hello”}; 这种定义方法与 char b[6]={‘H’,’e’,’l’,’l’,’o’,’\0’}; 是完全等价的。 5.2.3 字符串的输入与输出 前面已经讨论过字符串的输出在printf函数中用“%s”来进行,而字符串又用字符数组来表示,因此在printf函数中用“%s”来输出字符数组表示的字符串,例如: char a[]={“hello”}; printf(“%s”,a); // 输出Hello 同样在scanf中用“%s”来输入一个字符串,输入的字符串存储在指定的字符数组中,例如: char b[20]; scanf(“%s”,b); 注意在scanf函数中数组名称前面没有“”符
您可能关注的文档
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 总复习.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 总复习1.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 姚琳 C语言程序设计_第4章 函数与编译预处理.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 姚琳 C语言程序设计_第5章_数组.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 姚琳 第7章 其他自定义数据类型.PPT
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 姚琳 第8章 文件.PPT
- C语言程序设计 第二版 作者 钟廷志 李如超 第2章.ppt
- C语言程序设计 第二版 作者 钟廷志 李如超 第4章.ppt
- C语言程序设计 第二版 作者 钟廷志 李如超 第6章.ppt
- C语言程序设计 第二版 作者 钟廷志 李如超 第7章.ppt
- C语言程序设计 作者 黄锐军 第8章 编译预处理.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 C语言入门.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 C语言入门1.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 函数.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 函数1.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 函数复习5.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 计算机基础知识1.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 结构化实例7.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 结构化实例71.ppt
- C语言程序设计案例教程 第2版 普通高等教育“十一五”国家级规划教材 作者 廖湖生 叶乃文 周珺 结构体6.11.ppt
最近下载
- CJJ2-2008城市桥梁工程施工与质量验收规范.doc VIP
- GB∕T24067-2024温室气体产品碳足迹量化要求和指南.pptx.pdf
- 口服药物的吸收.ppt VIP
- 公司内帐管理系统Excel模板.xlsx VIP
- reading skill --Distinguishing Between Facts and Opinions.ppt
- 分式乘除法专项练习60题(有答案).doc VIP
- 《工业固体废物资源综合利用评价规范》(THNEE 009-2025).pdf VIP
- 正泰NA1-2000智能型万能断路器.pdf VIP
- 第3课 中古时期的西欧【课件】(共34张PPT)-中职高一年级下册学期高教版(2023)世界历史全一册(含音频+视频).pptx VIP
- 加拿大油砂沥青加工方案研究.doc VIP
文档评论(0)