欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

C语言程序设计字符串和字符串指针变量(2版)

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

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

C语言程序设计字符串和字符串指针变量(2版)

1.字符型数据字符型数据nC程序设计语言采用了ASCII标准字符集来提供对字符数据的支持。ASCII字符集提供了127个字符的编码。组成如下:1.字母:大写英文字母AZ,小写字母az2.数字:093.专门符号:29个,包括:!“等等4.空格符:空格、水平制表符(tab)、垂直制表符号等等5.转义字符:n(回车换行)b(退格)等等ASCII编码编码(书本附录书本附录P377)在计算内部实际上是将字符以整数形式存放在内存单元中的。这个整数实际上就是字符的ASCII编码例如:大写字母A的ASCII编码是65,Z的编码是90小写字母a的ASCII编码是97,z的编码是122数字字符0的ASCII编码是49,9的编码是57空格字符 的ASCII编码是32注意:(1)C语言中字符常量是由1个字符构成的数据.(2)在程序中,字符常量必须用单引起括起来,所以1和1是两个完全不同的对象。前者是字符,后者是一个数字.字符变量字符变量字符变量是用类型符char定义的变量。一个字符变量只能存储一个ASCII字符。例如:char c;正确的代码:c=?;错误的代码:c=?!;c=“abc”;2.字符串常量字符串常量由多个字符组成的数据称为字符串常量(以后简称字符串),字符串常量的两边必须用双引号包含起来。例如:“this is a string.”或 “china”在C程序设计语言中,字符串常量使用数组保存。区别字符字符串形式用单引号括起来用双引号括起来数量1个字符大于等于一个字符n字符串在内存中的存储方式是,按顺序存储每个字符的ASCII编码值,如下图所示。每个字符串的末尾都附有一个特殊字符0,称为字符串结束标志。C C语言中没有字符串变量语言中没有字符串变量,因此要保存字因此要保存字符串常量的话需要借助字符数组符串常量的话需要借助字符数组.6.3 字符数组字符数组P154字符数组使用char关键字进行定义,一般形式如下:char 数组名数组长度;例如:定义字符数组c,并将字符逐一保存到字符数组中.char c20=I,a,m,h,a,p,p,y,0;C0C1C2C3C4C5C6C7C8C9 C10C11I am ha p py 00注意:余下的数组元素用空字符0填充字符串和字符串结束标志字符串和字符串结束标志0可以直接使用字符串常量来赋值字符数组,例如:char c20=“I am happy”;或简写成char c20=“I am happy”;和上一个例子相同,字符串中的字符是逐个存放到数组元素中的。唯一的区别是,C系统在用字符数组存储字符串常量时会自动在末尾加一个0作为字符串结束标志。所以上面的程序实际上是存储了11个字符数据到数组c中。C0C1C2C3C4C5C6C7C8C9 C10C11I am ha p py 0字符数组的输出方法字符数组的输出方法P159(一)逐个字符输出使用printf语句和%c格式符#include main()char c15=I,a,m,a,s,t,u,d,e,n,t,.;char d11=“I am happy”;int i;for(i=0;i15;i+)printf(%c,ci);printf(n);for(i=0;i10;i+)printf(%c,di);(二)将整个字符串一次输出,使用printf和%s格式符例C6-6-2.C#include main()char c11=I am happy;printf(%s,c);getch();用%s格式符输出字符串时,printf函数中的输出项是字符数组名说明说明:n输出的字符不包括结束符0n如果数组长度大于字符串实际长度,输出到0结束例如:char c10=“China”;只输出有效的字符5个n如果字符数组中包含一个以上0,则遇第一个0时输出就结束。例如char c=“hello Bob”;c5=0;printf(“%s”,c);/*屏幕上输出hello */c0c1c2c3c4c5c6c7c8c9hello空格 Bob0字符数组的输入字符数组的输入可以用scanf函数输入一个字符串。例如:char c20;scanf(”%s”,c);注意:scanf函数中的输入项c是已定义的字符数组名,数组名前面不要加&,因为C语言中数组名代表该数组的地址。6.3.6字符串处理函数字符串处理函数puts()函数 作用:是将一个字符串(以0结束的字符序列)输出到屏幕。使用方式为:puts(字符数组名);例如:char str=“chinanBeijing”;puts(str);gets()函数作用:作用是从终端输入一个字符串到字符数组。使用方式为:gets(字符数组名);例如:char str200;gets(str);二维字符数组二维字符数组n若需要存放多个字符串,则可以使用二维字符数组定义二维字符数组的语法格式char 数组名整型常量整型常量;例如:char arr310;例题例题6.15 二维字符数组单个元素引用二维字符数组单个元素引用#include void main()char week710=Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;int i,j;for(i=0;i7;i+)for(j=0;j字符串字符串2,函数值为一正整数。,函数值为一正整数。l如果字符串如果字符串1str2strlen函数函数lstrlen是测试字符串长度的函数。函数的值为字符串中的是测试字符串长度的函数。函数的值为字符串中的实际长度实际长度(不包括不包括0)。其一般形式为:。其一般形式为:strlen(字符数组字符数组)例如:例如:char str10=“China”;printf(“%d“,strlen(str);输出结果不是输出结果不是10,也不是,也不是6,而是,而是5。strlwr函数和函数和strupr函数函数 lstrlwr函数的作用是将字符串中大写字母换成小写字母。函数的作用是将字符串中大写字母换成小写字母。其一般形式为:其一般形式为:strlwr(字符串字符串)lstrupr函数的作用是将字符串中小写字母换成大写字母。函数的作用是将字符串中小写字母换成大写字母。其一般形式为:其一般形式为:strupr(字符串字符串)6.3.3 指向字符串的指针变量指向字符串的指针变量n可以定义一个指向字符的指针变量来指向存放字符串的首地址,这种指针变量就称为指向字符串的指针变量。例如:char*ptr=“This is a string”;说明:系统分配一块长度为字符串字符个数加上1的连续内存空间用于存放该字符串,然后将连续内存空间的首地址赋给字符指针ptr.例例6.17#include stdio.hvoid main()char*string;string=This is a string.;printf(%sn,string);string+=8;while(*string)putchar(string0);string+;Thisisastring.0内存指向字符数组的指针变量指向字符数组的指针变量可以定义一个字符指针指向一字符数组。例6.18#include stdio.hmain()char str=This is a string.;char*string;string=str;printf(%sn,str);printf(%sn,string);string+=8;printf(%sn,string);getch();字符串应用举例字符串应用举例例题例题1:n统计用户从键盘上输入字符串中字符的个数。#include void main()char c100;int i,sum=0;gets(c);for(i=0;ci!=0;i+)sum+;printf(the input font number=%d,sum);循环终止条件ci!=0当遇到存储字符串结束符的数组元素时,则循环停止。tjzf1.c方法1:使用gets函数完整读取输入的内容后,再使用循环逐个统计又字符的数组元素个数,直到遇到字符串结束符0为止方法2:使用getchar函数逐个读取键盘上输入的字符并保存到数组中,直到遇到回车符n时停止tjzf2.c#include void main()char c100;int i,sum=0;for(i=0;(ci=getchar()!=n)&i100;i+)sum+;printf(the input font number=%d,sum);getch();例题例题2:n编写程序代码统计用户从键盘上输入一行字符中,字母,数字,空格和其他字符的个数。例如:键盘输入 Monday.则显示字母有9个,数字2个,空格4个,其他字符1个#include void main()char c100;int i,zm=0,sz=0,kg=0,qt=0;gets(c);.#include void main()char c100;int i,zm=0,sz=0,kg=0,qt=0;gets(c);for(i=0;ci!=0;i+)if(A=ci&ci=Z)zm+;else if(a=ci&ci=z)zm+;else if(0=ci&ci=A)&(*str1=a)&(*str2=z)*str2-=32;str2+;puts(s1);puts(s2);例例6.25n删除一个字符串中所有的空格字符#include stdio.hmain()char s80,*p1,*p2;gets(s);p1=p2=s;while(*p1)if(*p1=)p1+;else *p2+=*p1+;*p2=0;printf(%sn,s);s10s11s12s13s14s15s179A空格 C空格E0例例6.27 将一个字符串反向将一个字符串反向#include stdio.hmain()char str50,*p1,*p2,temp;printf(Enter string:);gets(str);p1=p2=str;while(*p1)p1+;p1-;while(p2p1)temp=*p2;*p2+=*p1;*p1-=temp;puts(str);s10s11s12s13s14s15s149AB CDE0例例6.28 将多个字符串按从小到大排序将多个字符串按从小到大排序#include stdio.h#include string.hmain()char s68=FORTRAN,PASCAL,BASIC,COBOL,C,C+,temp8;int i,j,k;for(i=0;i5;i+)k=i;for(j=i+1;j0)k=j;if(k!=i)strcpy(temp,sk);strcpy(sk,si);strcpy(si,temp);for(i=0;i6;i+)puts(si);

注意事项

本文(C语言程序设计字符串和字符串指针变量(2版))为本站会员(Za****n*)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

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




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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