- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九讲 数组 6.3 字符数组与字符串 6.4 应用举例 6.3 字符数组与字符串 6.3.1 字符数组 1. 字符数组的定义 一维数组的定义形式: char 数组名[常量表达式]; 例如:char c[10]; 二维数组的定义形式: char 数组名[常量表达式1][常量表达式2]; 例如:char b[3][4]; 用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。 char c[10]可写成int c[10] 2. 字符数组的初始化 如: static char c[10]={‘w’,’ ‘,’r’,’y’,’d’,’g’,’I’,’s’,’c’,’u’}; 说明: (1)如果花括号中提供的数值个数(即字符个数)大于数组长度,则作语法错误处理。 (2)如果初值个数小于数组长度,则只将这些字符赋给数组中的前面那些元素,其余元素自动定为空字符(‘\0’) (3)如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。 3. 字符数组的引用 例6.10 输出一个字符串 main( ) {char c[10]={‘I’,’ ‘,’a’,’m’,’ ‘,’h’,’a’,’p’,’p’,’y’}; int I; for(i=0;i10;i++) printf(“%c”,c[i]); printf(“\n”); } 运行结果: I am happy 6.3.2 字符串 1. 字符串和字符串结束标志 (1)字符串常量。字符常量是用双引号括起来的一串字符,C语言约定用‘\0‘作为字符串的结束标志,它占内存空间,但不计入串的长度。’\0’的代码值为0。 (2)在C语言中,字符串可以存放在字符型一维数组中,故可以用字符型一维数组处理字符串。 2. 用字符串常量给数组赋初值(初始化)。 char c[6]=“chian”; 4. 字符串的输入和输出 (1)逐个字符输入输出函数。 (a)在标准输入和输出函数printf和scanf中,用格式符“%c”输入或输出一个字符。 (b)使用gets和puts函数。 (2)将整个字符串一次输入或输出。用格式符“%s“,输出字符串。例如: static char c[ ]={“china”}; printf(“%s”,c); 5.字符串处理函数 (1)puts(字符串)——字符串输出函数。 功能:将一个字符串输出到终端。输出的字符串包含转义字符。例如: char str[ ]={“china\nbeijing”}; puts(str); 输出: china beijing (2)gets(字符数组)——字符串数组输入函数 功能:从终端输入一个字符串到字符数组,该函数返回值是字符数组的起始地址。例如: gets(str); 注意:用puts和gets函数只能输入或输出一个字符串,I不能写成:puts(str1,str2); 或 gets(str1,str2); (4)strcpy(字符数组,字符串)——字符串拷贝函数 功能:将字符串拷贝到字符数组中去。例如: char str1[10],str2[ ]={“china”}; strcpy (str1,str2); 执行结果:china\0\0\0\0\0 说明: (a)字符数组必须足够大,以便能容纳被拷贝字符串 (b)拷贝时连同字符串后面的‘\0’一起拷贝到字符数组中。 (5)strcmp(字符串1,字符串2)——字符串比较函数。 功能:按ASCⅡ码值大小比较,将两个字符串自左至右逐个字符相比,直到出现不同的字符或到’\0’为止。如果全部字符相同,则认为相等,如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。比较的结果由函数值带回。 (a)字符串1=字符串2,函数值为0; (b)字符串1字符串2,函数值为0; (c)字符串1字符串2,函数值为0; 注意:对两个字符比较,不能用以下形式: If(str1==str2)printf(“yes”); 而只能用:if(strcmp(str1,str2)==0)printf(“yes”); 6.4 应用举例 例6.12 从键盘为一个3х3整型数组输入数据,并找出主对角线上元素的最大值及其所在的行号。 #include “stdio.h” main( ) {int a[3][3],I,j,Max,Row; for(i=0;i3;i++); for(j=0;j3;j++); scanf(“%d”,a[i][j]); Max=a[0][0]; Row=0; for(i=1;i3;i++); if(Maxa[i][i]) {Max=a[i][i]; Row=I;} Printf((“Max=
您可能关注的文档
- C++程序设计教程 杨国兴及例题 第1章 C++概述新.ppt
- C++程序设计教程 杨国兴及例题 第2章 数据类型与表达式新.ppt
- C++程序设计教程 杨国兴及例题 第3章 C 控制语句新.ppt
- C++程序设计教程 杨国兴及例题 第4章 函数新.ppt
- C++程序设计教程 杨国兴及例题 第5章 数组与指针新.ppt
- C++程序设计教程 杨国兴及例题 第6章 类与对象新.ppt
- C++程序设计教程 杨国兴及例题 第7章 继承与派生新.ppt
- C++程序设计教程 杨国兴及例题 第9章 模板新.ppt
- C++程序设计教程 杨国兴及例题 第10章 输入输出流新.ppt
- C++程序设计教程与实验指导 杨国兴 第2章 C++基础新.ppt
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
最近下载
- 川崎机器人CX系列检查与维护手册.pdf
- 银行企业文化故事PPT课件.pptx
- 浙江省温州市2023-2024学年八年级下册期中考试科学模拟试题(附答案).docx VIP
- 劳动教育教学课件.pptx VIP
- 五年级数学下册教学课件《分数和小数的互化》.pptx VIP
- 基于PLC模拟量的直流电动机转速控制系统-毕业论文.docx
- P2中文教材带题目(CMA注册管理会计师课程).pdf VIP
- 河道生态治理一期景观工程质量保证措施 .docx
- 《心理健康与职业生涯》试卷(期中复习模拟试题库)荐2024年春季学期新课标高教版中职《心理健康与职业生涯》第一、二单元模拟测试题可编辑.doc
- 幼儿一日生活观察记录表.doc
文档评论(0)