字符与字符串变量类别与编辑预处理

上传人:ji****72 文档编号:50942135 上传时间:2018-08-11 格式:PPT 页数:31 大小:443.50KB
返回 下载 相关 举报
字符与字符串变量类别与编辑预处理_第1页
第1页 / 共31页
字符与字符串变量类别与编辑预处理_第2页
第2页 / 共31页
字符与字符串变量类别与编辑预处理_第3页
第3页 / 共31页
字符与字符串变量类别与编辑预处理_第4页
第4页 / 共31页
字符与字符串变量类别与编辑预处理_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《字符与字符串变量类别与编辑预处理》由会员分享,可在线阅读,更多相关《字符与字符串变量类别与编辑预处理(31页珍藏版)》请在金锄头文库上搜索。

1、第八章 字符与字符串 1v 以前介绍的字符输入输出方法: scanf(“%c ”, printf (“%c”, ch);v 专门用于单个字符输入输出的函数: getchar(); putchar();v 四个函数都是在头文件stdio.h中定义 的21.字符输入函数getchar( ) 例如: char c;c=getchar( );从键盘上输入:a则字符型变量c等于字符a。上式等价于 scanf(“%c”,3v 但是不是所有场合二者都可以互相替换。 下面我们列出了它们的不同之处:v(1) getchar( )一次只能接收一个字符。(2) getchar( )可以接收回车字符。而 scanf(

2、 )将回车作为数据的间隔符或结束符。(3) getchar( )接收的字符可以不赋给任何 变量。 42.字符输出函数putchar( ) v 例如:char c=A;putchar(c);结果是输出字符变量c的值。 58.2 字符数组vv 如果有一个字符序列:如果有一个字符序列:I like CI like C,我们可以,我们可以 把它看作是如下把它看作是如下8 8个字符的集合个字符的集合: I I, , l l, i i , kk, ee, , CC;vv 可以将这个可以将这个字符序列字符序列存入存入字符数组字符数组中;中;68.2 字符数组vv 该字符数组的该字符数组的赋值赋值可以采用三种

3、方法:可以采用三种方法: 方法一:初方法一:初 始化始化方法二:分别方法二:分别 赋值赋值78.2 字符数组vv 该字符数组的该字符数组的赋值赋值可以采用三种方法:可以采用三种方法: 方法三:循方法三:循 环赋值环赋值 总结:除了总结:除了 使用初始化方法,只能一个元使用初始化方法,只能一个元 素一个元素赋值。素一个元素赋值。88.2 字符数组vv 同样,将字符数组中的内容全部同样,将字符数组中的内容全部输出输出,也,也 只能一个元素一个元素地输出:只能一个元素一个元素地输出:98.2 字符串vv 字符串的处理是字符串的处理是基于字符数组基于字符数组的。的。vv 字符串的存储特点:字符串的存储

4、特点:实际存储时实际存储时, ,在其尾在其尾 部添加了一个结束标志部添加了一个结束标志00。vv 说明:说明:0 0代表代表ASCIIASCII码为码为0 0的字符,的字符, 是一个空操作符,无显示内容,表示什么是一个空操作符,无显示内容,表示什么 操作也不做。操作也不做。vv 采用字符数组存放字符串:赋值时应包含采用字符数组存放字符串:赋值时应包含 结束标志结束标志00。108.2 字符串vv 例如:将例如:将“I like C”I like C”存放入数组存放入数组c c中,实中,实 际存放了际存放了9 9个字符个字符: I I, , l l, i i , kk, ee, , C C ,

5、00 ;vv 字符串字符串在在字符数组字符数组中的状态:中的状态:118.2 字符串vv 字符串对应的字符数组的赋值方法:字符串对应的字符数组的赋值方法: 方法一:初方法一:初 始化始化 方法二:分方法二:分 别赋值别赋值 128.2 字符串vv 字符串对应的字符数组的赋值方法:字符串对应的字符数组的赋值方法: 方法三:循方法三:循 环赋值环赋值 总结:末尾总结:末尾 增加了一个增加了一个00字符。字符。138.2 字符串vv 字符串的输出也可以采用单个字符字符串的输出也可以采用单个字符一个一一个一 个输出个输出的方式:的方式:148.2 字符串vv 字符串除了具备以上字符数组的处理方式字符串

6、除了具备以上字符数组的处理方式 之外,还可以采用之外,还可以采用C C语言提供的输入输出字语言提供的输入输出字 符串的格式符符串的格式符“%s”%s”。所以,所以,方法四为:方法四为:vv 注意:字符数组的名字注意:字符数组的名字c c表示的是该数组表示的是该数组 的首地址,所以无需加地址符的首地址,所以无需加地址符char name210=”John”,”Marry”;char name210=”John”,”Marry”; 三种方法效果一样。 24第九章 变量类别与编译预处理 25全局变量和局部变量 C语言根据变量作用域的不同,将变量分为局部 变量和全局变量。 局部变量:变量定义的位置在函

7、数内部。 全局变量:变量定义的位置在函数外部。不同的定义位置决定了变量的作用范围(称为作 用 域)。26宏定义 C语言在对源程序进行正常编译之前,先对一些 特殊的预处理命令作解释,产生一个新的源程序( 称 做编译预处理),之后再进行通常的编译。在源程序中,所有预处理命令行都以符号“#” 开头,并且结尾不用分号。C语言提供的预处理命 令主要有:宏定义、文件包含和条件编译。其中宏 定义分为带参数的宏定义和不带参数的宏定义。 27一、不带参数的宏定义 不带参数的宏定义的一般形式为:#define 标识符 字符串 它的作用是在编译预处理时,将源程序中所 有标识 符替换成字符串。 v 例如:#defin

8、e PR printf#define N 2宏定义常用来定义符号常量。28v 无参数的宏定义使用时,要注意以下几个问 题: (1)宏名一般用大写字母,以便与变量名的区别。 用小写字母也不算错。 (2)在编译预处理时宏名与字符串进行替换时,不 作语法检查。 (3)宏名的有效范围是从定义位置到文件结束。如 果需要终止宏定义的作用域,可以用#undef命令。 (4)宏定义时可以引用已经定义的宏名。29二、带参数的宏定义 带参数的宏定义的一般形式为#define 标识符(参数表) 字符串 v 它的作用是在编译预处理时,将源程序中 所有标识符替换成字符串,并且将字符串中的参数 用实际使用的参数替换。例如: #define S(a,b,c) (a+b+c)/2则如果源程序中使用了S(3,4,5),在编译预处 理时将替换为(3+4+5)/2。 30文件包含 v “文件包含”用于一个源程序文件包含 另外一个源程序文件的全部内容。v提供的文件包含预处理命令的一般形式:#include 或者#include “文件名” 31

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号