首页 > 其他分享 >Day3 变量赋初值,类运算符和表达式,不同数值型数据间的混合运算混合赋值学习

Day3 变量赋初值,类运算符和表达式,不同数值型数据间的混合运算混合赋值学习

时间:2024-07-20 16:29:49浏览次数:17  
标签:变量 ++ Day3 混合 运算符 int 表达式 赋值

算术运算符和算术表达式,赋值运算符和赋值表达式以及逗号运算符和逗号表达式

一、变量赋初值

变量赋初值就是在为变量开辟空间时为其进行初始化的操作称之为变量赋初值。

变量赋虽然比较简单理解,但有许多人不清楚变量赋初值与变量赋值有什么区别,虽然都是使用“=”完成的,但二者并不是相同的。

在定义 i 这个标识符的时候给他内存空间存入10,即是对i完成初始化。接下来对 i 进行赋值是将

i 内部的初始内容10替换成15。这就是这两者的区别。

二、各类运算符和表达式

1.算术运算符和算术表达式

(1)算术运算符(看例图)结合方式是从左至右

*(乘),/(求商),%(求余)三类运算符优先级高于+,-。在运行过程中优先进行前三类的操作。

(2)算术表达式:是单纯由算术运算符所构成的表达式。

在算术表达式中/和%这两类组成的表达式是比较特殊的,这俩类组成的表达式右操作数不能为0,如果是0程序直接从此表达式中断(程序崩溃)。%组成的表达式的输出结果与左操作数有关,若左操作数为正数则输出正数反之输出负数,但是输出结果大小一定是小于右操作数的且左右操作数只能为整型或与整型兼容的类型才可。

2.赋值运算符和赋值表达式

(1)赋值运算符(看例图)结合方式是从右至左

(2)赋值表达式:是由赋值运算符所构成的表达式。

3.逗号运算符和逗号表达式

(1)逗号运算符(“  ,  ”)结合方式是从左至右

“  ,  ”在函数调用时使用是作为分隔符使用的,在语句中就是在其余运算符运算结束后顺序进行操作。

(2)逗号表达式

4.自增,自减运算符

由于自增(‘  ++  ’)与自减(‘  --  ’)类似在这里就只讨论自增运算符

(1)定义变量i,然后++i  

作用:若输出++i,则i本身立即加1然后输出加一后的处理结果,因为++i是仅对i的存储单元进行操作,表达式虽然是++i但实际上还是输出的是i这个变量。

(2)定义变量i,然后i++,则会输出i的值没有输出加一后的结果,因为i++是先把i的内容进行拷贝然后建立一个匿名变量(临时变量),然后对i进行加一操作,与++i不同的是i++输出的是这个临时变量的内容而不是i的内容。

5.左值(lvalue)和右值(rvaule)

(1)左值:可被定位的量(有地址)变量一般都可以充当左值,若想判断是否为左值可以使用“&”进行操作看能否得到其地址。

(2)右值:不可被定位的量(没有地址)临时变量均为右值还有常量。右值不能进行自增自减操作。

例: const int i =2;//令i的内容固定为2

虽然说i的内容不变了但其本身还是左值,还是有存储空间给他并且地址是可以定位的。

三、random函数的了解

1.  long int random (void)       随机数生成器

     类型   函数名    形参

2.用法: random (实参)但由于random函数形参为虚无所以此处实参可以不用写。

三、不同数值型数据间的混合运算混合赋值

1.不同数值型数据间的混合运算

隐式转换:

在编写代码过程中float型和char,short型系统默认会将其分别转化为double型和int型,若在运算表达式中出现高级数据类型其余低数据类型会向高级数据类型自动转换的模式称为隐式转换。

显式转换:利用“  (类型)  ”运算符 进行强制转换

用法:(类型名)+变量/常量 → 指定类型名的变量/常量。

2.不同数值型数据间的混合赋值

