字符与字符串09114

上传人:沈*** 文档编号:252885337 上传时间:2024-11-21 格式:PPT 页数:32 大小:283.50KB
返回 下载 相关 举报
字符与字符串09114_第1页
第1页 / 共32页
字符与字符串09114_第2页
第2页 / 共32页
字符与字符串09114_第3页
第3页 / 共32页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式第五级,*,格式:,getchar(),功能:从键盘读一字符,例,/,*1.,c*/,#include,main(),int,c;,printf,(Enter a character:);,c=,getchar,();,printf,(%,c,n,c),;,运行结果:,Enter a character:A,A,字符,输入,1-函数输入,地址表,:变量的地址,,常用取地址运算符,例,scanf,(“%,c”,&,a);,输入:11,则,a=11,字符输入2-格式输入函数,格式:,scanf,(“%c”,,地址表,),功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束,说明:,用“%,c”,格式符时,空格和转义字符作为有效字符输入,如,scanf(“%c%c%c”,若输入,a,b,c,则,ac1,空格,c2,b c3,例 从键盘输入大写字母,用小写字母输出,#,include,stdio,.h,main(),char c1,c2;,c1=,getchar,();,printf,(%c,%dn,c1,c1);,c2=c1+32;,printf,(%c,%dn,c2,c2);,输入:,A,输出:,A,65,a,97,附加格式说明符(修饰符m.n),例,int,a=1234;,float f=123.456;,char,ch,=a;,printf,(“%8d,%2dn”,a,a);,printf,(“%f,%,8.1f,%.,2f,n”,f,f,f),;,printf,(“%3cn”,ch,);,运行,1234,1234,结果:,123.456000,123.5,123.46,a,例 m.n(对实数),例,static,char a=“Hello,world!”,printf,(,“%,10.5sn%2.5sn%.3sn”,a,a,a),;,运行结果:,Hello,Hello,Hel,例 m.n(对字符串),字符数组,定义,字符数组的初始化,逐个字符赋值,用字符串常量,例,char c10,例,char,ch,5=,H,e,l,l,o,;,ch,0,H,e,l,l,o,逐个字符赋值,ch,1,ch,2,ch,3,ch,4,有问题!,例,char,ch,5=,H,e,l,l,o,;,ch,0,H,e,l,l,o,逐个字符赋值,ch,1,ch,2,ch,3,ch,4,例,char,ch,5=,B,o,y,;,ch,0,B,o,y,0,0,逐个字符赋值,ch,1,ch,2,ch,3,ch,4,例,char,ch,5=“Boy”;,ch,0,B,o,y,0,0,用字符串常量,ch,1,ch,2,ch,3,ch,4,例,char,ch,6=“Hello”;,char,ch,6=“Hello”;,char,ch,=“Hello”;,用字符串常量,ch,0,H,e,l,l,o,ch,1,ch,2,ch,3,ch,4,0,ch,5,字符数组和字符串,#,include,main(),char c10=I,a,m,a,b,o,y;,int i;,for(i=0;i10;i+),printf(%c,ci);,printf(n);,I,a,m,a,b,o,y,0,1,2,3,4,5,6,7,8,9,例,输出一个字符数组,字符串及其结束标志,无字符串变量,用字符数组处理字符串,字符串结束标志,:0,“,hello”,共5个字符,在内存占6个字节,字符串长度5,h,e,l,l o,0,104 101 108 108 111 0,内存存放字符,ASCII,码,字符串,例 用,%,c,main(),char,str,5;,int,i;,for(i=0;i5;i+),scanf,(“,%c,”,&,str,i);,for(i=0;i5;i+),printf,(“%c”,str,i);,字符串的输入输出-逐个字符%c,运行情况:,输入:,abcde,输出:,abcde,例 用,%,s,main(),char,str,5;,scanf,(“%s”,str,);,printf,(“%s”,str,);,用字符数组名,遇0结束,字符串的输入输出-%s输入字符串,%s输入会在字符串后自动加0,例,main(),char a,5=,H,e,l,l,o;,printf,(“%s”,a);,例 main(),char a=“Hello”;,printf(“%s”,a);,结果:,Hello#-=*,h e l l,o,0,2,3,1,4,结果:,Hello,用“%,s”,输出时,遇0结束,main(),char,a=h,e,l,0,l,o,0;,printf,(%s,a);,输出:,hel,h e l 0 l o 0,数组中有多个0时,遇第一个结束,H o w 0,a r e 0,y o u?0,#,include,main(),char a15,b5,c5;,scanf(%s%s%s,a,b,c);,printf(a=%snb=%snc=%sn,a,b,c);,scanf(%s,a);,printf(a=%sn,a);,运行情况:,输入:,How are you?,输出:,a=How,b=are,c=you?,输入:,How are you?,输出:,a=How,scanf,中%,s,输入时,遇空格或回车结束,运行情况:,输入:,How are you?,例 字符串输入举例,字符串长度函数strlen,格式:,strlen,(,字符数组),功能:计算字符串长度,返值:返回字符串实际长度,,不包括0在内,例 对于以下字符串,,strlen,(s),的值为:,(1),char s10=A,0,B,C,0,D;,(2)char s=“tv0willn”;,(3)char s=“x69082n”;,循环型程序设计,while,do while,for,一般形式,:,while(,表达式),循环体语句;,执行流程,:,expr,循环体,假(0),真(非0),while,while,语句,#include,stdio.h,void main(),char,ch;int,num=0;,ch,=,getchar,();,while(,ch,!=n),判断是否输入结束,num+;,ch,=,getchar,();,printf,(num=,%,dn,num);,【,例,】,统计从键盘输入的一行字符的个数(以回车键作为输入结束标记)。,/*ch5_2.c*/,#include,main(),int,i,sum=0;,i=1;,while(i=100),sum=sum+i;,i+;,printf(%d,sum,);,循环初值,循环终值,循环变量增值,循环条件,循环体,例 用,while,循环求,1+2+.+100,do-while,语句,1、,do-while,的形式:,do,循环体;,while(,表达式);,2、,do-while,语句 常称为“直到型”循环语句。,真(非零),表达式,循环体,假(零),例 用,dowhile,循环求,/,*,ch5_3.c*/,#include,main(),int,i,sum=0;,i=1;,do,sum+=i;,i+;,while(i=100);,printf,(%d,sum);,#,include,main(),int,i,sum=0;,scanf,(%d,do,sum+=i;,i+;,while(i=10);,printf,(%d,sum);,main(),int,i,sum=0;,scanf,(%d,while(i=10),sum+=i;,i+;,printf,(%d,sum);,例,while,和,dowhile,比较,for,语句,一般形式:,for(,expr1,;,expr2,;,expr3,),循环体语句;,执行流程,:,expr2,循环体,假(0),真(非0),for,expr1,expr3,for,语句一般应用形式,:,for(,循环变量赋初值;循环条件;循环变量增值),循环体语句;,expr1;,while(expr2),循环体语句;,expr3;,例 用,for,循环求,#,include,main(),int,i,sum=0;,for(i=1;i=100;i+),sum+=i;,printf,(%d,sum);,1.c,求出以下分数序列的前,n,项之和。,1/2,2/3,3/5,5/8,8/13,13/21,.,例如,若,n,的值为:,5,,则应输出,3.007051,1,2,2,3,3,5,5,8,8,13,+,+,+,+,真题,06,试题二,试题三,07,试题五,2.c,反序,1,1/*,函数,fun,的功能是,:,使输入的一个字符串按反序存放,并在主函数中输出。*,/,#include,#include,main(),char str100;,printf(Input,string:);,scanf(%s,str,);,fun(str,);,printf(The,result:%sn,str,);,fun(char str),char t;,int i,j;,for(i=0,j=strlen(str)-1;i+,),t=stri;stri=strj;,2.c,反序,2,2.,本程序通过调用函数,inv(),将数组,a,中的元素头尾倒置过来。,例如:若倒置前数组,a,中原来的元素为,1,3,5,2,4,和,6,,则头尾倒置后数组,a,的元素变为,6,4,2,5,3,和,1,。,假设数组,a,的初值就是,1,3,5,2,4,6,这六个数,在程序运行时输入。请将源程序补充完整,要求得到正确的结果。,void,inv(int,x,int,n),main(),int a10=4,5,6,7,8,9,10,11,12,88;,int i;,printf(The original array:n);,for(i=0;i10;i+),printf(%3d,ai);,printf(n);,inv(a,10);,printf(The reverse array:n);,for(i=0;i10;i+),printf(%3d,ai);,printf(n);,2.c,反序,3,功能是:把一个小于小于,32767,的整数各位上的数转换成对应的数字字符,并按逆序输出。,例如:输入,693,,输出的字符为,6*9*3*,。,问:若输入,693,,输出的字符为,396,,程序应怎样修改?,函数palindrome(chars)的功能是:,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。,若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,,例如:“LEVEL”是回文字符串,而“LEVAL”不是。,函数2.1,int palindrome(char S),int pi,pj;,pi1;pjstrlen(S)-1:,while(pi=0&stri=9),k=_(4)_+stri-0;,+i;,_(5)_;,Return k;,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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