第10章字符串[ 002 ].pptVIP

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章字符串[ 002 ]

全国计算机等级考试二级教程 ——C语言程序设计 计算中心- NEU Computing Center 0.本章内容 理解字符串与字符数组的概念 区分字符串常量和字符串 掌握字符串的输入/输出处理 能够使用字符串处理标准库函数的字符串处理函数 1. 基本概念 字符数组 定义 当数组元素为字符类型时,被称之为字符型数组 具有一般数组的性质 定义的格式 char str[10] ; /*含有10个字符的一维字符型数组*/ char stree[3][10] ; /*含有3*10个字符的二维字符型数组*/ 也可以将其看成3行并且每行各含有10个字符的一维字符数组 1. 基本概念 字符数组 字符数组的引用 同数值型数组在用法上一样 字符数组中的一个元素位置存放一个字符 用赋值语句为其赋值时应该是单个字符 1. 基本概念 字符数组 字符串 串就是一组字符 C语言没有提供内部串的类型 串是由字符数组创建的 实际上字符串就是带有若干限制的字符型数组 其中一个限制条件是用‘\0’(NULL)来表示串的结束 1. 基本概念 字符数组 双重性 可被认为是一个表示若干个字符的字符类型的数组 可被认为是一个字符串类型变量(如果一串字符的最后一个字符是一个‘\0’字符 ) 提示 字符型数组作为字符串形式处理时,无需使用下标 实际上是将数组以指针的方式进行处理 当使用下标时,实际上使用的是字符串中某一位置上的字符,而不是整个字符串 字符型数组也不能整体赋值操作 不允许一个数组赋给另一个数组 1. 基本概念 字符数组 特殊性 体现在字符数组的初始化和输入/输出等操作 可以用于处理字符串 当处理字符串时,字符型数组中必须有一个元素为‘\0’ 并放 在字符串的最后,它是字符串结束的标志 字符串完全可以被作为一个字符数组进行处理 字符串在程序中可以被当作一个整体进行引用 声明存储空间长度:原串长度+1 例如:对字符串“hello”,可定义一个字符型数组message[6]存储该字符串 因为字符串是以‘\0’作为其结束标志的,数组中应有一个元素存放该结束标志 1. 基本概念 字符数组 赋值和引用方法 将其元素作为字符型 采用一般数组的处理方式, 赋值、引用或初始化 以字符串形式进行赋值、引用或初始化 1. 基本概念 字符数组 赋值和引用方法 区别 字符常量 char message[5]={‘ h’ ,‘e’ , ‘l’ , ‘l’ ,‘o’}; 存放方式: 字符串常量 char message []={“hello”}; 存放方式 1. 基本概念 字符数组 初始化 区别 采用一般数组的初始化方式 单个字符常量写在{}里面 由编译系统根据下标的递增或行的顺序为字符数组的元素逐个进行赋初值 1. 基本概念 字符数组 初始化 区别 采用字符串初始化方式 编译系统将根据字符串的长度确定为该字符串分配内存空间的大小 特别指出的是:字符串占据内存空间的长度应该比串本身长度至少多1个字节 1. 基本概念 1. 基本概念 字符数组 提示 两种方式实现对字符数组的部分元素的初始化(赋初值) 可省略一维数组的维长度和二维数组的第一维长度(与数值型相同) 当用字符串常量赋初值时,系统自动加上“\0”字符 字符数组的维长度要比实际字符长度多1个 字符数组存放字符串时,应该事先估计出来实际字符串的长度 保证数组的长度始终大于字符串的实际长度 如果在一个数组中先后存放多个长度不同的字符串,数组长度的定义应大于最长字符串的长度 如果字符串的长度大于存储它的字符数组的长度,由于C语言不提供越界检查。超出字符数组长度的部分就会将内存中字符数组后面的数据覆盖掉 赋初值时,初值个数要少于数组的维长度,否则进行系统编译时越界 例如:char str[2][3]={“this” ,“is” ,“a” ,“book”}; 1. 基本概念 2.字符数组输入/输出 输入 采用%c格式符,逐个输入所有字符 2.字符数组输入/输出 输入 采用%s格式符,输入字符串整体 将字符数组作为字符串变量处理 例 scanf(“%s” ,string); 说明 该函数向数组string中输入一个字符串 数组名在数组中代表着首地址,所以scanf函数中的变量地址表中的输入变量只需写数组名string 不能写成: scanf(“%s” ,string) 为什么? scanf(“%c” ,string[i])针对的是某一变量元素的地址,取一字符串中一个元素的地址 scanf(“%s” ,string)是要读入一串字符,数组名即是首地址 2.字符数组输入/输出 输入 采用%s格式符,输入字符串整体 例 此时 假设数据输入的是: this is

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档