学c必看之 字符串.pptx

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学c必看之 字符串

字符串;§8.1 字符串的概念;字符串的存储方法 C语言中,程序中的字符串使用双引号“”作定界符,以字符 \0 为结束标识,字符 \0 并不显式地出现在字符串中 字符串在内存中占据相邻的存储单元,字符串的首地址是该字符串的第一个字符的地址,其他字符按顺序依次存放在第一个字符的后边,最后是字符串的结束标识 ‘\0’;§8.2 字符数组;求字符串的长度;字符串的输入和输出 C语言专门为字符串的输入输出定义了一系列库函数,常见的有scanf和printf、gets和puts等 scanf函数 使用scanf函数输入字符串的一般格式为: scanf(%s, 字符数组) 其中,%s为字符串描述符,与之对应的输入项是字符数组的首地址 char x[10]; scanf(%s, x) ;不同于输入其它类型的数据,作为输入参数的数组名x的前面不能再有取地址运算符“” scanf函数使用空白(空格、制表符、回车符等)作为输入数据的分隔符,所以只能获取“单词” char a[10], b[10], c[10]; scanf(%s%s%s, a, b, c); 思考:输入的字符数多于数组长度,会有什么结果?;printf函数 printf函数的用法与scanf函数类似,输出参数可以是字符串常量,一般格式为: printf(%s, 字符数组名或字符串常量) char x[10]=Hi, all.\n; printf(%s, x); printf(%s, Hello.\n);;若从键盘输入的字符只有字母和空格,最后输入的是一个空格和字符“#”,试统计一共输入了几个单词(不包含字符“#”);gets函数和puts函数 使用gets函数可输入一句话(包含空格、制表符),其语法为: gets( 字符数组 ) 字符数组中是字符串(含\0元素),忽略回车符 char s[100]; gets(s); 若输入是(“_”为空格): _ _Im_a_sport_ 则s的内容为 _ _Im_a_sport_ 使用puts函数输出字符串,会在结束时自动换行,其语法为: puts( 字符数组或字符串常量 );输入一句话,统计字母的个数;sprintf函数的使用;截取并输出任意字符串的前n个字符;输入一个字符串,然后把其中的大写字母转化为小写字母,输出转化后的字符串;字符串数组 程序要处理的字符串通常不止一个,例如,某班同学的姓名,某本书的词汇表,某文档中的语句行等等 字符串数组是存放了若干字符串的字符数组,是一个二维数组,每个字符串占一行,字符串的个数对应数组的行数 字符串数组的定义为: char 数组名[字符串个数][字符串长度] 要引用字符串数组中的字符串,可使用行地址 第i个字符串的地址为:数组名[i];某班有10名同学参加考试,求成绩最高的学生的姓名;§8.3 字符串处理函数;复制与连接 strcpy和strncpy函数 两个函数的一般形式是: strcpy(字符数组1, 字符串2) strncpy(字符数组1, 字符串2, 整数n ) strcpy函数的功能是将“字符串2”对应的字符串全部复制到“字符数组1”中,结果两个字符串相同。而strncpy函数最多复制前n个字符 “字符数组1”的长度必须足够容纳复制后的字符串 “字符串2”可以是存放了字符串的字符数组,也可以是字符串常量,或者指向字符串的指针; char a[10], b[]=China; strcpy( a, b);;交换两个字符串;strcat和strncat函数 两个函数的一般形式为: strcat(字符数组1,字符串2) strncat(字符数组1,字符串2,整数n) strcat函数将“字符串2”附加在“字符数组1”中的字符串的后边,也就是把两个字符串连接起来再存入“字符数组1” 。而strncat函数仅把“字符串2”的前n个字符连接到“字符数组1”的字符串后边 char a[80]=Im a , b[]=student, c[]=sport from China; strcat(a, b)后a的内容为Im a student strncat(a, c, 5)后a的内容为Im a sport “字符数组1”中的字符串结束符在连接“字符串2”后将被丢弃;比较大小 字符串的大小由字符串中的字符的编码决定 对于任意两个字符串,从它们的第一个字符开始比较,若相同,则继续比较下一个字符,直到出现不同的字符或者遇到了结束符。若存在不同的字符,则编码较大的字符所在的字符串较大。如果同时遇到结束符,则两个字符串相等 ABC小于AbC ABC大于AB 123等于\x31\x32\x33 关系运算符不能用来比较

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档