第15讲 数组(3)

上传人:无*** 文档编号:244370211 上传时间:2024-10-04 格式:PPT 页数:28 大小:416.50KB
返回 下载 相关 举报
第15讲 数组(3)_第1页
第1页 / 共28页
第15讲 数组(3)_第2页
第2页 / 共28页
第15讲 数组(3)_第3页
第3页 / 共28页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,/,*,第十五讲 数组(,3,),赵欢欢,计算机与信息工程学院,/,学习目标,理解字符数组与字符串的定义,能够灵活使用字符数组,/,例,7-9,输入一个以回车结束的字符串,(,少于,10,个字符,),,它由数字字符组成,将该字符串转换成整数后输出。,7.3.1,程序解析,7.3.2,一维字符数组,7.3.3,字符串,7.3,进制转换,/,7.3.1,程序解析,#include,int,main(void,),int,i,n;,char s10;,printf(Enter,a string:);,/*,输入字符串,*,/,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);,else,break;,printf(digit,=%dn,n);,return 0;,Enter a string:,123,digit=123,/,7.3.2,一维字符数组,字符串的存储和运算可以用一维字符数组实现,一维字符数组的定义、引用、初始化与其他类型的一维数组一样。,char str80;,定义一个含有,80,个字符型元素的数组,str,char t5=H,a,p,p,y;,初始化数组,t,t0 t1 t4,t,H a p p y,输出数组,t,的所有元素,for(i=0;i,对字符数组的操作,/,1.,字符串的存储数组初始化,字符串可以存放在一维字符数组中,static char s6=H,a,p,p,y,0,;,字符数组初始化:用字符串常量,static char s6=Happy;,static char s6=Happy;,数组长度,=,字符串的有效长度,+1,char t5;Happy,能存入,t,吗,?,s0 s1 s5,s,H a p p y 0,/,字符数组的初始化,字符数组初始化的方法,逐个字符赋值给各元素,用字符串常量赋初值,举例,char s=T,E,S,T,0;,char s=TEST;,char s=TEST;,char s6=China,Anhui,Hefei,USTC;,/,字符串的存储,auto char s80=Happy;,字符串遇,0,结束,第一个,0,前面的所有字符和,0,一起构成了字符串,Happy”,0,之后的其他数组元素与该字符串无关,s0 s1 s5,s,H a p p y,0,?,?,字符串由有效字符和字符串结束符,0,组成,/,字符串结束标志,字符串结束标志,0,以,0,作为判断字符串结束的唯一标志,与存放字符串的字符数组的长度无关,所有字符串操作都以,0,作为结束条件,如果对字符数组每个元素分别赋值,并作为字符串使用,必须在最后手工添加,0,系统在字符串常量后自动添加,0,举例,char s=U,S,T,C,0;,/,2.,对字符串的操作,把字符串放入一维字符数组(存储),对字符串的操作,=,对字符数组的操作,普通字符数组:数组元素的个数是确定的,一般用下标控制循环,字符串:没有显式地给出有效字符的个数,只规定在字符串结束符,0,之前的字符都是字符串的有效字符,一般用结束符,0,来控制循环,循环条件:,si!=0,/,计算字符串的有效长度,并输出该字符串。,字符串的有效长度,:,有效字符的个数,数组中第一个,0,前面的字符个数,例,6-10,计算字符串的有效长度,s0 s1 s5,s,H a p p y,0,?,?,/,#include,int,main(void,),int,i=0,len,;,char str80=Happy;/*,初始化,*,/,for(i=0;,stri,!=0,;i+),;,len,=i;,printf(len,=%dn,len,);,for(i=0;,stri,!=0,;i+)/*,输出字符串,*,/,putchar(stri,);,return 0;,例,7-10,源程序,s0 s1 s5,s,H a p p y,0,?,循环条件,len,=5,Happy,/,for(i=0;,si!=0,;i+),putchar(si,);,for(i=0;i 80;i+),putchar(si,);,for(i=0;i,对字符数组的操作,存储,数组初始化,static char s6=Hello;,赋值,s0=a;s1=0;,或者,static char s6=a;,a 2,个字符,a,和,0,a 1,个字符常量,区分,a,和,a,/,字符串的输入,字符串的存储,字符数组初始化:,static char s6=Happy;,赋值:,s0=a;s1=0;,输入,0,代表空操作,无法输入,输入时,设定一个,输入结束符,将输入结束符转换为字符串结束符,0,/,输入一个以回车结束的字符串,(,少于,80,个字符,),,统计其中数字字符的个数。,分析:,数组长度取上限,80,以,n,做为输入结束符,例,7-11,统计字符,/,#include,int,main(void,),int,count,i;,char str80;,printf(Enter,a string:);,i=0;,while,(stri,=,getchar,()!=n),i+;,stri,=0;,/*,输入结束符,字符串结束符,*,/,count=0;,for(i=0;,stri,!=0;,i+),if(stri,=0),count+;,printf(count,=%dn,count);,return 0;,例,7-11,源程序,字符串的输入,Enter a string:,Its 512?,count=3,如何改变输入结束符,?,能省略,stri,=0,吗?,0 1 2 3 4 5 6 7 8,s,I t s 5 1 2,0,?,/,例,7-9,进制转换,#include,int,main(void,),int,i,n;char s10;,printf(Enter,a string:);/*,输入字符串,*,/,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);,else,break;,printf(digit,=%dn,n);,return 0;,Enter a string:,123,digit=123,0 1 2 3,s,1 2 3,0,?,/,进制转换方法,n=0;,for(i=0;,si!=0,;i+),if(si=0),n=n*10+(si-0),;,else,break;,0 1 2 3,s,1 2 3,0,?,i si si-0 n=n*10+(si-0),0 1 1 0*10+1=1,1 2 2 1*10+2 =12,2 3 3 12*10+3 =123,3 0,Enter a string:,1#2#3,digit=,/,字符串:一个特殊的一维字符数组,0,把字符串放入一维字符数组(存储),数组长度足够,字符数组初始化:,static char s80=Happy;,赋值:,s0=a;s1=0;,输入:,输入结束符,=,字符串结束符,0,i=0;,while(si=,getchar,()!=n),i+;,si=0;,s0 s1 s5,s,H a p p y,0,?,/,把字符串放入一维字符数组(存储),对字符串的操作,=,对字符数组的操作,只针对字符串的有效字符和字符串结束符,0,检测,for(i=0;,si!=0,;i+),putchar(si,);,s0 s1 s5,s,H a p p y,0,?,/,字符串处理函数,函数原型,说明,puts(str,),输出字符串,输出到,0,为止并换行,gets(str,),输入字符串,可输入空白字符,回车结束,strcat(s1,s2),字符串连接,,s1,应留有总够的空间,strcpy(s1,s2),字符串复制,,s1,应留有总够的空间,strcmp(s1,s2),字符串比较,依次按,ASCII,码比较,strlen(str,),字符串长度,不包括结束标志,0,strlwr(str,),字符串小写,不是标准库函数,strupr(str,),字符串大写,不是标准库函数,字符串处理函数的原型,均在头文件,string.h,中,/,作业,习题,7,:,6,、,7,实验,实验指导书:实验,7.3,/,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!