zoukankan      html  css  js  c++  java
  • 2_C语言中的数据类型 (八)运算符

    1          运算符表达式和语句

    1.1       基本运算符

    1.1.1          =

    数据对象:泛指数据在内存的存储区域

    左值:表示可以被更改的数据对象

    右值:能赋给左值的量

    1.1.2          +

    1.1.3          –

    1.1.4          *

    1.1.5          /

    1.1.6          %

    取余数

    1.1.7          +=

    加等于

    1.1.8          -=

    减等于

    1.1.9          *=

    乘等于

    1.1.10      /=

    除等于

    1.1.11      %=

    取余等于

    1.1.12      ++

    自加1

    ,i++先计算表达式的值,然后再++

    ,++i是先++,再计算表达式的值

    1.1.13      --

    自减一

    1.1.14      逗号运算符

       int a = 2;

       int b = 3;

       int c = 4;

       int d = 5;

       int i = (a = b, c + d);

     

    逗号表达式先求逗号左边的值,然后求右边的值,整个语句的值是逗号右边的值。

    1.1.15      运算符优先级

    优先级

    运算符

    结合性

    1

    ++(后缀),--(后缀),()(调用函数),{}(语句块),.,->

    从左到右

    2

    ++(前缀),--(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化)

    从右到左

    3

    *, /, %

    从左到右

    4

    +,-

    从左到右

    5

    << >>

    从左到右

    6

    < > <= >=

    从左到右

    7

    == !=

    从左到右

    8

    &

    从左到右

    9

    ^

    从左到右

    10

    |

    从左到右

    11

    &&

    从左到右

    12

    ||

    从左到右

    13

    ?

    从右到左

    14

    =,*=,%=,+=,-=,<<=,>>=,&=,|=,^=

    从右到左

    15

    ,(逗号运算符)

    从左到右

    1.2       复合语句

    {}代码块

    1.3       空语句

    只有一个;号的语句就是空语句,空语句在C语言里面和合法的,并且是在某些场合必用的

    1.4       类型转化

    double f = (double)3 / 2;

    ()为强制类型转化运算符

    #include <stdio.h>
    
    int main01()
    {
        int a = 10;
        int b = 3;
        int c = a % b;
        printf("c = %d
    ", c);
    
        //a = a + 5;//语法正确,但是是个菜鸟
        a += 5;
    
        a = a + 1;
        a += 1;
        a++;
        a = a - 1;
        a -= 1;
        a--;
        return 0;
    }
    
    int main02()
    {
        int i = 5;
        //i++;
        //++i;
    
        
        //int a = ++i;
        //int a = i++;
        int a = i++ + ++i;
        //i = i + 1;
        //int a = i + i;
        //i = i + 1;
    
        printf("%d
    ", a);
        printf("%d
    ", i);
        return 0;
    }
    
    int main03()
    {
    
    
    
        int a = 2;
        int b = 3;
        int c = 4;
        int d = 5;
        int i = (a = b, a + d);
    
        printf("i = %d
    ", i);
    
        a = 2; b = 3; c = 4; d = 5;
        i = (a + (b - c)) * d;
        printf("i = %d
    ", i);
    
        a = 4;
        b = 3;
        c = 8;
    
        i = a = b = c;
        printf("i = %d
    ", i);
    
        {
            i = 100;
            a = 30;
        }
    
        ;//空语句
    
        printf("i = %d
    ", i);
    
    
        for (; ; )//循环语句,代表复合语句内部的代码要执行3次
        {
            printf("hello
    ");
        }
    
        return 0;
    }
    
    int main()
    {
        //double f = 3 / 2;//c语言两个整数相除的结果自动转化为一个整数
        //double f = (double)3 / 2;//(double)3,意思是将整数3强制转化为double型
        //double f = 3.0 / 2;
    
        int a = 3;
        int b = 2;
        double f = (double)a / b;
        printf("%f
    ", f);
        return 0;
    }

    资料来源:传智播客 仅供学习研究

  • 相关阅读:
    【力扣】11. 盛最多水的容器
    T-SQL 学习笔记 Chapter 6 子查询、表表达式 和排名函数 (一)
    忽然发现只是虚长了年岁,莫名的伤感。
    Gridview 多重表头 (二)
    那些 Cynthia 教我的事 之 PMSec (三)
    那些 Cynthia 教我的事 之 PMSec (二)
    那些 Cynthia 教我的事 之 PMSec (一)
    Gridview 多重表头 (一)
    项目总结之SSI (一)
    项目总结之MIT (一)
  • 原文地址:https://www.cnblogs.com/wuchuanying/p/6341529.html
Copyright © 2011-2022 走看看