收藏 分销(赏)

程序入门语言-C语言第四章选择.ppt

上传人:快乐****生活 文档编号:12558466 上传时间:2025-10-30 格式:PPT 页数:39 大小:1.55MB 下载积分:12 金币
下载 相关 举报
程序入门语言-C语言第四章选择.ppt_第1页
第1页 / 共39页
程序入门语言-C语言第四章选择.ppt_第2页
第2页 / 共39页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,*,*,第,4.4,节 选择控制程序设计,你知道计算机中各种密码验证如何实现吗?,你是根据什么选择,?,设置一个条件,条件如何表示?,注意事项:,C,语言中混合运算要特别小心运算符号的优先级和结合律。,C,语言所有表达式都有一个值,要区别表达式和表达式的值。,4.4.1,关系运算和逻辑运算,目标:,一、关系运算符号有哪些?它们的结合律是什么?,二、关系表达式如何构成?,三、关系表达式的值有什么?,四、关系运算的优先级怎么规定?,五、逻辑运算符号有哪些?,六、逻辑表达式如何构成?,七、逻辑表达式的值有什么?,八、,逻辑真值表,九、逻辑运算的优先级怎么规定?,4.1.1 关系和逻辑运算,一、关系符号及关系表达式,比较两个量,x,y,之间的关系式子叫关系表达式,x y x y x=y x!=y,比较的结果,关系表达式的值:,31,真,13,假,例题:,int x=2,y=6;,x=(y 3)X=y3;,x=(x y),1,0,x=1,x=0,例,4-7,用关系表达式表示下列条件或解释关系表达式的意义。,(1),变量,x,的值是零;,x=0,(2),变量,x,的值不等于零;,x!=0,(3),字符变量,ch,在字母,A,的后面;,ch,A,(4),字符变量,ch,在字母,Z,的前面;,cha+b,,等价于,c,(,a+b,);关系运算符的优先级低于算术运算符。,(6)ab=c,等价于,(ab)=c,;“,”,优先级高于“,=”,。,(7)a=bc,,等价于,a=(bc),;关系运算符的优先级高于赋值运算符。,说明:,(1),字母比较大小是按照它们对应,ASCII,码值的大小比进行比较,实质表示字母在,ASCII,表的前后顺序。,(2),建议不要写容易引起混淆的关系式子,尽量用,(),把先关量括起来。,练习:,1.,若:,X=8,则:,x=10,(?),2.,若:,X=10,则:,x=0,),(2),英文小写字母,即:,(ch=,a,)&(ch=,a,)&(ch=,A,)&(ch=,Z,);,其中,ch,是字符变量。,(4)20,岁以下的女生,即:(,g=0,),&,(,a=20,);其中用,g=0,表示女生,,a,表示年龄的变量。,(5)20,岁以下的男生,即:(,g=1,),&,(,a=,=,!=,&,|,=,运算符的优先级,设,x=1,y=2,c=0,x=y=c&!x+2 3,(,x=y=c,),&,(,!x+2 3,),(,x=y,),=c,),&,(,!x+2,),3,),(,x=y,),=c,),&,(,!x,),+2,),3,),练习,1.!x,与,x!=,的区别?,2.,思考题:如何表示既不等于,又不等于,3,。,(x!=2)|(x!=3)?,(x!=2&x!=3)?(!(x=2|x=3),3.Int n ;(n%2=0),为真是什么意思?,4.,所有小写字母如何表示?,5.,所有大写字母如何表示?,6.char ch;ch,是空格字符如何表示,ch,是回车符,.,ch=040,真,ch=n,真,7.,一个字符串的结束:,ch=0,真,8.,如何表示,0 x=,a,)&(chx=90)printf(,“,A n,”,);,else if(x=80)printf(,“,B n,”,);,else if(x=70)printf(,“,C n,”,);,else if(x=60)printf(,“,D n,”,);,else printf(,“,F n,”,);,如果,if,后的语句多余两条则用,括起来。,4 嵌套的,if,语句,(,省略),2、,嵌套的,if else,结构,if(exp_1),if(exp_2)statement_1,else statement_2,else,if(exp_3,),statement_3,else statement_4,if(exp),statement1,else,statement2,if,语句,if,语句,嵌套的,if,语句,else,与,if,就近结合,完全包含不交叉。,if(),if(),else,.,.,else,输入变量,x,计算符号函数:,1,当,x0,y=0,当,x=0,-1,当,x=0),if(x0)y=1;,else y=0;,else y=-1;,x=0,x 0,y=1,y=0,非0,0,非0,y=-1,0,If(x0)y=1;,else y=0;,5 switch,语句,功能:多种情况选择一个切入点开始运行。,switch(,表达式),case,常量,表达式1:语句,段1,case,常量,表达式2:语句,段2,.,case,常量,表达式,n,:语句,段,n,default:,语句,段,n+1,给多种情况设置一个开始点,从入口点执行到,SWITCH,完;表达式的值必须,是整数或,等同整数,,常量表达式值,必须是某个整数,,正好是表达式的某个值;否则无法实现目的。,、表达式:叫控制表达式,用来控制执行那一种情况。,、每一个常量表达式刚好是表达式的某个值。,、以上情况都不是时,,default,后的语句被执行。,、不足时不排它性。,表达式,e,图,4-15,复合句,1,复合句,2,复合句,n,复合句,n+1,若,e=c1,时,若,e=c2,时,若,e=cn,时,不等于任何,Switch case-break,结构运行流程:,表达式的值=常量表达式 2 的值,表达式,语句段1,语句段2,语句段,n,语句段,n+1,表达式,的值=,常量表达式 1,的值,表达式的值=常量表达式,n,的值,其他,作业:输入一个整数,n,,如果,90=n,100,输入;,如果,80=n90,输入,B,;如果,70=n80,输入,C,;,如果,60=n70,输入,D,;如果,n60,输入,F,。,分析:用,SWITCH,(,x,),如何把一段数转换成一个常数:,n/10,case,的常量分别是什么?,switch(n/10),case 10:,case 9:printf(“An”);break;,case 8:printf(“Bn”);break;,例,void main(),char c;,printf(Please input a character:n);,c=getchar();,switch(c),case :,case n:,printf(This is a blank or enter);,break;,case 0:case 1:case 2:case 3:case 4:,case 5:case 6:case 7:case 8:case 9:,printf(This is a digit.n);,break;,default:,printf(This is an other character.n);,输入,2,输入,a,几个常量表达式共有一个语句段,例,4-15,编程序实现从键盘上输入两个整数,然后输入运算符号,若为,+,号输出两数之和,若为,-,输出第一个数与第二个数的差,若为*号输出两数的积,若为,/,号输入第一个数除以第二个数的商。,算法分析:,(1),提示并要求用户输入两个整型数;,(2),提示并要求用户输入运算符号;,(3),判断用户输入的运算符号;,(4),用,switch-case,分四种情况处理;,(5),显示算式和结果,#include,main(),float x,y;/*,分别用来存储两个运算数*,/,float jg;/*,用来存储和差积商之一*,/,char ch,;,/*,用来存储运算符号*,/,printf(,“,请输入两个实型数:,n,”,);,scanf(,“,%f%f,”,getchar();/,去除上次,scanf,的回车符号,printf(,“,请输入运算符号,+,、,-,、*、,/,之一,n,”,);,/*,提示用户输入运算符*,/,ch=getchar,();,/scanf(,“,%c,”,/*,以下是根据不同情况求相关运算*,/,switch,(,ch,),case,+,:,jg=x+y;,break;,case,-,:,jg=x-y;,break;,case,*,:,jg=x*y;,break;,case,/,:,jg=x/y;,break;,default:,printf(,“,n,你输入的字符不符合要求!,”,);,if(ch=,+,|ch=,-,|ch=,*,|ch=,/,)/*,正常运算才显示结果*,/,printf(,“,n%f%c%f=%fn,”,x,ch,y,jg);/*,输出显示结果 *,/,例,4-16,求最大值,输入3个数,输出其中的最大值。,#include,void main(),int a,b,c,max;/max biaoshi dashu,printf(input a,b,c:n);,scanf(%d%d%d,max=a;,if(max b)max=b;,if(max=0&c=a&c=A&c=Z),printf(This is a letter.n);,else,printf(This is an other character.n);,例,4-17,将三个数按照从小到大打印出来,算法分析:,两两比较,第一次找到最小的,把大的数往后移,把小的数往前移,第二次从第二个数开始,重复前面的动作,这样第二次就找到次小的,如此反复一直到最后的两个数比较。,用伪代码表示三个数的选择法排序算法:,(,1,),if ba,将,a,b,交换(,a,是,a,b,中的小者,此后,a,不一定是原来的,a,);,(,2,),if ca,将,a,c,交换,(a,是,a,c,中的小者,因此,a,是三者中的最小者,),;,(,3,),if cb,将,b,c,交换(在剩下的两个数,b,c,中选次小数,存放在,b,中);,(,4,)输出,a,b,c,。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服