37704-A0 C语言程序设计 苏小红10_第1页
37704-A0 C语言程序设计 苏小红10_第2页
37704-A0 C语言程序设计 苏小红10_第3页
37704-A0 C语言程序设计 苏小红10_第4页
37704-A0 C语言程序设计 苏小红10_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章字符串,哈尔滨工业大学计算机科学与技术学院苏小红sxh,本章学习内容,字符串常量字符串处理函数字符数组和字符指针向函数传递字符串从函数返回一个字符串指针,10.1字符串常量,10.2字符串的存储,C语言并没有为字符串提供任何专门的表示法,完全使用字符数组和字符指针来处理字符数组每个元素都是字符类型的数组charstr80;,数组的最后一个元素必须是0,字符数组的初始化,用字符型数据对数组进行初始化charstr6=C,h,i,n,a,0;用字符串常量直接对数组初始化charstr6=China;charstr6=China;,10.3字符指针,C语言并没有为字符串提供任何专门的表示法,完全使用字符数组和字符指针来处理,字符串是一串用双引号引起来的字符,字符数组就是每个元素都是字符型的数组,字符指针就是指向字符类型数据的指针,HelloChina,pStr,数组最后一个元素必须是0才表示字符串,10.3字符指针,定义和初始化方法不同,str=HelloChina;,HelloChina,pStr,charstr12=HelloChina;,char*pStr;pStr=HelloChina;,str,Why?,数组名str是地址常量,字符指针pStr是变量,10.3字符指针,定义和初始化方法不同,char*pStr=HelloChina;,HelloChina,pStr,charstr12=HelloChina;,char*pStr;pStr=HelloChina;,str,pStr=,按字符逐个输入/输出,for(i=0;stri!=0;i+)putchar(stri);putchar(n);,charstr10;,10.4字符串的访问和输入/输出,按字符串整体输入/输出,scanf(%s,str);printf(%s,str);,charstr10;,10.4字符串的访问和输入/输出,gets(str);puts(str);,scanf(%s,str);printf(%s,str);,charstr10;,10.4字符串的访问和输入/输出,gets(str);puts(str);,按字符串整体输入/输出,10.4字符串的访问和输入/输出,【例10.1】从键盘输入一个人名,把它显示在屏幕上,Why?,10.4字符串的访问和输入/输出,【例10.1】从键盘输入一个人名,把它显示在屏幕上,10.4字符串的访问和输入/输出,【例10.2】使用函数gets(),从键盘输入一个带有空格的人名,然后把它显示在屏幕上,10.4字符串的访问和输入/输出,【例10.2】使用函数gets(),从键盘输入一个带有空格的人名,然后把它显示在屏幕上,10.4字符串的访问和输入/输出,【例10.2】使用函数gets(),从键盘输入一个带有空格的人名,然后把它显示在屏幕上,10.4字符串的访问和输入/输出,【例10.3】从键盘输入一个带有空格的人名,然后在显示人名的前面显示Hello,Isaidto,10.4字符串的访问和输入/输出,【例10.3】从键盘输入一个带有空格的人名,然后在显示人名的前面显示Hello,Isaidto,10.5字符串处理函数,#include,strcpy(目的字符串,源字符串);,stringcopy,strlen(字符串);,stringlength,strcat(目的字符串,源字符串);,stringcombination,strcmp(字符串1,字符串2);,stringcomparison,计算字符串长度,#include,strlen(字符串);,stringlength,charstr10=China;printf(%d,strlen(str);打印结果是5、6,还是10?,计算字符串长度,#include,strlen(字符串);,stringlength,len=strlen(str);for(i=0;i、=比较大小?if(str2=str1),if(strcmp(str2,str1)=0),字符串比较,#include,strcmp(字符串1,字符串2);,stringcomparison,字符串是如何比较大小的?,comparecomputer,comparecomputer表示strcmp(str1,str2)0为真,【例10.4】按奥运会参赛国国名在字典中的顺序对其入场次序进行排序,【例10.4】按奥运会参赛国国名在字典中的顺序对其入场次序进行排序,10.5字符串处理函数,10.6向函数传递字符串,向函数传递字符串时,既可使用字符数组作函数参数,也可使用字符指针作函数参数传地址调用,例10.5:字符串复制用字符数组编程,voidMyStrcpy(chardstStr,charsrcStr)inti=0;while(srcStri!=0)dstStri=srcStri;i+;dstStri=0;,srcStri,dstStri,H,i=0,e,i=1,l,i=2,l,i=3,o,i=4,i=5,C,i=6,h,i=7,i,i=8,n,i=9,a,i=10,0,srcStri=0,voidMyStrcpy(char*dstStr,char*srcStr)while(*srcStr!=0)*dstStr=*srcStr;srcStr+;dstStr+;*dstStr=0;,例10.5:字符串复制用字符指针编程,*srcStr,*dstStr,H,e,l,l,o,C,h,i,n,a,0,*srcStr=0,srcStr+,dstStr+,例10.6:计算实际字符个数,unsignedintMyStrlen(constcharstr)inti;unsignedintlen=0;for(i=0;stri!=0;i+)len+;return(len);,unsignedintMyStrlen(constchar*pStr)unsignedintlen=0;for(;*pStr!=0;pStr+)len+;return(len);,方法2:用字符指针实现,方法1:用字符数组实现,统计实际字符个数(不含0),10.7从函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论