C语言基础模块4part.ppt

上传人:tia****nde 文档编号:11495332 上传时间:2020-04-25 格式:PPT 页数:29 大小:408KB
返回 下载 相关 举报
C语言基础模块4part.ppt_第1页
第1页 / 共29页
C语言基础模块4part.ppt_第2页
第2页 / 共29页
C语言基础模块4part.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
数组(二),模块4,共34页第2页,1字符与字符串2字符数组3字符串处理函数4二维字符数组5应用实例,字符数据处理,共34页第3页,符号常量:以指定符号代表其后的“一串字符”格式:#define标识符常量,1字符与字符串,一、字符型数据,可以是任意类型常量,字符常量:以括起来的单个字符,开头的字符序列。,例:a,A,n表示换行,r表示回车。,字符串常量:用双引号括起来的字符序列。,例:”Ch”,”123”等。长度不限,末尾加0,字符变量:存放字符常量的变量,用char说明。,共34页第4页,1字符与字符串(续),二、字符串,串长:字符串中所包含的字符数。串结束标记:字符0称为串结束标记。,C中的串以0结束。,字符串在数组中的存储格式,字符串可以存在一个一维数组中,字符串中的一个字符占用字符数组中一个字节,具有数组特性。字符串实际占有单元的数量等于字符串长度+1。,例如:要定义一个存放字符串“CHINA”的字符数组c,应定义为:charc6;数组c在内存中实际存放情况为:,共34页第5页,串长=5,三、字符数据的输入输出,库函数:getchar(),putchar(ch),从键盘上读一个字符,1字符与字符串(续),使用getchar()时,可以输入任何字符,允许用户根据自己的要求进行控制与处理,串尾0要自己编程加入。其中ENTER接受为r(回车)。,格式化输入输出函数:scanf();printf();”%c”,共34页第6页,格式:数据类型数组名维数说明;,例:chara4,b10;charc34;表示a数组可以存放4个字符,c数组可以存放12个字符。,例:c34可存放三个字符串,每个字符串最多存放4个字符。,一维字符型数组作为一个字符串变量使用。二维字符型数组相当于一个字符串数组,每行存放一个字符串。,2字符数组(续),一、一维字符数组的定义,二、字符数组的用途,共34页第7页,8-2字符数组,三、一维字符数组的初始化,用字符串对字符数组初始化,如:charch6=CHINA;charch6=CHINA;/*省略*/charch=CHINA;/*省略长度值*/,字符数组初始化,用单个字符对字符数组初始化,如:charch6=C,H,I,N,A,0;,2字符数组(续),共34页第8页,2字符数组(续),四、一维字符数组的引用,如:chara10=CHINA2000”,b3=“123”;printf(“%cn”,a3);printf(“%sn”,a);,对于字符数组,不仅可以引用它的数组元素,也可以引用整个数组。,共34页第9页,2字符数组(续),staticchara3;for(i=0;ia#include”stdio.h”voidmain()charstr1100,str2100;inti;printf(Enterstring1:);gets(str1);printf(Enterstring2:);gets(str2);for(i=0;(str1i=str2i),3字符串处理函数(续),共34页第19页,8-3字符串处理函数,六、大小写字母的转换,1格式:strlwr(x),功能:把地址为x的字符串中所有大写字母转换成小写字母。x可以是字符数组或字符指针,也可以是字符串常量。调用形式:strlwr(x);,2格式:strupr(x),功能:把地址为x的字符串中所有小写字母转换成大写字母。x可以是字符数组或字符指针,也可以是字符串常量。调用形式:strupr(x);,3字符串处理函数(完),共34页第20页,8-2字符数组,一、二维字符数组的定义,如:chara25,b37;,与二维数值数组定义相同,但数据类型为char,4二维字符数组,共34页第21页,8-2字符数组,二、二维字符数组的初始化,可以在定义的同时初始化,如:chara38=“str1“,”str2”,”string3”;charb6=“s1“,”s2”,”str3”;,二维字符数组初始化,4二维字符数组(续),二维字符数组初始化在内存的存储,共34页第22页,8-2字符数组,三、二维字符数组的引用,如:(1)for(i=0;i3;i+)printf(“%sn”,ai);(2)for(i=0;i3;i+)printf(“%cn”,aii);(3)for(i=0;i3;i+)printf(“%sn”,对于二维字符数组,每行可以看做一个字符数组。数组名ai。可以用ai引用i行的字符串,也可以用aij引用i行j列的字符。,4二维字符数组(完),输出:(1)str1(2)s(3)tr1str2tr2strinf3ring3,共34页第23页,#include#includevoidmain()charstring100,t;inti,j,n;gets(string);n=strlen(string);for(i=0;istringj+1)t=stringj;stringj=stringj+1;stringj+1=t;puts(string);,4应用实例,例11输入一行字符,将其中的每个字符从小到大排列后输出。,共34页第24页,例12输入五个单词,请将它们按从小到大的顺序排列后输出。#include#includevoidmain()charstr520,t20;inti,j,n;printf(Enterstring:n);for(i=0;i0)strcpy(t,strj);strcpy(strj,strj+1);strcpy(strj+1,t);printf(Result:n);for(i=0;i5;i+)puts(stri);,4应用实例(续),共34页第25页,例13任意输入一个3位整数,取其各位数字的和,再取这个和被7除的余数,输出余数对应的星期(英文单词)。如:输入123,(1+2+3)%7=6,则输出saturday。对3位整数n,拆分其百、十和个位的方法:百位:i=n/100;十位:j=n/10%10;个位:k=n%10;,4应用实例(续),共34页第26页,例13:#include“stdio.h”main()charweek79=Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;inti,j,k,a,n;doprintf(Pleaseinputanumber:n);scanf(%d,4应用实例(续),共34页第27页,#include“stdio.h”#include“string.h”voidmain()charstr80,c;inti,j,n;printf(Enterstring:);gets(str);n=strlen(str);for(i=0,j=n-1;ij;i+,j-)c=stri;stri=strj;strj=c;printf(Result:);puts(str);,4应用实例,例14输入一行字符串,将其反序后再输出。,共34页第28页,#include“stdio.h”#include“string.h”voidmain()charstr180,str280,str80;inti,j,n;printf(Enterstring1:);gets(str1);printf(Enterstring2:);gets(str2);n=0;for(i=0,j=0;str1i!=0,4应用实例,例15输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。,共34页第29页,#include#includevoidmain()intlength;charline100;gets(line);length=0;while(linelength!=0)length+;printf(”Stringlength=%dn”,length);,例16求字符串的长度根据字符串中0的位置来计算字符串长度。若:数组中第i个元素为0,则,串长=i。,length=7,4应用实例,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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