东方一诺计算机二级C语言第10章字符串.ppt_第1页
东方一诺计算机二级C语言第10章字符串.ppt_第2页
东方一诺计算机二级C语言第10章字符串.ppt_第3页
东方一诺计算机二级C语言第10章字符串.ppt_第4页
东方一诺计算机二级C语言第10章字符串.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

第十章 字符串,字符数组和字符串 字符串处理函数 指针与字符串,10.1 字符数组和字符串 字符数组 定义,字符数组的初始化 逐个字符赋值 用字符串常量 字符数组的引用,例 char c10, ch34;,0表示空字符,字符串 字符串及其结束标志 无字符串变量,用字符数组处理字符串 字符串结束标志:0,例 char str=“Hello”;,字符串的输入输出 逐个字符输入/输出: %c 整个字符串输入/输出: %s,例 用%c main() char a5; int i; for(i=0;i5;i+) scanf(“%c”, ,例 用%s main() char a5; scanf(“%s”, a); printf(“%s”, a); ,输入时对应地址 遇空格或回车结束 自动加0 输入串长度数组维数,输出时也要对应地址 ! 遇0结束,例 main( ) char a5=H,e,l,l,o; printf(“%s”,a); ,例 main( ) char a =“Hello”; printf(“%s”,a); ,结果:Hello#-=*,结果:Hello,注:用“%s”输出时,遇0结束,main() char a=h,e,l,0,l,o,0; printf(“%s“,a); ,例,输出:hel,注:数组中有多个0时,遇第一个结束,main() int i; char a5; scanf(“%s“,a); printf(“%s“,a); ,运行情况: (1)若输入 hel , 正常 (2)若输入 hell , 正常 (3)若输入 hello , 用%s 输入时,会出现问题,注:输入字符串长度数组维数,例 字符串输入举例,#include main() char a15; scanf(“%s“,a); printf(“a=%sn“,a); ,运行情况: 输入:How are you? 输出:,注:scanf中%s输入时,遇空格或回车结束,常用的字符串处理函数 输入输出函数包含在头文件 stdio.h 其他包含在 string.h,字符串输出函数puts 格式:puts(字符数组) 功能:向显示器输出字符串(输出完,换行) 说明:字符数组必须以0结束,字符串输入函数gets 格式:gets(字符数组) 功能:从键盘输入一以回车结束的字符串放入字符数组中, 并自动加0 说明:输入串长度应小于字符数组维数,例 #include main( ) char string80; gets(string); puts(string); 输入: How are you? 输出: How are you ?,字符串连接函数strcat 格式:strcat(字符数组1,字符数组2) 功能:把字符数组2连到字符数组1后面 返值:返回字符数组1的首地址 说明:字符数组1必须足够大 连接前,两串均以0结束;连接后,串1的0取消, 新串最后加0,字符串拷贝函数strcpy 格式:strcpy(字符数组1,字符串2) 功能:将字符串2,拷贝到字符数组1中去 返值:返回字符数组1的首地址 说明:字符数组1必须足够大 拷贝时0一同拷贝 不能使用赋值语句为一个字符数组赋值,例 strcpy与strcat举例,#include #include void main() char d25; char b = “ “, c= “C+“, t = “Turbo“; strcpy(d, t); strcat(d, b); strcat(d, c); printf(“%sn“, d); ,字符串比较函数strcmp 格式:strcmp(字符串1,字符串2) 功能:比较两个字符串 比较规则:对两串从左向右逐个字符比较(ASCII码), 直到遇到不同字符或0为止 返值:返回int型整数,a. 若字符串1 字符串2, 返回正整数 c. 若字符串1= 字符串2, 返回零 说明:字符串比较不能用“=”,必须用strcmp,字符串长度函数strlen 格式:strlen(字符数组) 功能:计算字符串长度 返值:返回字符串实际长度,不包括0在内,例 对于以下字符串,strlen(s)的值为: (1)char s10=A,0,B,C,0,D; (2)char s =“tv0willn”; (3)char s =“x69082n”;,答案:1 3 1,10.2 指针与字符串 字符串表示形式 用字符数组实现,例 main( ) char string=“I love China!”; printf(“%sn”,string); ,用字符指针实现,例 main( ) char *string=“I love China!”; while(*string) putchar(*string); string+; ,字符指针初始化:把字符串首地址赋给string char *string; string=“I love China!”;,字符指针变量与字符数组 char *cp; 与 char str20; str由若干元素组成的数组,每个元素放一个字符; cp是一个指针变量,存放字符串首地址 str是地址常量;cp是地址变量 cp接受键入字符串时,必须先开辟存储空间,而 char *cp; scanf(“%s”, cp);,例 char str10; scanf(“%s”,str);,char *cp,str10; cp=str; scanf(“%s”,cp);,例 int a10; float f2=1.2 ,2.2;,例 int a5; a=2,4,6,8,10;,例 int a10; float i=3; ai=10;,例 char name0; float weight10.3; int array-100;,char str=“Hello!”; char str=“Hello!”; char str=H,e,l,l,o,!; char *cp=“Hello”; int a=1,2,3,4,5; int *p=1,2,3,4,5;,char

温馨提示

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

评论

0/150

提交评论