C语言简明教程 第二版 高职计算机大类专业 李忠儒 郭晓利第6章 数组与字符串.pptVIP

C语言简明教程 第二版 高职计算机大类专业 李忠儒 郭晓利第6章 数组与字符串.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上一页 下一页 返 回 ④ 可以用strcpy函数将字符串2中前面若干个字符复制到字符数组中去。例如: strcpy(str1,str2,2); 作用是将str2中前面2个字符复制到str1中去,然后再加一个\0。 5.字符串连接函数strcat( ) (1)调用方式:strcat(字符数组名1,字符串2); (2)函数功能:把“字符串2(包括结束标志) ”连接到“字符数组1”中的字符串尾端,并存储于“字符数组1”中。“字符数组1”中原来的结束标志’\0’,被“字符串”的第一个字符覆盖,而“字符串2”在操作中未被修改。例如, char str1[15]=How do you ; char str2[ ]=do?; printf(%s,strcat(str1,str2)); 输出结果为: How do you do? 上一页 下一页 返 回 (3)使用说明 由于没有边界检查,编程者要注意保证“字符数组1”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。本例中定义str1的长度为15,是足够大的,如果在定义时改用: str1[ ]={How do you}; 就会因数组长度不够而出现问题。 6.求字符串长度函数strlen( ) (1)调用方式:strlen(字符串); (2)函数功能:求字符串(字符串常量或字符数组)的实际长度(不包含结束标志)。例如: 有定义char str[10]=hello; 则printf(%d,strlen(str));或printf(%d,strlen(hello));的值是5,而不是6。 上一页 下一页 返 回 【例6.7】 从键盘输入两个字符串,分别求出这两个串的长度,对这两个串进行连接,再求出连接后得到的串的长度,分别输出这三个串及其长度。 【编程思路】 (1)用#include 包含stdio.h、string.h两个头文件。 (2)定义三个字符数组,用来存放两个源串,一个目的串。 (3)输入两个源串,通过字符串拷贝函数和字符串连接函数求出目的串。 (4)输出三个串及串长度。 【程序代码】 #include stdio.h #include string.h main() { char str1[30],str2[10],str3[30]; 6.3.4 字符数组应用举例 上一页 下一页 返 回 printf(请输入第一个串:); gets(str1); printf(请输入第二个串:); gets(str2); strcpy(str3,str1); strcat(str3,str2); puts(str1);printf(长度为:%d\n,strlen(str1)); puts(str2);printf(长度为:%d\n,strlen(str2)); puts(str3);printf(长度为:%d\n,strlen(str3)); } 运行时,第一个串输入“this is ”(最后有一个空格),第二个串输入“a book”,则运行结果如下: 上一页 下一页 返 回 【例6.8】 编写函数统计输入的一行字符中单词的个数,单词之间用空格隔开。 【编程思路】 (1)定义一个一维字符型数组,用来存放一行字符串。定义一个表示元素值状态的变量state初值为0,表示当前元素为空格,定义一个用来统计单词数量的累加器变量sum,并赋初值为0。 (2)用gets函数输入一行字符。 (3)用当型循环求解此题,循环条件是每一个元素的值不为结束符‘\0’。当前面的一个元素的状态为0,当前元素为非空格时表示一个新的单词开始了,用来存放单词数量的累加器加1,若前面的单词的状态为1(非空格),当前的元素为非结束符,则累加器不加1。 【程序代码】 #include stdio.h main() { char c[81]; int i=0,sum=0,state=0; gets(c); 上一页 下一页 返 回 while(c[i]!=0) {if(c[i]= = ) state=0; else if(state= =0) {state=1; num++; } i++; } printf(输入行共有%d个单词\n,sum); } 程序运行时,输入“I am a boy”时,运行结果如下: 6.4 数组应用举例 【例6.9】 从键盘上任意输入10个整数,要求用冒泡法按由小到大的顺序进行排序,并输出排序结果。 上一页 下一页 返 回 【编程思路】 通过相邻两个数之间的比较和交换,使排序码(数值)较小的数逐渐从底部移向顶部,排序码较大的数逐渐从顶部移向底部。就像水底的气泡一样逐渐向上冒,由此得名。由a[0]~a[n-1]组

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档