C语言程序设计-第10章.ppt_第1页
C语言程序设计-第10章.ppt_第2页
C语言程序设计-第10章.ppt_第3页
C语言程序设计-第10章.ppt_第4页
C语言程序设计-第10章.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计 课件制作: 新科电脑培训中心 唐绍国制作 全国计算机等级考试全国计算机等级考试 二级教程二级教程 第十章 字符串 本章要点 1、用一个一维字符数组来存放字符串 (1)通过赋初值的方式给一维字符数组赋字符串 (2)在C程序执行过程中给一维字符数组赋字符串 2、使指针指向一个字符串 (1)通过赋初值的方式使指针指向一个字符串 (2)通过赋值运算使指针指向一个字符串 (3)用字符数组作为字符串和用指针指向一个字符串之间的区别 3、字符串的输入和输出 (1)输入和输出字符串的必要条件 (2)用格式说明符%s进行整串的输入和输出 (3)调用gets、puts函数,从终端进行字符串行的输入和输出 4、字符串数组 5、用于字符串处理的函数 用一个一维字符数组来存放字符串 1、C语言中对字符串的约定 字符串是借助字符型一维数组来存放的,并规定:以字符0作为“串结束标志” 2、C语言中表示字符串常量的约定 C语言中没有“字符串数据类型”,但却允许使用“字符串常量”。 3、C语言中字符串给出的是地址值 -字符串常量在内存中占一串连续的存储空间 -它实际上是个无名的字符型一维数组 -编译系统给出的是该存储空间的首地址 4、字符数组与字符串的区别 (1)字符数组的每个元素中可存放一个字符,但它并不限定最后一个字符应该是什么 ;而字符串的最后一个字符必须是0(串结束标志)。 (2)在字符数组的有效字符后加上0这一特定的情况下,可以把这种一维字符数组“ 看作”字符串变量,但它又不同于一般的变量(仅可以在字符数组内存放字符串,不能 通过赋值语句将字符串常量或其他字符数组中的字符串直接赋给字符串变量)。 通过赋初值的方式给一维字符数组赋字符串 1、用给一般数组赋初值的相同方式给一维字符数组赋初值 方法:把所赋初值依次放在一对花括号内, 如: char str10=s, t ,r,i, n, g ,!, 0, 0, 0 ; 赋值后str中的内容如图所示: string!000 说明: 所赋初值个数少于数组元素个数时,系统将自动在其后的元素中加入0 。因此,在以上赋初值时去掉最后的0,效果是一样的。所以,如果一 个字符数组是用来作为字符串使用的,那么在定义该字符数组时,数组 的大小就应该比它将要存放的最长字符串多一个元素,多出来的元素用 于存放字符串结束标志0 。 如果字符数组省略了下标,则赋初值时一定要人为加上“串结束标志” 比如: char str2 = s, t ,r,i, n, g ,!, 0; 2、赋赋初值时直接赋字符串常量 例如: char str10=“string!”; 可以省略花括号而直接写成:char str10=“string!”; 说明: (1)这里的“string!”是字符串常量,系统已自动在最后加入0,所以不 必人为加入。 (2)由于定义了str数组占有10个连续的存储单元,因此有足够的空间 存放字符串。但如果定义成: char str7=“string!”; 则7个单元空间不够用,0将占用下一个不属于str的存储单元,它有可 能会破坏其他数据或程序代码。 这时,我们可以采用以下的形式定义: char str =“string!” 由于省略了数组下标,系统将按该字符串常量的实际字符数(这里是8 )来定义数组的大小。 在C程序执行过程中给一维字符数组赋字符串 1、不可以用赋值语句给字符数组整体赋一串字符 例如:char mark10; mark=“c program”; /*赋值不合法宝*/ 说明:数组名是一个地址常量,它指向数组的首地址,不能被重新赋值 。 以下的赋值方式也是错误的: char str110=“computer”,str210; str2=str1; /*赋值不合法*/ 同样的道理,str2是数组名,不可以重新赋值。 2、给数组元素逐个赋字符值,最后人为加入串结束标志 方法:通过循环语句给一维字符数组元素逐个输入字符并在最后加入0 。 例如: char s10; int I; for(i=0;i串s2,函数返回正数;若串s1串s2,函数返回;若串s1串 s2,函数值返回负数。 字符串的比较方法是:依次对s1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论