zoukankan      html  css  js  c++  java
  • 分支程序设计

    一、关系运算符和表达式

    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);
    }
  • 相关阅读:
    JAVASCRIPT函数定义表达式和函数声明的区别
    单链表
    Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果
    基于Hadoop开发网络云盘系统客户端界面设计初稿
    U盘安装CentOS 6.4 + Windows 7双系统 (Windows 7下安装 CentOS 6.4)
    Last_SQL_Errno: 1050
    delphi 7中使用idhttp抓取网页 解决假死现象(使用TIdAntiFreezeControl控件)
    继承CWnd自绘按钮
    gcc编译器对宽字符的识别
    解决Qt程序发布时中文乱码问题(通过QApplication.addLibraryPath加载QTextCodec插件)
  • 原文地址:https://www.cnblogs.com/lvfengkun/p/10201183.html
Copyright © 2011-2022 走看看