C语言程序设计:第四章 逻辑运算和判断选择控制_第1页
C语言程序设计:第四章 逻辑运算和判断选择控制_第2页
C语言程序设计:第四章 逻辑运算和判断选择控制_第3页
C语言程序设计:第四章 逻辑运算和判断选择控制_第4页
C语言程序设计:第四章 逻辑运算和判断选择控制_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计

第四章提示关系运算符、关系表达式、逻辑运算符、逻辑表达式、选择语句现代教育技术中心第四章逻辑运算和判断选择控制

关系运算符和关系表达式逻辑运算符和逻辑表达式

if语句

switch语句重点:C语言逻辑值的表示方式和逻辑运算4.1关系运算符和关系表达式

关系运算符 <小于<=小于等于>大于>=大于等于==等于!=不等于优先级高相同低相同与其他运算的关系:

算术运算符关系运算符赋值运算符逗号运算符高低例如

c>a+b相当于c>(a+b)

a>b!=c相当于(a>b)!=ca==b>d相当于a==(b>d)a==b,c相当于(a==b),c关系表达式关系表达式:用关系运算符将两个表达式连接起来的式子,叫关系表达式。例如:

a>b,x+y>z,(x+y,z)>(c+d)等关系表达式的值:真、假1表示真,0表示假判断哪些是关系表达式:b+c>5a+b>10,hx=a>=cf=a>b>c(a>b)==cb+(c>5)a+b>(10,h)(x=a)>=c(f=a)>b>ca>b=c无效!4.2逻辑运算符和逻辑表达式C语言的逻辑运算符&&逻辑与||逻辑或!逻辑非逻辑运算结果

ab!a!ba&&ba||b真真真真假假真真真假假假假假假真真真真真假假假假逻辑运算符和逻辑表达式逻辑运算符的优先级!++---*/%+-<<=>>===!=&&||=+=-=*=/=……,低高例如:!a&&b||k*7<=j+6&&c“自左到右”求解逻辑运算符和逻辑表达式逻辑表达式用逻辑运算符把表达式连接起来形成的式子。注意:一个表达式可能含有多种运算符,如算术、等号、逗号、关系、逻辑运算符等,各种运算符都有对应的表达式,如何判断是什么表达式?逻辑表达式的值:真和假。C语言表示逻辑值的形式:1和0所有数值都可以表示逻辑值:非0和0逻辑表达式运算的结果:1和0逻辑运算符和逻辑表达式例如:x=0;y=5;!x&&yx||y!y5>3&&2||8<4-!0注意:逻辑表达式不一定完成求解:

a&&b&&ca||b||c

(year%4==0&&year%100!=0)||yesr%400==04.3if语句if的三种基本形式:1、if(表达式)语句表达式语句真假表达式真假语句

N-S流程图例如:if(a>b)b=a*10;if的三种基本形式2、if(表达式)语句1else语句2表达式语句1语句1表达式真假语句1

N-S流程图语句2真假例如:

if(x>y)printf(“%d”,x);elseprintf(“%d”,y);各有一个分号if的三种基本形式3、if(表达式1)语句1

elseif(表达式2)语句2

elseif(表达式3)语句3…………

else语句n

(多分支结构)表达式1表达式2表达式3语句1语句2语句3语句n真真真假假假ex4-1,2if的三种基本形式注意:1)上述三种形式的if语句,均为一个语句。2)其中的语句1、语句2、……可以是单个语句或复合语句。3)if语句可以再嵌套if语句。else与最近一个未匹配的

if相匹配。例如:求函数:-1x<0

y=0x=01x=1程序1main(){intx,y;scanf(“%d”,&x);if(x<0)y=-1;elseif(x==0)y=0;elsey=1;printf(“y=%d”,y);}程序2main(){intx,y;scanf(“%d”,&x);if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;printf(“y=%d”,y);}程序3main(){intx,y;scanf(“%d”,&x);y=-1;if(x!=0)if(x>0)y=1;elsey=0;printf(“y=%d”,y);}程序4main(){intx,y;scanf(“%d”,&x);y=0;if(x>=0)if(x>0)y=1;elsey=-1;printf(“y=%d”,y);}ex4-3条件运算符在“if()语句1else语句2”形式的语句中,如果语句1和语句2同时赋给同一个变量,如:

if(x<y)min=x;elsemin=y;

则可以用条件运算符来处理,格式:

min=(x<y)?x:y;

条件运算符条件表达式:表达式1?表达式2:表达式3注意:条件表达式的求解:当表达式1的值为真,则为表达式2的值,否则为表达式3的值。条件表达式的优先级:比逗号、赋值运算符高,比其他运算符低。条件表达式的结合方向:“自右到左”如x>y?x:z>y?x:y=>x>yx:(z>y?z:y)表达式中的三个表达式可以是不同类型条件运算符例如:输入任意字符,如果是小字母,则把他改成大写。

main(){charc;scanf(“%c”,&c);ch=(ch>=‘a’&&ch<=‘z’)?ch-32:ch;printf(“%c”,c);}条件表达式ex4-44.4switch语句基本格式:

switch(表达式){

case表达式1:语句段1

case表达式2:语句段2

case表达式n:语句段ndefault语句段n+1}必须用一对{}括起来。使用switch()语句注意事项:(例子)表达式与表达式1、表达式2、……是匹配关系。在表达式1、表达式2、……中,不能有两个相同的值,否则第二个不起作用。当匹配到某一表达式i时,执行其后的语句,一直到break语句或}为止。可以多个匹配的表达式执行一个相同的语句。如果没有匹配的表达式,则执行default后的语句,default为可选项。4.5程序举例例6随意输入一个年份,判断是否闰年。定义变量year,输入year

year%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论