欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第8章字符与字符串 第九章变量类别与编辑预处理.ppt

    • 资源ID:68704210       资源大小:443.50KB        全文页数:31页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第8章字符与字符串 第九章变量类别与编辑预处理.ppt

    第八章第八章 字符与字符串字符与字符串 1v 以前介绍的字符输入输出方法:以前介绍的字符输入输出方法:scanf(scanf(“%c%c”,&,&chch););printfprintf(“%c%c”,chch););v 专门用于单个字符输入输出的函数:专门用于单个字符输入输出的函数:getchargetchar();();putcharputchar();();v 四个函数都是在头文件四个函数都是在头文件stdio.hstdio.h中定义的中定义的21.字符输入函数getchar()例如:例如:char c;char c;c=c=getchargetchar();();从键盘上输入:从键盘上输入:a a 则字符型变量则字符型变量c c等于字符等于字符aa。上式上式等价于等价于 scanf(“%c”,&cscanf(“%c”,&c););3v但是但是不是所有场合二者都可以互相替换。不是所有场合二者都可以互相替换。下面我们列出了它们的不同之处:下面我们列出了它们的不同之处:v(1 1)getchargetchar()()一次一次只能接收只能接收一个字符一个字符。(2 2)getchargetchar()()可以接收可以接收回车字符回车字符。而。而scanfscanf()()将回车作为数据的间隔符或结束符。将回车作为数据的间隔符或结束符。(3 3)getchargetchar()()接收的字符可以不赋给任何接收的字符可以不赋给任何变量。变量。42.字符输出函数putchar()v 例如:例如:char c=A;char c=A;putchar(cputchar(c););结果是输出字符变量结果是输出字符变量c c的值。的值。58.2 8.2 字符数组字符数组vv 如果有一个字符序列:如果有一个字符序列:I like CI like C,我们可以,我们可以把它看作是如下把它看作是如下8 8个字符的集合个字符的集合:I I,l l,i i,kk,ee,CC;vv 可以将这个可以将这个字符序列字符序列存入存入字符数组字符数组中;中;68.2 8.2 字符数组字符数组vv 该字符数组的该字符数组的赋值赋值可以采用三种方法:可以采用三种方法:方法一:初始化方法一:初始化方法一:初始化方法一:初始化方法二:分别赋值方法二:分别赋值方法二:分别赋值方法二:分别赋值78.2 8.2 字符数组字符数组vv 该字符数组的该字符数组的赋值赋值可以采用三种方法:可以采用三种方法:方法三:循环赋值方法三:循环赋值方法三:循环赋值方法三:循环赋值 总结:除了使用初始化方法,只能一个元素总结:除了使用初始化方法,只能一个元素总结:除了使用初始化方法,只能一个元素总结:除了使用初始化方法,只能一个元素一个元素赋值。一个元素赋值。一个元素赋值。一个元素赋值。88.2 8.2 字符数组字符数组vv 同样,将字符数组中的内容全部同样,将字符数组中的内容全部输出输出,也,也只能一个元素一个元素地输出:只能一个元素一个元素地输出:98.2 8.2 字符串字符串vv 字符串的处理是字符串的处理是基于字符数组基于字符数组的。的。vv 字符串的存储特点:字符串的存储特点:实际存储时实际存储时,在其尾部在其尾部添加了一个结束标志添加了一个结束标志00。vv 说明:说明:0 0代表代表ASCIIASCII码为码为0 0的字符,是的字符,是一个空操作符,无显示内容,表示什么操作一个空操作符,无显示内容,表示什么操作也不做。也不做。vv 采用字符数组存放字符串:赋值时应包含采用字符数组存放字符串:赋值时应包含结束标志结束标志0 0。108.2 8.2 字符串字符串vv 例如:将例如:将“I like CI like C”存放入数组存放入数组c c中,实际中,实际存放了存放了9 9个字符个字符:I I,l l,i i,kk,ee,C C,00 ;vv 字符串字符串在在字符数组字符数组中的状态:中的状态:118.2 8.2 字符串字符串vv 字符串对应的字符数组的赋值方法:字符串对应的字符数组的赋值方法:方法一:初始化方法一:初始化方法一:初始化方法一:初始化 方法二:分别赋值方法二:分别赋值方法二:分别赋值方法二:分别赋值 128.2 8.2 字符串字符串vv 字符串对应的字符数组的赋值方法:字符串对应的字符数组的赋值方法:方法三:循环赋值方法三:循环赋值方法三:循环赋值方法三:循环赋值 总结:末尾增加了一个总结:末尾增加了一个总结:末尾增加了一个总结:末尾增加了一个0000字符。字符。字符。字符。138.2 8.2 字符串字符串vv 字符串的输出也可以采用单个字符字符串的输出也可以采用单个字符一个一一个一个输出个输出的方式:的方式:148.2 8.2 字符串字符串vv 字符串除了具备以上字符数组的处理方式字符串除了具备以上字符数组的处理方式之外,还可以采用之外,还可以采用C C语言提供的输入输出字语言提供的输入输出字符串的格式符符串的格式符“%s%s”。所以,所以,方法四为:方法四为:vv 注意:字符数组的名字注意:字符数组的名字c c表示的是该数组的表示的是该数组的首地址,所以无需加地址符首地址,所以无需加地址符&,以下写法是,以下写法是错误的:错误的:158.2 8.2 字符串字符串vv 同样,采用同样,采用printfprintf()()函数输出字符串时,函数输出字符串时,格式符格式符“%s%s”对应的变量是字符数组的名字:对应的变量是字符数组的名字:vv 注意:采用格式符注意:采用格式符“%s%s”输入输出字符串时,输入输出字符串时,字符数组应大于等于字符串中字符数组应大于等于字符串中字符的总数加字符的总数加1 1168.2 8.2 字符串字符串vv 字符串的初始化可以看作是字符序列赋值字符串的初始化可以看作是字符序列赋值的的第五种方法第五种方法,这种方法更为简便:,这种方法更为简便:178.3 8.3 字符串的输入输出函数字符串的输入输出函数vv 在在C C语言中提供了语言中提供了字符串的输入输出函数字符串的输入输出函数getsgets()()和和 puts()puts():vv 头文件:头文件:在在 “stdio.hstdio.h”中定义的。中定义的。vv 用途:用途:用于整个字符串的输入输出。用于整个字符串的输入输出。181.1.字符串输出函数字符串输出函数puts()puts()vv 例如:例如:19vv puts()puts()使用的使用的注意事项注意事项:一次只能输出一个字符串;一次只能输出一个字符串;可以输出转义字符;可以输出转义字符;输出字符串后自动换行输出字符串后自动换行;202.2.字符串输入函数字符串输入函数gets()gets()vv例如:例如:21v gets()gets()使用的使用的注意事项注意事项:函数函数gets()gets()一次只能输入一个字符串;一次只能输入一个字符串;同同scanfscanf()()函数一样,在函数一样,在gets()gets()读入一个字符串读入一个字符串后,系统自动在字符串后面加上一个结束标志后,系统自动在字符串后面加上一个结束标志00;函数函数gets()gets()可以读入包含可以读入包含空格空格和和TABTAB的全部字符,的全部字符,直到直到遇到回车为止遇到回车为止;使用格式符使用格式符“%s%s”的函数的函数scanfscanf()()以空格,以空格,TABTAB或回车作为一段字符串的间隔符或或回车作为一段字符串的间隔符或结束符。结束符。含有空格和含有空格和TABTAB的字符串要用的字符串要用gets()gets()函数输入。函数输入。22 C C语言提供了很多字符串操作函数,这些库函数语言提供了很多字符串操作函数,这些库函数极大地方便了字符串的使用。极大地方便了字符串的使用。vputs puts 输出字符串输出字符串gets gets 输入字符串输入字符串 (#include(#include)vstrcatstrcat 字符串连接字符串连接strcpystrcpy 字符串复制字符串复制strcmpstrcmp 字符串比较字符串比较strlenstrlen 字符串长度字符串长度strlwrstrlwr 将字符串中的大写字符转换为小写字符将字符串中的大写字符转换为小写字符struprstrupr 将字符串中的小写字符转换为大写字符将字符串中的小写字符转换为大写字符(#include)(#include)8.4 8.4 字符串操作函数字符串操作函数 printfprintf,scanfscanfputcharputchar,getchargetchar238.5 8.5 二维字符串数组二维字符串数组 v二维字符串数组的初始化二维字符串数组的初始化 v 二维字符串数组的初始化,可以采用二二维字符串数组的初始化,可以采用二维字符数组初始化形式或者字符串初始化形式,维字符数组初始化形式或者字符串初始化形式,v如:如:char char name210=J,o,h,n,0,M,aname210=J,o,h,n,0,M,a,r,r,y,0;,r,r,y,0;char name210=”char name210=”John”,”MarryJohn”,”Marry”;”;char name210=”char name210=”John”,”MarryJohn”,”Marry”;”;三种方法效果一样。三种方法效果一样。24第九章第九章 变量类别与编译预处理变量类别与编译预处理 25全局变量和局部变量全局变量和局部变量 C C语言根据变量作用域的不同,将变量分为语言根据变量作用域的不同,将变量分为局部局部变量变量和和全局变量全局变量。局部变量局部变量:变量定义的位置在函数:变量定义的位置在函数内部内部。全局变量全局变量:变量定义的位置在函数:变量定义的位置在函数外部外部。不同的定义位置决定了变量的作用范围(称为作用不同的定义位置决定了变量的作用范围(称为作用域)。域)。26宏定义宏定义 C C语言在对源程序进行正常编译语言在对源程序进行正常编译之前之前,先对一些,先对一些特殊的预处理命令作解释,产生一个新的源程序(特殊的预处理命令作解释,产生一个新的源程序(称称做编译预处理做编译预处理),之后再进行通常的编译。),之后再进行通常的编译。在源程序中,所有预处理命令行都在源程序中,所有预处理命令行都以符号以符号“#”#”开开头头,并且,并且结尾不用分号结尾不用分号。C C语言提供的语言提供的预处理命令主预处理命令主要有要有:宏定义宏定义、文件包含文件包含和和条件编译条件编译。其中宏定义。其中宏定义分为分为带参数的宏定义带参数的宏定义和和不带参数的宏定义不带参数的宏定义。27 一、不带参数的宏定义一、不带参数的宏定义 不带参数的宏定义的一般形式为:不带参数的宏定义的一般形式为:#define#define 标识符标识符 字符串字符串 它的作用是在编译预处理时,将源程序中所有它的作用是在编译预处理时,将源程序中所有标识标识符替换成字符串。符替换成字符串。v例如:例如:#define PR#define PR printfprintf#define N 2#define N 2 宏定义常用来定义符号常量。宏定义常用来定义符号常量。28v 无参数的宏定义使用时,要注意以下无参数的宏定义使用时,要注意以下几个问几个问题题:(1 1)宏名)宏名一般用大写字母一般用大写字母,以便与变量名的区别。,以便与变量名的区别。用小写字母也不算错。用小写字母也不算错。(2 2)在编译预处理时)在编译预处理时宏名与字符串进行替换宏名与字符串进行替换时,不时,不作语法检查。作语法检查。(3 3)宏名的)宏名的有效范围是从定义位置到文件结束有效范围是从定义位置到文件结束。如。如果需要终止宏定义的作用域,可以用果需要终止宏定义的作用域,可以用#undefundef命令。命令。(4 4)宏定义时)宏定义时可以引用已经定义的宏名可以引用已经定义的宏名。29二、带参数的宏定义二、带参数的宏定义 带参数的宏定义的一般形式为带参数的宏定义的一般形式为#define#define 标识符标识符(参数表参数表)字符串字符串 v 它的作用是在编译预处理时,它的作用是在编译预处理时,将源程序中将源程序中所有标识符替换成字符串所有标识符替换成字符串,并且,并且将字符串中的参数将字符串中的参数用实际使用的参数替换用实际使用的参数替换。例如:例如:#define S(#define S(a,b,ca,b,c)(a+b+c)/2)(a+b+c)/2 则如果源程序中使用了则如果源程序中使用了S(3,4,5),S(3,4,5),在编译预处理在编译预处理时将替换为时将替换为(3+4+5)/2(3+4+5)/2。30文件包含文件包含 v “文件包含文件包含”用于一个源程序文件用于一个源程序文件包含包含另外一个源程序文件的全部内容。另外一个源程序文件的全部内容。v提供的文件包含预处理命令的提供的文件包含预处理命令的一般形式一般形式:#include#include 或者或者#include“#include“文件名文件名”31

    注意事项

    本文(第8章字符与字符串 第九章变量类别与编辑预处理.ppt)为本站会员(s****8)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开