- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 数组 本节内容: 1.字符数组 2.应用举例 字符数组和字符串 1、字符数组 当数组的元素类型为字符型时,被称为字符数组。 如:char c[10]; 则c为字符数组。 字符数组的定义、初始化和元素的引用与一般的数组相同。 如:main() { char ch[5]={‘c’, ‘h’ , ‘i’ , ‘n’ , ‘a’}; for(i=0; i5; i++) printf(“%c”,ch[i]); } 说明: ⑴定义字符数组的类型说明符一般为char, 如: char c[10]; 由于字符型与整型的互相通用性, 因此,上面定义也可改为:int c[10]; ⑵初始化的字符个数允许少于字符数组的长度, 但不能多于字符数组的长度。当初始化的字 符(至少要有一个)少于字符数组的长度时, 未初始化部分将被编译系统自动用空字符‘\0’ 赋值。 如:int c[8]={‘H’,‘e’,‘l’,‘l’,‘o’}; 则:c[0]=‘H’, c[1]= ‘e’, c[2]= ‘l’, c[3]= ‘l’, c[4]= ,‘o’ c[5]=‘\0’, c[6]=‘\0’, c[7]=‘\0’ 2、字符串与字符数组 字符串常量是用双引号括起来的一串字符,由系统自动加上一个字符串结束标志‘\0’。它占内存,但不记入字符串长度。 如:“china” 占内存6个字节,但字符串长度是5 在C语言中用字符数组来处理字符串,每个元素存放一个字符型数据。 字符型数组可用一般数组的初始化方式初始化外,还可以使用字符串常量初始化: 如:char message[]={“Hello”}; √ 或 char message[]=“Hello”; √ (这时,字符数组长度是6,字符串长度是5。) 注意:它与一般初始化方式: char message[]={‘H’, ‘e’, ‘l’, ‘l’, ‘o’}; 初始化的结果是不同的。 用一般初始化方式结果: ‘H’ ‘e’ ‘l’ ‘l’ ‘o’ 用字符串常量初始化 : ‘H’ ‘e’ ‘l’ ‘l’ ‘o’ ‘\0’ 说明:字符数组本身并不要求它的最后一个元素一定是‘\0’,例如:char ch[2]={‘A’, ‘B’};是合法的。当定义字符数组用字符串常量赋初值时,最后有一个元素其值为‘\0’。为了使处理方法一致,在字符数组中也常常人为地加上一个值为‘\0’的元素。 如:char message[]={‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’}; 可以定义和初始化一个二维字符数组。例如: char diamond[5][5]={{′ ′,′ ′,*′},{′ ′,′*′,′ ′,′*′},{′*′,′ ′,′ ′,′ ′,′*′},{′ ′,′*′,′ ′,′*′},{′ ′,′ ′,′*′}} 3、字符数组的输入输出 字符数组的输入输出可以有以下两种方法: ⑴逐个字符输入输出 用格式符“%c”输入或输出一个字符。 ⑵将整个字符串一次输入或输出。 用格式符“%s”输入输出字符串。 例如:char c[]=“Hello” ; printf(“%s”, c) ; 注意: ⑴输出字符不包括结束符‘\0’。 ⑵用“%s”格式符输出字符串时,printf函数的 输出项是字符数组名,而不是数组元素名。 ⑶输出字符数组时,遇到第一个‘\0 ’,输出就结束。 ⑷用“%s”格式符输入字符串时,scanf函数的输出项 是字符数组名时,不要再加地址符,因为C语言 中数组名代表该数组的起始地址。 如: char str[10]; scanf(“%s”,str); ⑸用“%s”格式符输入字符串时,scanf函数的输出项是 字符数组名时,从键盘输入的字符串应短于已定义 的字符数组的长度。系统自动在后面加 个‘\0’结束符。 ⑹利用scanf函数输入多个字符串时,是以空格、回车、 跳格分隔。因此不要试图利用scanf函数从键盘输入 How are you? 赋给一个字符串。 字符数组的输入输出 逐个字符I/O: %c 整个字符串I/O: %s 例 用%c main() { char str[5]; int i; for(i=0;i5;i++)
您可能关注的文档
最近下载
- 如何开好早会..ppt VIP
- 《机械基础》课件 孟莹 单元1--4 静力学--- 螺纹连接与螺旋机构.pptx
- 靶向二代测序在感染性疾病诊疗中的规范化应用专家共识解读PPT课件.pptx VIP
- 可编程控制器应用技术第2版[西门子S7-1200](PLC)高职全套教学课件.pptx
- 国外矿产勘查报告规范要求.pptx VIP
- 国外矿产勘查报告规范要求.pptx VIP
- 自考 新思想学习资料 15040新思想 主观题.pdf VIP
- 郑功成“社会保障学”名词解释.pdf VIP
- 《PLC应用技术(西门子上册)第2版》中职技工全套教学课件.pptx
- 澳大利亚矿产资源和矿石储量报告规范JORC2004(中文版).doc VIP
文档评论(0)