double  =  int整数部分不变就在后面加上小数点和若干0
int  =  double会发生小数截断,小数部分丢失,保留整数
int  =  short会产生符号位扩展,若短整型为正数则高位补0反之补1
short  =  int 会发生高位截断,高位数值丢失,保留低位数值
int  =  unsigned short会产生符号位扩展,高位补0
unsigned int  =  int不发生变化存储空间内的数据一致

标签:变量,++,Day3,混合,运算符,int,表达式,赋值
From: https://blog.csdn.net/m0_63195218/article/details/140501654

相关文章

  • css技巧混合模式
    看上面这个神奇的效果,文字在黑色背景里面显示为白色,而在白色的背景里面显示为黑色,这就是文字智能适配背景。看到这样的需求,大多数人第一时间想到的是,文字元素有两个,是完全重叠的两层,一层是黑色,一层是白色,然后通过遮罩实现,这里使用了CSS3新增了一个属性-- mix-blend-mode ......
  • lvs的nat和dr模式混合用
     lvs:10.0.0.200 vip 10.0.0.19外网IP,172.168.1.19内网IP drrs:10.0.0.200vip 10.0.0.18rip  natrs:172.168.1.17rip 客户端:10.0.0.14cip lvs机器: ipaddradd10.0.0.200/24devens33:0 IP:[root@mcw09~]#ipa1:lo:<LOOPBACK,UP,......
  • Java入门基础:Java中的标识符;Java常量与变量;Java基本数据类型;Java运算符
    一,Java标识符【1】标识符:读音 biaozhifu (注意是标zhi符,不是标shi符,“识”这个字是多音字,我也是才发现^_^,你呢?)【2】标识符是?     包,类,变量,方法.....等等,只要是起名字的地方,那个名字就是标识符。【3】标识符定义规范:  1.四个可以(组成部分):数字,字母,下划......
  • Python入门知识点 4--格式化输出与运算符
    1、格式化输出name='小赵'age=18#print('大家好,我是'+name+'我今年'+age+'岁了')#字符串和整型不能拼接print('大家好,我是'+name+'我今年'+str(age)+'岁了')#把整型转换成字符串输出,但比较麻烦print('大家好,我是',name,'我今年',age,&#......
  • 奇妙的 c++ 混合运算式
    先来看看如下的式子:a*b+c当你在c++中运行它时,你很清楚它是先计算*再计算+的。那么请再来看看这个式子:a+b+c请问它是先执行第一个+,还是先执行第二个+呢?这个问题看上去无解,但实际上我们可以解答:#definelllonglonginta=INT_MAX,b=INT_MAX;llc......
  • C语言运算符
    1.算术运算符+加法-减法*乘法/除法%取余 计算时,数据类型不一样的不能直接运算,需要转换成一样的才能运算,有两种转换方式。1.1隐式转换把一个取值范围小的,转换为取值范围大的,隐式转换是计算机自己就可以完成的,不会产生错误的。数据类型从大的到小的顺序为:double>float>lon......
  • 【代码随想录训练营第42期 Day3打卡 LeetCode 203.移除链表元素,707.设计链表,206.反转
    一、做题感受今天是打卡的第三天,前两天题目主要考察数组相关知识,现在已经来到了链表的学习。题目共有三道,都是以考察单链表为主,整体来说难度不大,但是思路很灵活,尤其是反转链表的考察,双指针的新用法。今天做题总体感觉不错,能有自己的思考和理解。二、链表相关知识1.常见链表......
  • 【毫米波】MMSE标准毫米波系统混合波束形成【含Matlab源码 5067期】
    ......
  • java-算数运算符
    ##6.6.1算数运算符|运算符|运算|范例|结果||------------|------------|------------|------------||+ | 正号 | +300 | 300| - | 负号 | b=4;-b | -4|||||| |+ | 加 | 5+5 | 10 || - | 减 | 7-4 | 3| ||||| |* | 乘 | 3*4 | 12|| / | 除......
  • 比较运算符
    比较运算符运算符运算范例结果==相等于4==3false!=不等于4!=3true<小于4<3false>大于4>3true<=小于等于4<=3false>=大于等于4>=3falseinstanceof检查是否是类的对象"hello"instanceofStringtrue注意:比较运算符的结果都......