操作数、运算符、表达式

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

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

不要被什么各种名词吓到,觉的高深莫测.
你在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;

原文地址:https://www.cnblogs.com/xiaodaxiaonao/p/7513600.html