C语言程序设计 -王伟 第5章.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 数组 5.3.4字符串及其常用函数 3) 字符串比较函数strcmp( ) 调用格式为:strcmp(str1,str2 )。 函数中的参数可以是字符数组也可以是字符串。 strcmp( )函数的作用是比较两个字符串。 字符串的比较规则是将两个字符串的对应字符逐个进行比较(按ASCII码的大小比较),直到出现不同的字符或遇到’\0’为止。若所有对应的字符都相等,则认为两个字符串相等,否则,以第一个不相等的字符的比较结果作为整个字符串的比较结果。比较的结果由函数值带回。例如: strcmp (s1, s2); strcmp (Beijing, Shanghai); strcmp (s1, China); 5.3.4字符串及其常用函数 比较的结果由函数值带回。 (1) 如果str1等于str2,函数值为0。 (2) 如果str1大于str2,函数值为一个正整数(第一个不相同字符的ASCII码值之 差)。 (3) 如果str1小于str2,函数值为一个负整数。 请注意:比较两个字符串是否相等时,不能用关系运算符作比较,只能用strcmp( )函数。不能采用以下形式: if (str1= =str2) …… 而只能用 if (strcmp (str1, str2)= =0) ……; 5.3.4字符串及其常用函数 4)字符串连接函数:strcat() 调用格式:strcat (str1,str2)。 strcat()作用是将字符串str2连接到字符串str1后面,结果放在字符串str1中。 例如有如下程序段: char s1[14]= China ,s2[ ]= Beijing; strcat (s1, s2); printf (%s, s1); 输出结果为: China Beijing 需注意的是使用strcat函数时,str1应足够大,以便能容纳连接后的新字符串。 5.3.4字符串及其常用函数 5)字符串拷贝(复制)函数 调用格式:strcpy (str1,str2),strcpy (str1,str2,n) strcpy( )函数的作用是将字符串str2拷贝到str1中,也可以将str2中的前n个字符复制到数组str1中。 例如有下面程序段: char s1[8], s2[ ]= China;s3[8]; strcpy (s1, s2);/*全部复制*/ puts(s1); strcpy (s3, s2,2);/*只是将str2中前2个字符复制到str3中,最后加上字符串结束标志*/ puts(s1); 程序段的输出结果是: China ch 5.3.4字符串及其常用函数 使用时需注意: (1)str1的长度应大于或等于str2的长度,以便容纳被复制的字符串。 (2)str1必须写成数组名的形式,str2可以是数组名,也可以是一个字符串常量。 (3)执行strcpy函数后,str1中原来的内容将被str2的内容(或字符串)所代替。 6)字符串长度函数:strlen() 调用格式:strlen(str)。 strlen()函数的作用是取得字符串的长度,函数值为字符串的实际长度(即第一个‘\0’前面的字符个数)。 5.3.4字符串及其常用函数 例如: char s[10]= China; printf (%d, strlen (s)); 输出结果为: 5 实际长度不包括’\0’ 7)字符串小写函数:strlwr() 调用格式:strlwr (str)。 功能:将字符串中的大写字母转换成小写字母。 8)字符串大写函数:strupr() 调用格式:strupr (str)。 功能:将字符串中的小写字母转换成大写字母。 5.4 程序举例 例5.7 将一个数组中元素的值按逆序进行排列,如原来的顺序是1、 7、3、9、4,排列后变为4、9、3、7、1。 分析:这是一个数组元素进行位置交换的例题,首先要考虑交换次数,交换次数应该是数组中所有元素的个数的一半。本例中共有5个数,需要交换5/2次。元素之间的交换不能直接赋值,而要通过中间变量,如本例中的变量t。 #include stdio.h main() { int i,t,a[5]={1,7,3,9,5}; for(i=0;i5;i++) printf(%d ,a[i]); printf(\n); for(i=0;i5/2;i++) { t=a[i]; a[i]=a[4-i]; a[4-i]=t; } for(i=0;i5;i++)

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档