分支程序设计
Posted lvfengkun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分支程序设计相关的知识,希望对你有一定的参考价值。
一、关系运算符和表达式
1、关系运算符:在程序中经常要比较两个量的大小关系,以决定程序的下一步工作。比较两个量的运算符称为关系运算符。
C语言有以下关系运算符:(1)< 小于
(2)<=小于等于
(3)> 大于
(4)>=大于等于
(5)==等于
(6)!=不等于
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,前四个<,<=,>,>=的优先级相同,高于==和!=,==和!=的优先级相同。
2、关系表达式:关系表达式的一般形式为:表达式 关系运算符 表达式
例:a+b>c+d,x>3/2(等价于x>1);
由于表达式也可以又是关系表达式,因此也允许出现嵌套的情况。
例:a>(b>c)
关系表达式的真和假用0和1表示。如:5>0的值为真,即为1.→i=(5>0),i=1。
例:
#include<stdio.h> void main() { char c=‘k‘; int i=1,j=2,k=3; float x=3*c+5,y=0.85; printf("%d,%d ",‘a‘+5<c,-i-2*j>=k+1); printf("%d,%d ",1<=j<5,x-5.25<=x+y); printf("%d,%d ",i+j+k=-2*j,k==j==i+5); }
注:本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的,对于含多个关系运算符的表达式。如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0=i+5,也不成立,故表达式的值为0。
二、逻辑运算符和表达式:
1、逻辑运算符及其先后次序:
C语言中提供了三种逻辑运算符:
(1)&&与运算:二者均为真时结果为真,否则为假。
(2)||或运算:二则均为假时结果为假,否则为真。
(3)!非运算:参与运算量为真时结果为假,参与运算量为假时结果为真。
与运算符&&和非运算符||均为双目运算符,具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符和其他运算符优先级的关系为:!(非)>算术运算符>关系运算符>&&和||>赋值运算符
例:
#include<stdio.h> void main() { int i,a=3,b=5; i==5;//这里i的值是等于5的 !i;/*这里!i的值是0*/ i==0; }
注://是单行注释,/*是多行注释且以*/结尾
按照运算符的优先顺序可以得出:a>b&&c>d等价于(a>b)&&(c>d)
!b==c||d<a等价于((!b)==c)||(d<a)
a+b>c&&x=y<b等价于((a+b)>c)&&(d<a)
2、逻辑表达式:逻辑表达式的一般形式为:表达式 逻辑运算符 表达式
其中表达式可以又是逻辑表达式,从而组成嵌套。如:(a&&b)&&c=a&&b&&c
例:
#include<stdio.h> void main() { char c=‘k‘; int i=1,j=2,k=2; float x=3*c+5,y=0.85; printf("%d,%d ",!x*!y,!!!x); printf("%d,%d ",x||i&&j-3,i<j&&x<y); printf("%d,%d ",i==5&&c&&(j=8),x+y||i+j+k); }
以上是关于分支程序设计的主要内容,如果未能解决你的问题,请参考以下文章