操作数、运算符、表达式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作数、运算符、表达式语⾔⾥⾯各种各样的名词.
与其说我们学习编程语⾔的语法.
倒不如说,我们是学习怎么样快速的写汇编代码.
不要被什么各种名词吓到,觉的⾼深莫测.
你在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;。