C语言基础模块4pa.ppt
《C语言基础模块4pa.ppt》由会员分享,可在线阅读,更多相关《C语言基础模块4pa.ppt(29页珍藏版)》请在三一办公上搜索。
1、数组(二),模块4,共 34 页 第 2 页,1 字符与字符串 2 字符数组 3 字符串处理函数4 二维字符数组5 应用实例,字符数据处理,共 34 页 第 3 页,符号常量:以指定符号代表其后的“一串字符”格式:#define 标识符 常量,1 字符与字符串,一、字符型数据,可以是任意类型常量,字符常量:以 括起来的单个字符,开头的字符序列。,例:a,A,n表示换行,r表示回车。,字符串常量:用双引号括起来的字符序列。,例:”Ch”,”123”等。长度不限,末尾加0,字符变量:存放字符常量的变量,用char说明。,共 34 页 第 4 页,1 字符与字符串(续),二、字符串,串长:字符串中所
2、包含的字符数。串结束标记:字符 0 称为串结束标记。,C中的串以 0 结束。,字符串在数组中的存储格式,字符串可以存在一个一维数组中,字符串中的一个字符占用字符数组中一个字节,具有数组特性。字符串实际占有单元的数量等于字符串长度+1。,例如:要定义一个存放字符串“CHINA”的字符数 组c,应定义为:char c6;数组c在内存中实际存放情况为:,共 34 页 第 5 页,串长=5,三、字符数据的输入输出,库函数:getchar(),putchar(ch),从键盘上读一个字符,1 字符与字符串(续),使用getchar()时,可以输入任何字符,允许用户根据自己的要求进行控制与处理,串尾0要自己
3、编程加入。其中ENTER接受为r(回车)。,格式化输入输出函数:scanf();printf();”%c”,共 34 页 第 6 页,格式:数据类型 数组名维数说明;,例:char a4,b10;char c34;表示a数组可以存放4个字符,c数组可以存放12个字符。,例:c34可存放三个字符串,每个字符串最多存放4个字符。,一维字符型数组作为一个字符串变量使用。二维字符型数组相当于一个字符串数组,每行存放 一个字符串。,2 字符数组(续),一、一维字符数组的定义,二、字符数组的用途,共 34 页 第 7 页,8-2 字符数组,三、一维字符数组的初始化,用字符串对字符数组初始化,如:char
4、ch6=CHINA;char ch6=CHINA;/*省略*/char ch=CHINA;/*省略长度值*/,字符数组初始化,用单个字符对字符数组初始化,如:char ch6=C,H,I,N,A,0;,2 字符数组(续),共 34 页 第 8 页,2 字符数组(续),四、一维字符数组的引用,如:char a10=CHINA2000”,b3=“123”;printf(“%cn”,a3);printf(“%sn”,a);,对于字符数组,不仅可以引用它的数组元素,也可以引用整个数组。,共 34 页 第 9 页,2 字符数组(续),static char a3;for(i=0;i3;i+)scanf(
5、%c,输入数据顺序:d o s输出数据顺序:dos,四、字符数组的输入与输出,单字符输入输出(用格式符c控制),共 34 页 第 10 页,static char a7;scanf(%s,a);,2 字符数组(续),字符数组名指明数组首地址,字符串输入输出(用格式符s控制),0不输出,只能输入不包括空格、t和n的字符串自动在串尾加0,printf(%sn,a);,共 34 页 第 11 页,五、字符串在数组中的存储格式,使用字符0作为字符串的结束标记,就使得C语言对字符串的长度没有具体的限制,但字符串的最大长度不能超过存储它的字符数组的长度,否则会造成数组越界错误。,2 字符数组(完),0是在
6、字符串存入字符数组是由系统自动添加的,并不是字符串本身的一部分,在计算串长的时候并不包括 0。,共 34 页 第 12 页,3 字符串处理函数,一、字符串输入输出函数,gets(字符数组名);,由终端输入字符串到字符数组,以换行结束 返回字符数组的首地址,puts(字符数组名);,将以0结束的字符串输出到终端 返回的函数值是字符数组的首地址,共 34 页 第 13 页,3 字符串处理函数(续),格式:strlen(x);,功能:返回x字符串中字符的个数(不包括字符串结束符)。,x是字符串首地址,其形式可以是字符数组或字符指针,也可以是字符常量。,二、求字符串长度的函数,共 34 页 第 14
7、页,3 字符串处理函数(续),格式:strcat(字符数组1,字符数组2);,功能:连接两个字符数组中的字符串,将串2接在串1后,结果存放在字符数组1中,返回的函数值是字符数组1的首地址。,字符数组1的长度不可缺省,足够大。,三、字符串连接函数,四、字符串复制函数,格式:strcpy(字符数组1,字符数组2);,功能:将串2复制到串1数组中。,共 34 页 第 15 页,程序#include void main()char str1100,str2100;int i,j;printf(”Enter string 1:”);gets(str1);printf(”Enter string 2:”)
8、;gets(str2);for(i=0;str1i!=0;i+);/*确定0位置*/for(j=0;(str1i=str2j)!=0;i+,j+);printf(”Output string 1:%sn”,str1);,例8 字符串连接。将串str2连接到串str1之后。根据字符串中 0 的位置进行字符串连接。关键:要用str2的第1个字符覆盖str1的串结束标记0。,a,b,c,d,e,f,g,0,str2,str1,.,.,.,算法:1、查找str1的串结束标记02、从str1的0开始,将str2复制到str1。,3 字符串处理函数(续),共 34 页 第 16 页,例9 字符串复制。将字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 模块 pa
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6503812.html