




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 停车起步考试题目及答案
- 田径铅球理论考试题及答案
- 广东省东莞市松山湖莞美学校2024-2025学年上学期七年级数学期末教学质量检测(含答案)
- 2025年公需科目题目及答案
- 2025年公需科目考试试题与答案(保密意识与保密常识教育)
- 2025年公共营养师职业资格考试试题及答案
- 2025年高压电工复审考试练习题模拟题库及解析答案
- 2025年高校学生应征入伍板块题库+答案
- 2025年高级电工证考试题库及答案
- 高三题库及答案安徽
- 医院护理培训课件:《妊娠期急性胃肠炎护理查房》
- 食品欺诈和预防知识专题培训课件
- 锅炉专业培训教材全集
- 国家职业资格-中级维修电工试题2(含答案)
- 旅客运输心理学PPT完整全套教学课件
- 老年合理用药课件
- 消失模白区岗位操作规程
- 2023学年完整公开课版金瓯永固杯
- 初高中语文语法知识衔接课-短语句子
- 再生障碍性贫血诊疗和治疗我国专家共识
- 弹性变形体静力分析基础优质获奖课件
评论
0/150
提交评论