- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章节数据的组织结构——字符串-二维数组
数据的组织结构—字符串 字符串是指一个有限长度的字符序列,并且用‘\0’字符结尾( ‘\0’作为字符串的结束标志) 字符串常量用一个双引号(“”)括起来 例: “C program” “blue” C语言中,没有直接提供字符串数据类型,字符串存储在字符数组中 “C program”的存储 【例】字符串示例 #include stdio.h main( ) { int i=0; char a[ ]=K; char b[ ]={ Sit down} ; while(a[i]!=\0) { putchar(a[i]); i++; } printf(\n); i=0; while(b[i]!=\0) { putchar(b[i]); i++; } } 字符串与字符数组区别 字符串放在字符数组中,应包含结束符 char str[ ] = {C, ,p,r,o,m,g,r,a,m,\0}; printf(%s\n\n, str); 下列情况可能输出不可识别字符(乱码) char str1[ ] = {C, ,p,r,o,m,g,r,a,m}; printf(%s\n\n, str1); 字符串的结束符‘\0’ ‘\0’是字符串结束标志,有关字符串处理的所有函数都要求用‘\0’结束。如果将字符串按字符一个一个地处理就需要人为地添加这个结束符。 程序段: 逐个从键盘接受一个字符串并打印。 char str[20]; int i=0; while (1) { /*输入回车后结束*/ if ((str[i++]=getchar( ))==‘\n’) break; } str[i-1]=‘\0’; //人为地添加字符串的结束符 printf(“%s”,str); // 用“\0”替换了“\n” 【例】字符串的输入输出示例。 #include stdio.h main( ) { char a[10], b[10]; gets(a); scanf(“%s”,b); puts(a); printf(“%s\n”,b); } 字符串的输入(整体输入) 标准函数 scanf(“%s”, str); /* 自动添加‘\0’ */ gets(str); /* 把换行符转换为‘\0’ */ 其中str是存放字符串的数组名称, 如:char str[20]; 注意事项 用“%s”输入字符串时是用空格符、换行符或制表符作为输入结束,在字符串中不能含有这些符号 用“%s”格式符时,对应的输入变量str前不能有 gets( ) 函数以换行符作为输入的结束,在输入的字符串中允许包含空格和制表符 输出字符串(整体输出) 将字符串的内容显示到标准输出设备——屏幕上 标准函数 printf(“%s”, str); /* 只有输出,不换行 */ puts(str); /* 输出并换行 */ 其中str是存放字符串的数组名称,定义: char str[20]; str所指的字符串必须用‘\0’结束 puts( ) 输出后,自动换行 scanf( )输出后,要人为添加换行符“\n” 字符串输出举例 char str[] = Hello; puts(str); puts(str); 显示结果: Hello Hello char str[] = Hello; printf(%s%s, str,str); 显示结果: HelloHello 常用字符串标准函数及应用实例 字符串标准函数 在C语言的标准函数库中,提供了数十种与字符串处理有关的标准函数,从而大大地提高了字符串处理的能力,降低了字符串处理的复杂程度。 字符串转换成数值类型 (P98 例4-7) atof(str); --将字符串str转换成一个double值 atoi(str); --将字符串str转换成普通整型(int) atol(str); --将字符串str转换成长整型(long) 原型在 stdlib.h中,其中str是数字字符串 实例:统计一段文本中每个英文字母出现的次数(小写都被认为是大写)。 大小写转换 strlwr(str); --所有大写字母转换成小写字母 strupr(str); --所有小写字母转换成大写字母 函数原型都在 string.h中 计算字符串长度 strlen(str); --返回字符串中所包含的字符个数,即字符串长度,‘\0’
您可能关注的文档
- 甘肃省天水市秦安县高中2013-2014年度高二上学期期末考试数学[理]试题附解析.doc
- 甘肃省天水市第三中学2013年高三第九次检测文综试题.doc
- 第3章节金融会计存款业务的核算new.ppt
- 第3章节运算方法与运算器.ppt
- 甘肃省天水市秦安县高中2013-2014年度高二上学期期末考试生物试题附解析.doc
- 第3章节账务处理系统.ppt
- 甘肃省天水市一中09-10年度高二蓝天班第一学期第二阶段考试[数学].doc
- 甘肃省天水市秦安县第二中学2014-2015年度高二下学期第二次月考数学[理]试题附解析.doc
- 甘肃省宁县第五中学2014-2015年度高二下学期期末考试生物试题附解析.doc
- 第3章节长期经济增长.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)