新编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 综合示例:求大数的阶乘综合示例:求大数的阶乘 6.3.1 6.3.1 字符数组字符数组字符数组是元素类型为字符型的数组,既有一维字符数字符数组是元素类型为字符型的数组,既有一维字符数组,又有多维字符数组。数组具有的特征,字符数组也不组,又有多维字符数组。数组具有的特征,字符数组也不例外。由于字符型的特殊性,在使用字
2、符数组时需注意:例外。由于字符型的特殊性,在使用字符数组时需注意:1.1.虽然初始化数组时可以用各种形式的字符型字面量,虽然初始化数组时可以用各种形式的字符型字面量,但要考虑程序的可读性。如有但要考虑程序的可读性。如有char ca6=char ca6=C C,72,72,111111,x4ex4e,x41x41,nn;语句时,字符型数组语句时,字符型数组caca的的各元素为各元素为2.2.字符型与整型的区别与联系。字符型与整型的区别与联系。例6-11例例6-11 6-11 输入由数字组成的一串字符,输出与这个数字输入由数字组成的一串字符,输出与这个数字串相对应的整数。如输入串相对应的整数。如
3、输入523523回车(回车(5 5,2 2,3 3),则输),则输出出523523(五百二十三)。(五百二十三)。分析:用字符数组存储这个数字串;用循环获得输入,分析:用字符数组存储这个数字串;用循环获得输入,遇到回车符时结束。为了便于处理,可在这个数字串的末遇到回车符时结束。为了便于处理,可在这个数字串的末尾加一个空字符(尾加一个空字符(nullnull)作为结束标志。)作为结束标志。例6-11return6.3.2 字符串前面指出,字符串就是用一对双撇号(前面指出,字符串就是用一对双撇号()括起来的一)括起来的一串字符型字面量。这样理解字符串不太确切。串字符型字面量。这样理解字符串不太确切
4、。C C语言规定,语言规定,字符串必须以空字符字符串必须以空字符00结束。因此,字符串是用一对双结束。因此,字符串是用一对双撇号(撇号()括起来的以空字符)括起来的以空字符00结束的一串字符型字面结束的一串字符型字面量。量。作为结束标志的空字符作为结束标志的空字符00显然不能出现在字符串的中显然不能出现在字符串的中间,因为在字符串中只要遇到空字符间,因为在字符串中只要遇到空字符00,就认为字符串,就认为字符串已经结束。已经结束。字符串为简便在书写时经常忽略字符串的结束标志为简便在书写时经常忽略字符串的结束标志00,但在,但在使用时系统会自动在字符串后面加上结束标志。如字符串使用时系统会自动在字
5、符串后面加上结束标志。如字符串ChinaChina的实际长度(包括空字符的实际长度(包括空字符00)为)为6 6,有效长度是,有效长度是5 5。字符串在在C C语言中常用字符数组存储字符串。存放在字符数组语言中常用字符数组存储字符串。存放在字符数组中的字符串分散成了一个个字符变量,因此很容易进行与中的字符串分散成了一个个字符变量,因此很容易进行与字符串相关的操作,如查找某个字符是否包含在字符串等。字符串相关的操作,如查找某个字符是否包含在字符串等。C C语言中,字符串可以用来初始化字符数组。如语言中,字符串可以用来初始化字符数组。如char char c =China;c =China;或直接
6、写成或直接写成char c =China;char c =China;。注意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是一个长度为是一个长度为1010的字符数组,则赋值语句的字符数组,则赋值语句c=c=ChinaChina;并不正确,;并不正确,用字符串直接给字符数组赋值的格式只能用于初始化语用字符串直接
7、给字符数组赋值的格式只能用于初始化语句。句。char c =China;char c =China;return6.3.3 6.3.3 字符串的输入输出字符串的输入输出用用printfprintf函数和函数和scanfscanf函数输入输出字符串时用格式符函数输入输出字符串时用格式符串串“%s”%s”。如有。如有char c=China;char c=China;,则语句,则语句printf(%sprintf(%s,c);,c);的输出结果为的输出结果为ChinaChina,在用,在用printfprintf函数函数输出字符串时需注意:输出字符串时需注意:1.1.与格式符串与格式符串“%s”%
8、s”对应的变量为数组名对应的变量为数组名c c,而非数组,而非数组元素元素c0c0(c0c0是一个字符变量与格式符串是一个字符变量与格式符串“%c”%c”相对应)。相对应)。2.2.字符串中的结束标志空字符字符串中的结束标志空字符00并不输出。并不输出。注意:NowNow输出字符串时,遇到结束标志空字符输出字符串时,遇到结束标志空字符00时输出就结束时输出就结束了。了。字符串的输入字符串的输入如有如有char c =I am ready!;char c =I am ready!;scanf(%sscanf(%s,c),c),则从键盘输入则从键盘输入ChinaChina并回车后,数组并回车后,数
9、组c c的状态为的状态为 一次输入多个字符串一次输入多个字符串时,空格符可用来分隔字符串一次输入多个字符串时,空格符可用来分隔字符串如有如有char str010,str110,str210;char str010,str110,str210;scanf(%s%s%sscanf(%s%s%s,str0,str1,str2);,str0,str1,str2);则输入则输入Are you readyAre you ready?回车时,各个数组的状态为?回车时,各个数组的状态为scanf函数遇到空格符便认为一个字符串输入结束有时会带来不便,如无法通过scanf(%s,str);语句,把字符串Are
10、you ready?输入到字符数组str中。专用的输入输出函数 标准函数库(标准函数库(stdio.hstdio.h)中也为字符串提供了专用的输)中也为字符串提供了专用的输入输出函数:入输出函数:putsputs函数和函数和getsgets函数。函数。putsputs函数的使用形式为:函数的使用形式为:putsputs(字符数组变量);(字符数组变量);其作用是将字符数组中存储的字符串输出到输出设备上。其作用是将字符数组中存储的字符串输出到输出设备上。如有如有char char strstr =Henan =HenannChinanChina;,则;,则puts(strputs(str);的输
11、出结果为:的输出结果为:HenanHenan China Chinaputsputs函数输出完字符串后会自动换行,也就是说函数输出完字符串后会自动换行,也就是说putsputs(strstr);与);与printfprintf(%snsn,strstr);等价。);等价。gets函数getsgets函数的使用形式为:函数的使用形式为:gets(gets(字符数组变量字符数组变量);其作用是把输入设备输入的字符串存储到字符数组中。其作用是把输入设备输入的字符串存储到字符数组中。如有语句如有语句gets(strgets(str);,从键盘输入:;,从键盘输入:Are you readyAre yo
展开阅读全文