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

字符数组的定义 用来存放字符数据的数组是字符数组,字符数组的每一个元素存放一个字符。 定义: (1) char c[4]; c[0]=‘a’; c[1]=‘b’; c[2]=‘c’, c[3]=‘d’; (2) char c[ ]={‘a’, ‘b’, ‘c’, ‘d’}; (3) char c[4]= {“abc”}; char c[ ]=“abcd”; 用字符串初始化字符数组时系统在串尾加’\0’作为串结束标志! 字符串长度和数组长度的区别。 a b c \0 a b c d \0 字符数组的定义(注意点) (1)仅列出数组的前一部分的元素值时,其余元素的值由系统自动置为0;若大于数组维数时,会引起不可知的系统逻辑出错: 例: char c[4]=“abcd”; 或者 char c[3]={‘a’,’b’,’c’,’d’};都是应该避免的! (2)字符的值可作为整数处理,整数也可作为字符处理。 char str2[10]={48,49,50,0}; 等价于 char str2[10]={‘0’,’1’,’2’,’\0’}; 字符数组的输入与输出 (1)逐个字符的输入/输出,采用循环语句来实现; (2)把字符数组作为字符串输入/输出,对于一维字符数组只需给出数组名即可; 例如: char str[80]; scanf(%s,str); //遇到空格或回车键时,认为一个字符串 输入结束,接着的非空格字符作为一个新字 符串的开始 printf(“%s”,str); //输出时,遇到字符串的结束标志停止 【例】下列程序段的运行结果是: char a[5]={‘a’,’b’, ’\0’,’d’,’\0’}; printf(“%s”, a); (ab) 课堂练习 字符数组(串)作参数 与普通数组作参数类似,用数组名(字符串名)作实参,按地址传递。 字符串有结尾标记’\0’,所以,数组长度不一定需要作为参数传入被调函数。 P20 例题 编写函数将字符串转换为对应的整数。 如果是空白符,跳过 如果有符号,读取符号 取整数部分,并执行转换,直到遇到第一个非数字字符 P50/atof扩展 例题 编写函数将整数转换为对应的字符串。P53 ?能不能正序取数字进行转换 P53 练习3-5,3-6 int getLine(char s[],int lim) { int c,i; for(i=0;ilim-1 (c=getchar())!=EOF c!=\n;++i) s[i]=c; if(c==\n){ s[i]=c; ++i; } s[i]=\0; return i; } P58比较 例题 编写函数返回字符串t在字符串s中出现的起始位置或索引 定位t串首字符在s中的位置i 从第i个字符开始按位比较,全串符合,返回i 没有完全匹配,返回-1 int strIndex(char s[],char t[]) { int i,j,k; for(i=0;s[i]!=\0 ;i++) { if( s[i]==t[0]) { for(j=i,k=0;s[j]!=\0 ;j++,k++) if(s[j]!=t[k]) break; if(t[k]==\0) return i; } } if(s[i]==\0) return -1; } P59 练习 编写函数返回字符串t在字符串s中最右边出现的起始位置或索引(P60练习4-1) 定位t串________字符在s中的位置i 从第i个字符开始向_______按位比较,全串符合,返回__________ 没有完全匹配,返回-1

文档评论(0)

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

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

1亿VIP精品文档

相关文档