串和基本概念.ppt_第1页
串和基本概念.ppt_第2页
串和基本概念.ppt_第3页
串和基本概念.ppt_第4页
串和基本概念.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、2007.9,第四章 串,String,一、串和基本概念,串(String)是零个或多个字符组成的有限序列。 一般记作S=“a1a2a3an” 空串:长度为零的串,它不包含任何字符。,串的基本操作,对于串的基本操作,许多高级语言均提供了相应的运算或标准库函数来实现。下面仅介绍几种在C语言中常用的串运算,其它的串操作见的文件。 1.求串长(strlen) 2.串复制(strcpy) char *strcpy(char to,char from); 该函数将串from复制到串to中,并且返回一个指向串to的开始处的指针。 3.联接(strcat) char strcat(char to,char

2、from) 该函数将串from复制到串to的末尾,并且返回一个指向串to的开始处的指针。 4.串比较(strcmp) int strcmp(chars1,char s2); 该函数比较串s1和串s2的大小,当返回值小于0,等于0或大于0时分别表示s1s2,串的存储结构,1.顺序串 顺序串上的插入和删除操作不方便,需要移动大量的字符。 2.链串 可用单链表方式来存储串值 typedef struct node char data; struct node *next; lstring; 一个链串由头指针唯一确定。 这种结构便于进行插入和删除运算,但存储空间利用率太低。,2002试题二 函数21说

3、明,函数strcat(char*si,char*s2)是将字符串s2连接在字符串,s1之后,构成一个首指针为s1的字符串。 函数21) void strcat(char *sl,char *s2) while(*s1!=0) ; (1) : for( ; (2) ;s1+,s2+); ,1999试题一 ,函数strcpy(char *to,char *from)将字符串from复制到字符串to. void strcpy(char *to, char *from) while (_(1)_);,2001 试题一 函数1.1说明,函数strcmp()是比较两个字符串 s 和 t 的大小。若 s t

4、,函数返回正数。 int strcmp(char *s,char *t) while ( *s ,2003函数2.1说明,函数char *strrchr(char*s,char ch)的功能是在字符串s中寻找字符ch若ch出现在字符串s中,则返回最后一次出现时的位置,否则返回NULL。 函数2.1 char *strrchr(char *s,char ch) char*p; p = _(1)_;/*p指向字符串s的结束标志*/ while( -p = s) if(_(2)_) return p; return NULL; ,2005-1函数2.2说明,函数long fun2(char*str)

5、的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。例如,若字符串str的值为“f3g8d5.ji2e3p12fkp”,则函数返回值为3852312。函数2.2long fun2(char *str) int i=0; long k=0; char *p=str ;while (*p != /0& _(3)_ ) if(*p ?=0& *p ?=9) k=_(4)_+*p-0; +i; _(5)_; Return k; ,2004-1函数2.1说明,函数palindrome(chars)的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一

6、个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。函数2.1int palindrome(char S) char*pi,*pj;piS;pjs+strlen(S)-1:while ( pipj & _(1)_)pi+; pj-;if(_ (2)_)return-1;else return 0;,2004-1函数2.2说明,函数f(char *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如若str的值为“33123333435”,del的值为3,调用此函数后,将输出三个

7、子字符串,分别为“12”、“4”和“5”。函数2.2void f(char*str,char del) int i,j,len;len = strlen(str); i = 0;while(ilen)while(_(3)_)i+;/*忽略连续的标志字符*/ /*寻找从stri开始直到标志字符出现的一个子字符串*/j = i + 1; while (stri !=del & strj !=0) j+; _ (4)_“0”;/*给找到的字符序列置字符串结束标志*/ printf(“ %st”,&stri): _ (5)_;,2005-2 字符串computer 中长度为3的子串有_(32)_ 个。 (32)A4 B5 C6 D7 2004-2 字符串是一种线性表,其特殊性表现在_(37)_ (37)A.它的数据元素是一个字符 B.它可以链式存储C.它可以顺序存储 D.它的数据元素可以是多个字符 2004-1 以下关于字符串的判定语句中正确的是_(7)_。 (7)A字符串是一种特殊的线性

温馨提示

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

评论

0/150

提交评论