清华谭浩强C语言课件.第7章数组幻灯片.pptVIP

清华谭浩强C语言课件.第7章数组幻灯片.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文档。上传文档
查看更多
2、gets()函数:输入字符串到数组。 例: static char str[12]; gets(str); 注意:gets()、puts()一次只能输入输出一个字符串。而scanf()、printf()可以输入输出几个字符串。 3、strcat():连接字符串。 strcat(字符串1,字符串2); 功能:把“字符串2”连接到“字符串1”的后面。从str1原来的’\0’(字符串结束标志)处开始连接。 注意: 字符串1一般为字符数组,要有足够的空间,以确保连接字符串后不越界; 字符串2可以是字符数组名,字符串常量或指向字符串的字符指针(地址)。 (p147)例题 ?4、strcpy():字符串拷贝。 strcpy(字符串1,字符串2); 功能:将“字符串2”为首地址的字符串复制到“字符串1”为首地址的字符数组中。即把“字符串2”的值拷贝到“字符串1”中。 例如: static char str1[10],str2[ ]={“china”}; strcpy(str1,str2); 执行后str1的状态为: C h i n a \0 \0 \0 \0 \0 注意: str1-一般为字符数组,要有足够的空间,以确保复制字符串后不越界; str2-可以是字符数组名,字符串常量或指向字符串的字符指针(地址)。 字符串(字符数组)之间不能赋值,但是通过此函数,可以间接达到赋值的效果。 5、strcmp():字符串比较。 int strcmp(字符串1,字符串2); 比较“字符串1”、“字符串2”, 例: strcmp(str1,str2); strcmp(China, Korea); strcmp(str1, Beijing); 比较规则:逐个字符比较ASCII码,直到遇到不同字符或‘\0’,比较结果是该函数的返回值。 字符串1 字符串2, strcmp()返回值0 字符串1 == 字符串2, strcmp()返回值==0 字符串2 字符串2, strcmp()返回值0 长度不同的字符串也可以进行比较,比较结果当然是“不同”。 长度不同的字符串也可以进行比较,比较结果当然是“不同”。 注意:字符串只能用strcmp函数比较,不能用关系运算符“==”比较。 例:if (strcmp(str1,str2)== 0) printf(yes); if (str1 == str2) printf(yes); 6、求字符串的长度函数strlen(str) 功能:统计str为起始地址的字符串的长度(不包括“字符串结束标志”),并将其作为函数值返回。 注意:在调用字符串处理函数时,在程序前面应设置一个相关的文件包含预处理命令,即#include string.h 7.3.4 字符数组应用举例 [例7.8] 输入一行字符,统计其中有多少个单词(单词间以空格分隔)。 比如,输入“?? I am a ???boy.,有4个单词。 算法:单词的数目由空格出现的次数决定(连续出现的空格记为出现一次;一行开头的空格不算。)。应逐个检测每一个字符是否为空格。 用num表示单词数(初值为0)。word=0表示前一字符为空格,word=1表示前一字符不是空格,word初值为0。如果前一字符是空格,当前字符不是空格,说明出现新单词,num加1。 框图如下: 程序: #include stdio.h /* gets()函数在该头文件定义 */ main() {? char string[81] ; ?int i, num = 0, word = 0; ?char c; ?gets(string); ?for(i=0; (c=string[i]) != \0;i++) ???if (c== ) word = 0; ???else if (word == 0) ???{ ????? 第7章 数组 ??word = 1; ???num++; ???} ?printf(There are %d words in the line\n,num); } [例7.9] 输入三个字符串,并找出其中最大者。 分析:用strcmp()函数比较字符串的大小。首先比较前两个,把较大者拷贝给字符数组变量string(用strcpy()函数拷贝),再比较string和第三个字符串。 程序:设字符串最长为19个字符。 #include string.h /* strcmp、strcpy函数均在string.h中定义 */ main() {?char string[20]; /* 存最大字符串 */

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档