第10章:C语言等级考试字符串全解.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 字符串 p-141 10.1 用一维字符数组存放字符串 1、C语言对字符串的约定 在C语言中,字符串是借助于字符型一维数组来存放, 并规定以符‘\0’作为“字符串结束标志”。由第六章已知: ‘\0’是一个转义字符,称为“空值”。它的ASCII代码值为0。 ‘\0’作为标志占用存储空间,但不计入串的实际长度。 char s[100]; 2、C语言中表示字符串常量的约定 虽然C语言中没有字符串数据类型,但却允许使用“字符 常量”。在表示字符串常量时,不需要人为在其末尾加入‘\0’。 例如:字符串常量“Hello!” 不必写成 “Hello!\0”, C编译程序将自动完成这一工作,在末尾添加字符‘\0。 3、C语言中字符串常量给出的是地址值: 每一个字符串常量都分别占用内存中一串连续的存储空间,这些连续的 存储空间实际上就是字符型一维组。这些数组虽然没有名字,但C编译 系统却以字符串常量的形式给出存放每一字符串的存储空间的首地址。 不同的字符串具有不同的起始地址。也就是说:在C语言中,字符串常 量被隐含处理成一个以‘\0’结尾的无名字符型一维数组。 例: p=“string”; printf(“%d”,”hello”); 4、字符数组与字符串的区别: p-142 10.1.1 通过赋初值的方式给一维字符数组赋字符串 p-142 1、char str[7]={ ‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘\0’}; 2、char str[7]={ ‘s’,‘t’,‘r’,‘i’,‘n’,‘g’ }; 3、char str[6]={ ‘s’,‘t’,‘r’,‘i’,‘n’,‘g’ }; 4、char str[8]={“Hello”}; 5、char str[8]=“Hello”; 6、char str[ ]=“string”; 7、char str[5]=“Hello”; 8、int a[5]=1,3,5,7,9; 10.1.2 在C程序执行过程中给一维字符数组赋字符串 p-143 1.不可以用赋值语句给字符数组整体赋一串字符。 本章的开始曾提到:当作字符串变量使用的字符数 组,不能由赋值语句直接赋字符串常量。 char mark[10]; mark =C Program; /*赋值不合法*/ 2. 给数组元素逐个赋字符值,最后人为加入串结束标志 利用我们目前学过的知识,在程序过程中,可以通过逐个给数组元素赋值方式,达到给一维字符数组赋字符串的目的。 main( ) { char mark[10]; mark [0]=C; mark [1]= ; mark [2]=P; mark[4]=r;…… mark[9]= ‘\0 ’; …… } 10.2 使指针指向一个字符串 p-144 10.2.1通过赋初值的方式使指针指向一个字符串 可以在定义指针变量的同时,将存放字符串的存储单元起始地址 赋给指针变量。例如: char *ps1=“ from one ”; 10.2.2通过赋值运算使指针指向一个字符串 如果已经定义了一个字符型指针变量,可以通过赋值运算将某个 字符串的起始地址赋给它, 从而使其指向一个具体的字符串。 char *ps1; ps1=“ from one ; 10.2.3用字符数组作为字符串和用指针指向一个字符串的区别 若有以下定义: char mark[ ]=A PROGRAM ; char *pmark=A PROGRAM ; 虽然字符串的内容相同,但它们占有不同的存储空间 mark pmark - “A PROGRAM” 10.3字符串的输入和输出 p-145 10.3.1 输入和输出字符串时的必要条件 输入项和输出项都必须是地址。 10.3.2 用格式说明符%s进行整串输入和输出 1.在scanf函数中使用格式说明%s可以实现字符串 整体输入。函数调用形式如下: char str[100]; scanf(%s, str); 2.printf函数中使用格式说明%s可以实现字符串的整体输出, 函数调用形式如下: printf (%s, str); 例:main( ) { char str[100]=“hello”; printf(“%s”,str); } 此处str_adr是地址值。调用printf函数时,将从这一地址开始,依 次输出存储单元中的字符,直到遇‘\0’为止。输出结束后不自动换行。 10.3.3调用gets、puts函数,从终端进行字符串的输入和输出 p-

文档评论(0)

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

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

1亿VIP精品文档

相关文档