- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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++)
您可能关注的文档
最近下载
- 《信用管理》模拟试题及参考答案(2套).pdf
- 2024年03月西南民族大学2024年公开招聘教师笔试笔试历年典型考题及考点研判与答案解析.docx
- YY_T 0003-2023 手动病床标准.pdf
- 人教版七年级英语上册期末总复习语法知识点专项练习100题( 含答案).pdf
- 精品解析:2020-2021学年浙江省金华市义乌市教科版五年级上册期中考试科学试卷(原卷版).docx VIP
- 优秀销售培训ppt课件.pptx
- DB44∕T 857-2011 新建房屋白蚁预防技术规程(广东省).pdf
- ChatGPT+MindShow 三分钟搞定PPT制作.pdf VIP
- 分块式定子焊线机.pdf VIP
- 2021年必威体育精装版四川省拟任县处级党政领导职务政治理论水平任职资格考试第八套试题.doc VIP
文档评论(0)