已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chap7数组(3),字符数组要求,掌握字符数组定义、初始化字符串结束标志0字符数组的输入、输出字符串的连接、复制,7.3.2一维字符数组,字符串的存储和运算可以用一维字符数组实现一维字符数组的定义、引用、初始化与其他类型的一维数组一样。charstr80;定义一个含有80个字符型元素的数组strchart5=H,a,p,p,y;初始化数组t,输出数组t的所有元素for(i=0;i对字符数组的操作,1.字符串的存储数组初始化,字符串可以存放在一维字符数组中staticchars6=H,a,p,p,y,0;字符数组初始化:用字符串常量staticchars6=Happy;staticchars6=Happy;数组长度=字符串的有效长度+1,1.字符串的存储数组初始化,将一个字符串赋值给一个字符数组,只能用在赋初值的情况下,不能用在赋值语句中.例如:charstr11;str=“Iamhappy”;,字符串的存储,autochars80=Happy;字符串遇0结束第一个0前面的所有字符和0一起构成了字符串Happy”0之后的其他数组元素与该字符串无关,字符串由有效字符和字符串结束符0组成,课堂练习,3字符串ABC在内存占用的字节数是()A.3B.4C.6D.8,4字符型常量在内存中存放的是()A.ASCII代码值B.二进制代码值C.八进制代码值D.十进制代码值,例子,2.对字符串的操作,把字符串放入一维字符数组(存储)对字符串的操作=对字符数组的操作普通字符数组:数组元素的个数是确定的,一般用下标控制循环字符串:没有显式地给出有效字符的个数,只规定在字符串结束符0之前的字符都是字符串的有效字符,一般用结束符0来控制循环循环条件:si!=0,计算字符串的有效长度,并输出该字符串。字符串的有效长度:有效字符的个数数组中第一个0前面的字符个数,例7-10计算字符串的有效长度,#includeintmain(void)inti=0,len;charstr80=Happy;/*初始化*/for(i=0;stri!=0;i+);len=i;printf(len=%dn,len);for(i=0;stri!=0;i+)/*输出字符串*/putchar(stri);return0;,例7-10源程序,循环条件,len=5Happy,for(i=0;si!=0;i+)putchar(si);for(i=0;i字符串结束符*/count=0;for(i=0;stri!=0;i+)if(stri=0)count+;printf(count=%dn,count);return0;,例7-11源程序,Enterastring:Its512count=3,如何改变输入结束符?,能省略stri=0吗?,例7-9进制转换,#includeintmain(void)inti,n;chars10;printf(“Enterastring:);/*输入字符串*/i=0;while(si=getchar()!=n)i+;si=0;n=0;/*将字符串转换为整数*/for(i=0;si!=0;i+)if(si=0)n=n*10+(si-0);elsebreak;printf(digit=%dn,n);return0;,Enterastring:123digit=123,进制转换方法,n=0;for(i=0;si!=0;i+)if(si=0)n=n*10+(si-0);elsebreak;,isisi-0n=n*10+(si-0)0110*10+1=11221*10+2=1223312*10+3=12330,Enterastring:1#2#3digit=,字符串小结,字符串:一个特殊的一维字符数组0把字符串放入一维字符数组(存储)数组长度足够字符数组初始化:staticchars80=Happy;赋值:s0=a;s1=0;输入:输入结束符=字符串结束符0i=0;while(si=getchar()!=n)i+;si=0;,把字符串放入一维字符数组(存储)对字符串的操作=对字符数组的操作只针对字符串的有效字符和字符串结束符0检测for(i=0;si!=0;i+)putchar(si);,包含在头文件string.h,字符串输出函数puts格式:puts(字符数组)功能:向显示器输出字符串(输出完,换行)说明:字符数组必须以0结束,字符串输入函数gets格式:gets(字符数组)功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加0说明:输入串长度应小于字符数组维数,例#includemain()charstring80;printf(“Inputastring:”);gets(string);puts(string);输入:Howareyou?输出:Howareyou?,常用的字符串处理函数(1),scanf(“%s”,str);gets(str);区别是scanf取不到空格,字符串连接函数strcat格式:strcat(字符数组1,字符数组2)功能:把字符数组2连到字符数组1后面返值:返回字符数组1的首地址说明:字符数组1必须足够大连接前,两串均以0结束;连接后,串1的0取消,新串最后加0,字符串拷贝函数strcpy格式:strcpy(字符数组1,字符串2)功能:将字符串2,拷贝到字符数组1中去返值:返回字符数组1的首地址说明:字符数组1必须足够大拷贝时0一同拷贝不能使用赋值语句为一个字符数组赋值,例charstr120,str220;str1=“Hello!”;()strcpy(str1,“Hello!”);()str2=str1;()strcpy(str2,str1);(),常用的字符串处理函数(2),字符串比较函数strcmp格式:strcmp(字符串1,字符串2)功能:比较两个字符串比较规则:自左向右逐个字符比较(按ASCII码大小比较),直到遇到不同字符或0为止返值:返回int型整数,a.若字符串1字符串2,返回正整数c.若字符串1=字符串2,返回零说明:字符串比较不能用“=”,必须用strcmp,字符串长度函数strlen格式:strlen(字符数组)功能:计算字符串长度返值:返回字符串实际长度,不包括0在内,例对于以下字符串,strlen(s)的值为:(1)chars10=A,0,B,C,0,D;(2)chars=tv0willn;(3)chars=x69082n;,答案:131,常用的字符串处理函数(3),Howareyou?Hello!Len1=6,Len2=12,Len3=18,例strcmp与strlen举例将小的字符串连接到大的字符串的后面,字符串字母转换函数strlwr格式:strlwr(字符数组)功能:把
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德阳初一考试题型及答案
- 高压阀体项目可行性研究报告参考模板
- 鹤壁电机项目可行性研究报告
- 员工工作技巧培训
- 广西中考物理5年(2021-2025)真题分类汇编:专题03 光现象(原卷版)
- 2025年高级经济师之工商管理题库练习试卷B卷附答案
- 2025年心理咨询师之心理咨询师二级技能每日一练试卷B卷含答案
- 无煤协议书 中国
- 温室大棚分红协议书
- 代销协议书怎么写
- 2025年直招军官面试题型及答案
- GB/T 5699-2025采光测量方法
- 《中国金融学》课件 第14章 金融发展与金融“五篇大文章”-课件
- 废旧轮胎回收利用综合汇报
- 2026步步高六册同步物理必修3-第十二章 3 第2课时 伏阻法和安阻法测电池的电动势和内阻
- 全国大学生职业规划大赛《土木工程》专业生涯发展展示
- 全民守法+说课课件-2024-2025学年高中政治统编版必修三政治与法治
- 2025年高考化学试卷真题完全解读(陕晋宁青卷)
- 舞蹈老师职业介绍
- 心理健康教育自我成长报告
- 附件:佛山市房屋市政工程生产安全重大事故隐患排查、判定、治理、处罚工作指引
评论
0/150
提交评论