安徽公路建设行业协会网站,网站建设论坛首页,网件路由器怎么样,建站视频教程网一.数据对象#xff0c;左值#xff0c;右值#xff0c;运算符
数据对象#xff1a;用于存储值的数据存储区域统称#xff0c;而使用变量名是标识对象的一种方法#xff08;还有指针#xff0c;后面会教的#xff09;
左值#xff1a;用于标识特定数据对象的名称或表…
一.数据对象左值右值运算符
数据对象用于存储值的数据存储区域统称而使用变量名是标识对象的一种方法还有指针后面会教的
左值用于标识特定数据对象的名称或表达式。
这里对象指的是实际的数据存储而左值是用于标识或定位存储位置的标签
而对于左值详细的定义有两点
它指定一个对象可以引用内存中的地址。它可用在赋值运算符的左侧。
可修改的左值用于标识可修改的对象
不可修改的左值用const标识符引用内存中的地址但值无法修改所以对于左值我们一般会有补充的说明可修改的左值也叫对象定位置
右值指的是能赋值给可修改左值的量且本身不是左值
Bmw 2002;
bmw是左值2002是右值 二.基础运算符
1.赋值运算符
在C语言中 并不意味着“相等”而是一个赋值运算符
Bmw 2002;
把值2002赋给变量bmw。
这里讲解一个编程人看了会心一笑学数学的看了眉头一皱
A A 1;
数学: 这里等式是不可能成立的因为A不可能等于A1
编程A的值等于当前A的值加1. 2.加法运算符
Add 12; 3.减法运算符-
Minus 2 - 1;
,-既可以做一元运算符和二元运算符
二元运算符需要两个运算对象才能完成操作
一元运算符只需要一个运算对象 4.乘法运算符*
Cm 1 * bmw 5.除法运算符/
four 12.0/13.0
左侧是被除数右侧是除数
截断整数除法的结果是整数整数时没有小数部分的数整数除法结果的小数部分被丢弃这一过程被称为截断 6.求模运算符%
求模运算符给出其左侧整数除以右侧整数的余数
13 % 5得到余数3
这里重点讲解下负数求模如果第一个运算对象是负数那是求模的结果为负数。如果第一个运算对象是正数那么求模的结果是正数 而a%b另一种数学表达式a-(a/b)*b
拿-11%5来说
-11%5-1 -11-(-11/5)*5-11 -(-10) -1
7.递增运算符
出现在其作用的变量前面叫前缀模式
出现在其作用的变量后面叫后缀模式 这里super,可以看作成super super 1;
而关于前缀和后缀的区别我们来看一个例子在详细讲解下这个理解起来不是特别容易需要多看看多就能理解 单独使用递增运算符不管是前缀还是后缀使用哪种形式都没关系。所以在前期使用前缀n先使用n在递增。使用后缀n,则先递增在使用
8.递增运算符--
这个和递增意思一样不过是加减的差别 三.运算符优先级 运算符 结合律 从左往右 -- 无 -一元运算符 从右往左 * / 从左往右 -二元运算符 从左往右 从右往左 运算符当运算符共享一个运算对象时优先级决定了求值顺序
比如 12/3*2共享运算对象3根据结合律结合律只适用于共享同一运算对象的运算符
从左往右得4*2为8。
我们来看个例子 1.()当前表达式最高所以先算(25) 7。(23)5。
top score -7 * 6 (4 3 * 5); 2..()当前表达式最高由因为括号里*优先级最高所以3*515,15419;
top score -7* 6 19; 3.当前表达式*优先级最高,-7*642;
Top score -42 19; 4.当前表达式优先级最高,-4219-23;
Top score -23; 5.此时在表达式中优先级最高此时score两边都是,根据的结合律从右往左
所以先score -23。在top score; 最后score,top都等于-23 好了朋友们我们今天的内容到这就结束了今天的内容到这里就结束了如果有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助可以点赞关注文章和专栏以及关注我哈嘿嘿嘿我会定期更新文章的谢谢朋友你的支持哈