欢迎来到天天文库
浏览记录
ID:51081767
大小:476.50 KB
页数:27页
时间:2020-03-18
《C语言程序设计(十分详细).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章关系运算、逻辑运算与选择结构何渝北京工商大学计算机与信息工程学院计算机程序设计基础2本章主要内容选择结构关系运算条件运算逻辑运算if语句switch语句35.1结构化编程理论证明,在结构化设计中只需要三种基本的控制结构就可以完成任何的功能,这三种基本的控制结构是:顺序、选择和循环(重复),每一控制都由相应的语句来实现,它们使编写的程序具有良好的可读性和可维护性。4结构化编程的目标:简化程序设计过程降低程序复杂性增加程序可读性形成严谨编程方法由于顺序结构较简单,后面课程主要介绍后两种结构,本章介绍选择结构,下一章介绍循
2、环结构!55.2关系运算符及表达式5.2.1关系运算符C/C++中有下列几种关系运算符:==Equalto!=NotEqualtoGreaterthan>=GreaterthanorEqualto65.2.2关系表达式由关系运算符连接的式子构成关系表达式,如:5>8a=df!=kg==8(u+9)<=(s-v)关系表达式的值是一逻辑值:真(非0)或假(0),在C/C++中一般用1和0表示。75.3选择结构5.3.1选择语句选择结构是结构化语言中的三大
3、结构之一,在C/C++中由两种语句来实现:1.if语句2.switch语句85.3.2if语句if(Expression)/*括号内为一表达式*/Statement1;/*语句1*/elseStatement2;/*语句2*//*endif*/注:表达式可是C/C++中的任何表达式,语句可是C/C++中任何语句。if语句的标准格式如下:9if语句流程图表达式语句2语句10(False)非0(True)下一语句105.3.3if语句示例intscore;cin>>score;if(score>=60)cout<<"考试通过"
4、<>score;if(score>=60)cout<<"成绩通过"<5、由于if语句里if和else后面所包含的语句可以是任何语句,因此就可以利用它们来做更多的选择!14嵌套的if语句:if(Expression)Statement1;elseif(Expression)Statement2;elseif(Expression)Statement3;elseif(Expression)Statement4;else……//需要多少选择就可设计多少个//每个同学试着自己画出流程图15例:三路选择intiGetNo;//判断正负数和0cin>>iGetNo;if(iGetNo<0)cout<<"N6、o.isnegative!";elseif(iGetNo==0)cout<<"No.iszero!";elsecout<<"No.ispositive!";161.运算符:?:2.表达式:e1?e2:e3其中的e1,e2和e3可以是任意表达式。表达式的操作为:若e1为真,则此表达式的值为e2的值;否则取e3的值。3.优先级:13级4.结合方向:自右向左§5.4条件选择运算17例:intx,y=3,z=4;x=y>z?z+y:z-y;运行结果x的值为:1从上例可看出,条件表达式非常类似if…else二路选择语句,但前者是7、一个表达式,后者是一个语句。两者在很多情况下可互换,但不是绝对的!一般在简单情形用前者,较复杂时用后者。181.运算符!逻辑非&&逻辑与8、9、逻辑或2.表达式!aa&&cb10、11、9注:表达式的值是一布尔值。3.优先级!为2级,&&为11级,12、13、为12级4.结合方向!为自右向左,&&和14、15、为自左至右5.运算真值表(T表示“真”,F表示“假”)ab!a!ba&&ba16、17、b!(a&&b)TTFFTTFTFFTFTTFTTFFTTFFTTFFT§5.5逻辑运算逻辑表达式的值:非0为真,0为假19ab!a!ba&&ba18、19、b!(a&&b20、)1100110100101101100110011001逻辑运算的真值表也可写成:其中的a,b都是表达式或常数,例:(score>=90)&&(score<=100)但不能写成:90<=score<=10020例:多路选择intiGetNo;//判断考试成绩cin>>iGetNo;//输入考试成绩if
5、由于if语句里if和else后面所包含的语句可以是任何语句,因此就可以利用它们来做更多的选择!14嵌套的if语句:if(Expression)Statement1;elseif(Expression)Statement2;elseif(Expression)Statement3;elseif(Expression)Statement4;else……//需要多少选择就可设计多少个//每个同学试着自己画出流程图15例:三路选择intiGetNo;//判断正负数和0cin>>iGetNo;if(iGetNo<0)cout<<"N
6、o.isnegative!";elseif(iGetNo==0)cout<<"No.iszero!";elsecout<<"No.ispositive!";161.运算符:?:2.表达式:e1?e2:e3其中的e1,e2和e3可以是任意表达式。表达式的操作为:若e1为真,则此表达式的值为e2的值;否则取e3的值。3.优先级:13级4.结合方向:自右向左§5.4条件选择运算17例:intx,y=3,z=4;x=y>z?z+y:z-y;运行结果x的值为:1从上例可看出,条件表达式非常类似if…else二路选择语句,但前者是
7、一个表达式,后者是一个语句。两者在很多情况下可互换,但不是绝对的!一般在简单情形用前者,较复杂时用后者。181.运算符!逻辑非&&逻辑与
8、
9、逻辑或2.表达式!aa&&cb
10、
11、9注:表达式的值是一布尔值。3.优先级!为2级,&&为11级,
12、
13、为12级4.结合方向!为自右向左,&&和
14、
15、为自左至右5.运算真值表(T表示“真”,F表示“假”)ab!a!ba&&ba
16、
17、b!(a&&b)TTFFTTFTFFTFTTFTTFFTTFFTTFFT§5.5逻辑运算逻辑表达式的值:非0为真,0为假19ab!a!ba&&ba
18、
19、b!(a&&b
20、)1100110100101101100110011001逻辑运算的真值表也可写成:其中的a,b都是表达式或常数,例:(score>=90)&&(score<=100)但不能写成:90<=score<=10020例:多路选择intiGetNo;//判断考试成绩cin>>iGetNo;//输入考试成绩if
此文档下载收益归作者所有