zoukankan      html  css  js  c++  java
  • 操作数、运算符、表达式

    语言里面各种各样的名词.

    与其说我们学习编程语言的语法.
    倒不如说,我们是学习怎么样快速的写汇编代码.

    不要被什么各种名词吓到,觉的高深莫测.
    你在C语言或者其他编程语言中写的程序,最终都会被转换成汇编语言.

    这节课我们来学习一下表达式和运算符.
    其实,这两个东西我们都已经用过了.

    什么是运算符?就是运算的符号嘛.
    加减乘数等各种符号就是运算符.

    #include<stdio.h>
    #include<stdlib.h>
    void main() {
    1 + 3;
    int l_x = 10;
    l_x / 2;

    system("pause");
    }

    这里面有两个数字以及一个加号,这就是表达式. 很简单对吧.
    1+3里面的1和3属于操作数.
    l_x / 2 里面的l_x变量和数字2就是操作数


    它们合起来就是表达式.
    表达式就是操作数和运算符的组合.
    一个表达式可以写的很长,也可以写的很短,取决于到底要表达什么.


    表达式跟我们数学公式一样,有运算优先级.
    先乘除后加减.
    先计算括号内的,再计算括号外的.
    这都是世界上大部分国家认可的通用标准,否则就乱套了.
    你学的数学知识可就出不了国了.
    int l_v1 = 1 + 2 * 3;
    int l_v1 = (1 + 2) * 3;

    人类社会同样也有优先级啊,比如去银行排队,人家是金卡,直接进贵宾室办理业务.
    所以,很多编程语言的概念,都可以找到类似的现实例子进行比喻.


    int l_v1 = 1 + 2 + 3 - 4; //优先级相等的情况下,从左有右依次计算.
    括号可以改变优先级.

    int l_v1 = 1 + *2; 运算符不可以相邻.
    int l_v1 = 1 + -2; 这种情况编译器会理解成其他意思.

    在数学上,有时候,我们会省略乘号,但是在编程语言中,不可以省略号.
    在数学上有大括号,中括号,小括号来实现优先级的先后顺序.
    但是在编程语言中,一律小括号.

    int l_v1 = (30 / (4 - 2)) * (100 / 10);

    编译器很强大,当我们写好上面这条表达式的时候,当转换机器语言的时候,编译器会自动替我们完成.

    类型 说明
    算数运算符 +-*/ % ++ --
    关系运算符 > < == >= <= !=
    逻辑运算符

    ! && ||

    位运算符 << >> ~ | ^ &
    赋值运算符 =
    条件运算符 ? :
    逗号运算符 ,
    指针运算符 * &
    求字节数运算符 sizeof
    强制类型转换运算符 . - >
    分量运算符 .->
    下标运算符 []


    看着挺乱的,其实非常简单,里面的一部分我们已经用过了.
    而且很多编程语言都是通用的,所以我们在C语言中学过之后.

    函数、变量、结构体、指针、循环、条件、流程控制语句、运算符、表达式……
    再学习其他编程语言的时候,就不需要重复的学习这些知识点了.

    甚至可以直接上手写一些小工具软件了.
    这就是所谓的一法通万法,不变应万变.



    演示求余
    自增,自减
    ++a
    a++
    - -a
    a- -
    int l_v1 = 1, l_v2 = 2;


    int l_v1 = 2;
    int l_v2 = 0;

    l_v1 ? l_v2 = 100 : l_v2 = 200; //第一个表达式是0的时候,执行第三个表达式 //否则执行第三个表达式
    int l_v1 = 200;
    int l_v2 = 100;
    int l_v3 = l_v1 > l_v2 ? l_v1 : l_v2;

  • 相关阅读:
    61. 最长不含重复字符的子字符串
    60. 礼物的最大价值 (未理解)
    59. 把数字翻译成字符串
    58. 把数组排成最小的数
    57. 数字序列中某一位的数字 (不懂)
    spring data jpa 官方文档
    idea 编译报错 源发行版 1.8 需要目标发行版 1.8
    idea maven 依赖报错 invalid classes root
    solr
    spring boot 官方文档
  • 原文地址:https://www.cnblogs.com/xiaodaxiaonao/p/7513600.html
Copyright © 2011-2022 走看看