C语言程序设计-第10节.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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 str[10]={‘s’, t‘’ ,‘r’,‘i’, ‘n’, ‘g’ ,‘!’, ‘\0’, ‘\0’, ‘\0’ }; 赋值后str中的内容如图所示: 2、赋赋初值时直接赋字符串常量 例如: char str[10]={“string!”}; 可以省略花括号而直接写成:char str[10]=“string!”; 说明: (1)这里的“string!”是字符串常量,系统已自动在最后加入’\0’,所以不必人为加入。 (2)由于定义了str数组占有10个连续的存储单元,因此有足够的空间存放字符串。但如果定义成: char str[7]=“string!”; 则7个单元空间不够用,’\0’将占用下一个不属于str的存储单元,它有可能会破坏其他数据或程序代码。 这时,我们可以采用以下的形式定义: char str[ ]=“string!” 由于省略了数组下标,系统将按该字符串常量的实际字符数(这里是8)来定义数组的大小。 在C程序执行过程中给一维字符数组赋字符串 1、不可以用赋值语句给字符数组整体赋一串字符 例如:char mark[10]; mark=“c program”; /*赋值不合法宝*/ 说明:数组名是一个地址常量,它指向数组的首地址,不能被重新赋值。 以下的赋值方式也是错误的: char str1[10]=“computer”,str2[10]; str2=str1; /*赋值不合法*/ 同样的道理,str2是数组名,不可以重新赋值。 2、给数组元素逐个赋字符值,最后人为加入串结束标志 方法:通过循环语句给一维字符数组元素逐个输入字符并在最后加入’\0’。 例如: char s[10]; int I; for(i=0;i9;i++) scanf(“%c”,s[i]); s[i]=‘\0’; 说明: 使用该方法显得比较繁琐,操作起来很不方便。在C语言中,我们可以利用编译系统所提供的、专门针对字符串处理的各种函数实现字符串的输入输出等操作。 使指针指向一个字符串 1、通过赋初值的方式使指针指向一个字符串 实质:将存放字符串的存储单元的首地址赋给指针变量。 例如:char *ps1=“from one”; 说明:把

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档