新编C语言程序设计教程第6章数组课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《新编C语言程序设计教程第6章数组课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编 语言程序设计 教程 数组 课件
- 资源描述:
-
1、新编C语言程序设计教程 清华大学出版社周二强周二强 软件学院软件学院 计算机科学与工程系计算机科学与工程系配套视频:配套视频: 博客:博客: 6章章 数组数组6.3 6.3 字符数组和字符串字符数组和字符串6.3.1 字符数组6.3.2 字符串6.3.3 字符串输入输出6.3.4 字符串相关程序示例6.4 6.4 综合示例:求大数的阶乘综合示例:求大数的阶乘 第2页,共31页。6.3.1 6.3.1 字符数组字符数组字符数组是元素类型为字符型的数组,既有一维字符数字符数组是元素类型为字符型的数组,既有一维字符数组,又有多维字符数组。数组具有的特征,字符数组也不组,又有多维字符数组。数组具有的特
2、征,字符数组也不例外。由于字符型的特殊性,在使用字符数组时需注意:例外。由于字符型的特殊性,在使用字符数组时需注意:1.1.虽然初始化数组时可以用各种形式的字符型字面量,虽然初始化数组时可以用各种形式的字符型字面量,但要考虑程序的可读性。如有但要考虑程序的可读性。如有char ca6=char ca6=C C,72,72,111111,x4ex4e,x41x41,nn;语句时,字符型数组语句时,字符型数组caca的的各元素为各元素为2.2.字符型与整型的区别与联系。字符型与整型的区别与联系。第3页,共31页。例6-11例例6-11 6-11 输入由数字组成的一串字符,输出与这个数字输入由数字组
3、成的一串字符,输出与这个数字串相对应的整数。如输入串相对应的整数。如输入523523回车(回车(5 5,2 2,3 3),则输),则输出出523523(五百二十三)。(五百二十三)。分析:用字符数组存储这个数字串;用循环获得输入,分析:用字符数组存储这个数字串;用循环获得输入,遇到回车符时结束。为了便于处理,可在这个数字串的末遇到回车符时结束。为了便于处理,可在这个数字串的末尾加一个空字符(尾加一个空字符(nullnull)作为结束标志。)作为结束标志。第4页,共31页。例6-11return第5页,共31页。6.3.2 字符串前面指出,字符串就是用一对双撇号(前面指出,字符串就是用一对双撇号
4、()括起来的一)括起来的一串字符型字面量。这样理解字符串不太确切。串字符型字面量。这样理解字符串不太确切。C C语言规定,语言规定,字符串必须以空字符字符串必须以空字符00结束。因此,字符串是用一对双结束。因此,字符串是用一对双撇号(撇号()括起来的以空字符)括起来的以空字符00结束的一串字符型字面结束的一串字符型字面量。量。作为结束标志的空字符作为结束标志的空字符00显然不能出现在字符串的中显然不能出现在字符串的中间,因为在字符串中只要遇到空字符间,因为在字符串中只要遇到空字符00,就认为字符串,就认为字符串已经结束。已经结束。第6页,共31页。字符串为简便在书写时经常忽略字符串的结束标志为
5、简便在书写时经常忽略字符串的结束标志00,但在,但在使用时系统会自动在字符串后面加上结束标志。如字符串使用时系统会自动在字符串后面加上结束标志。如字符串ChinaChina的实际长度(包括空字符的实际长度(包括空字符00)为)为6 6,有效长度是,有效长度是5 5。第7页,共31页。字符串在在C C语言中常用字符数组存储字符串。存放在字符数组语言中常用字符数组存储字符串。存放在字符数组中的字符串分散成了一个个字符变量,因此很容易进行与中的字符串分散成了一个个字符变量,因此很容易进行与字符串相关的操作,如查找某个字符是否包含在字符串等。字符串相关的操作,如查找某个字符是否包含在字符串等。C C语
6、言中,字符串可以用来初始化字符数组。如语言中,字符串可以用来初始化字符数组。如char char c =China;c =China;或直接写成或直接写成char c =China;char c =China;。第8页,共31页。注意1.1.上面的初始化语句与上面的初始化语句与char c =char c =C C,h h,i i,n n,a a;并不等价,;并不等价,而与而与char c6=char c6=C C,h h,i i,n n,a a,00;等价;等价(最后一个空字符可以省略而自动赋值为(最后一个空字符可以省略而自动赋值为00)。)。2.2.设设c c是一个长度为是一个长度为101
7、0的字符数组,则赋值语句的字符数组,则赋值语句c=c=ChinaChina;并不正确,;并不正确,用字符串直接给字符数组赋值的格式只能用于初始化语用字符串直接给字符数组赋值的格式只能用于初始化语句。句。char c =China;char c =China;return第9页,共31页。6.3.3 6.3.3 字符串的输入输出字符串的输入输出用用printfprintf函数和函数和scanfscanf函数输入输出字符串时用格式符函数输入输出字符串时用格式符串串“%s”%s”。如有。如有char c=China;char c=China;,则语句,则语句printf(%s,c);printf(%
8、s,c);的输出结果为的输出结果为ChinaChina,在用,在用printfprintf函数函数输出字符串时需注意:输出字符串时需注意:1.1.与格式符串与格式符串“%s”%s”对应的变量为数组名对应的变量为数组名c c,而非数组,而非数组元素元素c0c0(c0c0是一个字符变量与格式符串是一个字符变量与格式符串“%c”%c”相对应)。相对应)。2.2.字符串中的结束标志空字符字符串中的结束标志空字符00并不输出。并不输出。第10页,共31页。注意:NowNow输出字符串时,遇到结束标志空字符输出字符串时,遇到结束标志空字符00时输出就结束时输出就结束了。了。第11页,共31页。字符串的输入
9、字符串的输入如有如有char c =I am ready!;scanf(%s,c)char c =I am ready!;scanf(%s,c),则从键盘输入则从键盘输入ChinaChina并回车后,数组并回车后,数组c c的状态为的状态为 第12页,共31页。一次输入多个字符串一次输入多个字符串时,空格符可用来分隔字符串一次输入多个字符串时,空格符可用来分隔字符串如有如有char str010,str110,str210;char str010,str110,str210;scanf(%s%s%s,str0,str1,str2);scanf(%s%s%s,str0,str1,str2);则输
10、入则输入Are you readyAre you ready?回车时,各个数组的状态为?回车时,各个数组的状态为scanf函数遇到空格符便认为一个字符串输入结束有时会带来不便,如无法通过scanf(%s,str);语句,把字符串Are you ready?输入到字符数组str中。第13页,共31页。专用的输入输出函数 标准函数库(标准函数库(stdio.hstdio.h)中也为字符串提供了专用的输)中也为字符串提供了专用的输入输出函数:入输出函数:putsputs函数和函数和getsgets函数。函数。putsputs函数的使用形式为:函数的使用形式为:putsputs(字符数组变量);(字符
11、数组变量);其作用是将字符数组中存储的字符串输出到输出设备上。其作用是将字符数组中存储的字符串输出到输出设备上。如有如有char str =HenannChinachar str =HenannChina;,则;,则puts(str)puts(str);的输出结果为:的输出结果为:HenanHenan China Chinaputsputs函数输出完字符串后会自动换行,也就是说函数输出完字符串后会自动换行,也就是说putsputs(strstr);与);与printfprintf(%sn%sn,strstr);等价。);等价。第14页,共31页。gets函数getsgets函数的使用形式为:函
展开阅读全文