- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计教程 主编 张永 胡敏 中国水利水电出版社 第5章 数组 主要内容 5.1 一维数组 5.2 多维数组 5.3 字符数组与字符串 5.3.7 字符数组应用举例 【例5-15】输入一个字符串,统计其中指定字符的数目。 #includestdio.h #includestring.h main() { int i,len,num; char a,st[50]; printf(please input the string:); gets(st); printf(please enter the character you want to find:); a=getchar(); len=strlen(st); for(i=0;ilen;i++) { if(a==st[i]) num++; } printf(the number is %d,num); } 【例5-16】输入5个人名,按字母顺序排列输出。 源程序: #includestdio.h #includestring.h main() { char st[20],name[5][20]; int i,j,p; printf(input the names:\n); for(i=0;i5;i++) gets(name[i]); printf(\n); printf(the result is:\n); for(i=0;i5;i++) { p=i;strcpy(st,name[i]); for(j=i+1;j5;j++) if(strcmp(name[j],st)0) { p=j; strcpy(st,name[j]); } if(p!=i) { strcpy(st,name[i]); strcpy(name[i],name[p]); strcpy(name[p],st); } puts(name[i]); } } 运行结果如下: input the names: the result is: jack ann ann jack susan john john susan terry terry 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死 尚辅网 / 5.1 一维数组 5.2 多维数组 5.3 字符数组与字符串 学习目标 了解一维数组与多维数组的定义。 掌握一维数组和二维数组的初始化及引用。 了解字符串与字符数组的区别。 掌握字符数组的使用。 掌握常用的字符串处理函数。 5.1.1 一维数组的定义 一维数组是数组名后只有一个下标的数组,其定义形式为: 类型说明符 数组名[数组长度]; 类型说明符规定了数组的存储类型和数据类型,数组名为用户选定的合法标识符,而数组长度既可以是整型常量又可以是整型表达式。数组定义的作用是定义一个指定长度的一维数组:它的元素为数组名[0]、数组名[1]、数组名[2]……数组名[数组长度-1]。 5.1.2 一维数组的存储形式 一维数组在内存中存储时,按下标递增的次序连续存放。例如int a[5],数组名a或a[0]是数组存储区域的首地址,a[0]就存放在这里,a[1]至a[4]在其后依次存放。因此数组名代表了数组的存放首地址,不能对其进行赋值和其他运算。 如果知道数组a的首地址和数据类型,可以通过如下公式算出每个元素的地址: 数组元素a[i]的地址=数组首地址+i*数组元素的数据类型对应的字节数 了解了数组元素在内存中的存储形式,可以更好地掌握数组数据的存储规律,但在实际的程序设计中,程序设计人员是不知道数组的具体地址的。因此,C语言不允许使用正整数作为数组变量的地址。只能按照下述方法表示数组元素的地址: a[i]的地址可表示为:a[i]或a+i a的首地址可表示为:a[0]或a 5.1.3 一维数组的初始化 一维数组的初始化就是给一维数组赋初值,其实现形式是: 数据类型 数组名[数组长度]={值1,值2,值3……值n}; (1)完全赋初值。例如:int a[5]={1,2,3,4,5}; (2)部分赋初值。例如:int a[5]={1,2,3}; 数组a[5]只有前三个元素被赋予给定的初值,剩余的数组元素被初始化为0。 (3)不指定数组长度赋初值。例如:int a[]={1,2,3,4,5,6,7,8,9,10}; 数组也可以不指定初值个数,本例中系统根据提供的初值个数自动将该数组长度取为10。 (4)不赋初值。例如:static int a[5]; 5.
您可能关注的文档
- AutoCAD2008实例教程吕长恩目录幻灯片.ppt
- AutoCAD2008实训教程蔡伟美第10章节三维造型基础幻灯片.ppt
- AutoCAD2008实用教程教学课件作者张惠茹第2章节CAD课件幻灯片.ppt
- AutoCAD2008实用教程教学课件作者张惠茹第7章节CAD课件幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等75快速蒙版75快速蒙版幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等76认识通道76认识通道目录幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等76认识通道761通道面板幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等76认识通道762通道类型幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等77通道操作77通道操作目录幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等77通道操作771建通道幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等82图像色彩调整826黑白幻灯片.ppt
- AutoCAD2008使用教程孙海波姚港第十三章节三维实体造型基础幻灯片.ppt
- C语言程序设计教程张永第6章节幻灯片.ppt
- AutoCAD2012中文版应用教程教学课件作者刘瑞新第12章节三维实体的编辑与渲染课件幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等82图像色彩调整827替换颜色幻灯片.ppt
- C语言程序设计教程张永第7章节幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等82图像色彩调整828可选颜色幻灯片.ppt
- AutoCAD2010基础与实例教程郑贞平第1章节AutoCAD2010入门基础幻灯片.ppt
- C语言程序设计教程张永第8章节幻灯片.ppt
- Photoshop图像编辑与处理沈洪朱军等82图像色彩调整829通道混合器幻灯片.ppt
最近下载
- 人力资源管理课后答案德斯勒.docx
- 马克思主义新闻观十二讲之第九讲实现新闻传播权利与社会责任的统一.docx VIP
- 国际航运管理 全套课件.PPT VIP
- 财务共享服务教学课件4第四章 费用报销流程.pptx VIP
- 手术患者意外伤害预防.pptx VIP
- 2025年新人教版数学7年级上册整册同步教学课件.pptx
- 广告理论与实务:各类广告媒介PPT教学课件.pptx VIP
- 第1课 课题一《课外生活小调查·周末生活我采访》(教学设计)-2024-2025学年三年级上册综合实践活动浙教版.docx VIP
- 广告理论与实务:印刷媒体广告PPT教学课件.pptx VIP
- 铭记历史·开创未来--2025-2026学年高一上学期纪念抗日战争胜利80周年爱国主义教育主题班会.pptx VIP
文档评论(0)