设为首页 加入收藏

TOP

分支程序设计
2019-01-02 00:08:55 】 浏览:68
Tags:分支 程序设计

一、关系运算符和表达式

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\n",'a'+5<c,-i-2*j>=k+1);
    printf("%d,%d\n",1<=j<5,x-5.25<=x+y);
    printf("%d,%d\n",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\n",!x*!y,!!!x);
    printf("%d,%d\n",x||i&&j-3,i<j&&x<y);
    printf("%d,%d\n",i==5&&c&&(j=8),x+y||i+j+k);
}

 


编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Linux | GCC如何实现代码编译&&汇.. 下一篇1008 数组元素循环右移问题