首页 > 其他分享 >第4节 运算符与表达式

第4节 运算符与表达式

时间:2024-07-03 15:56:31浏览次数:3  
标签:类型转换 运算 运算符 赋给 表达式 变量

第4节 运算符与表达式

1.常用的运算符
►求解问题的基本操作是运算。
►通过C++语言丰富的运算符及其表达式构成实现算法的基本步骤,在不同程序结构的控制下有机地组织在一起形成程序。
    
►1.运算对象的数目
	► 单目运算符、双目运算符、三目运算符
►2.运算符的优先级
	► 同一个式子中不同的运算符进行计算时,其运算次序存在先后之分,称为运算符的优先级。
►3.运算符的结合性
	► 在一个式子中如果有两个以上同一优先级的运算符,其运算次序是按运算符的结合性来处理的。
	► C++语言运算符分为左结合(方向)和右结合(方向)。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

► 在给出一个逻辑运算或关系运算结果时,以”0”代表“假”,以“1”代表“真”,在判断一个量为真假时,以“0”代表“假”,
以“非0”代表“真”。 
    
► C++在逻辑表达式求解时,并不一定是所有的运算都被执行,当刚开始求解或求解的中途就可以确定整个逻辑表达式的值
时,其余的运算将不再进行。
    int a=1 , b=2, c=3, d=4, m=n=1, k; 
    k=(m=a>b) && (n=c>d); //m的值为0,n的值为1,k的值为0 
► 求解:表达式执行完后n和m的值为多少?注:当(m=a>b) && (n=c>d)前一个表达式为假时,后面语句不在执行。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2.表达式和类型转换
2、表达式
►由运算符和运算对象组成的式子称为表达式。 
	►(1)表达式的运算对象可以是常量、变量、函数调用和嵌套的表达式等。
    	12 + a + max(x,y) + ( x + y ) //常量、变量、函数调用、嵌套的表达式
	►(2)表达式的计算是按步骤执行的,成为表达式求值顺序。
		x > y && x < z //先计算x>y,若结果为假则运算结束,然后计算x<z
	►(3)表达式的运算需要考虑参与运算的数据对象是否具有合法的数据类型以及是否需要进行类型转换。
    	k = 10 + 'a' + i * 5.0 - d / 100.5 //数据类型不同,需要进行类型转换
	►(4)每个表达式的结果除了确定的值之外,还有确定的数据类型。   
3、类型转换
►C++表达式是否合法,以及合法表达式的含义,都是由运算对象的数据类型决定的。
►不同类型的数据混合运算时需要进行类型转换(conversion),即将不同类型的数据转换成相同类型的数据后再进行计算。

►类型转换有两种:显式类型转换 和 隐式类型转换。   

►1. 显示类型转换
在这里插入图片描述
►2. 隐式类型转换
在这里插入图片描述
在这里插入图片描述

►赋值运算中的隐式类型转换
    ►(1)将浮点型数据赋给整型变量时,舍弃浮点数的小数部分。
		►如:int n=6.18; n的值为6。 
    ►(2)将整型数据赋给浮点型变量时,数值不变,但以浮点数形式存储到变量中。
		►如:double f=78; 将78按78.0处理。
    ►(3)将double型数据赋给float变量时,截取前面7位有效数字存储到float变量。将float型数据赋给double变量
    	 时,数值不变,有效数字扩展到16位。

标签:类型转换,运算,运算符,赋给,表达式,变量
From: https://blog.csdn.net/m0_69088645/article/details/140135768

相关文章

  • [漏洞复现]Geoserver表达式注入致远程代码执行漏洞(CVE-2024-36401)
    觉得该文章有帮助的,麻烦师傅们可以搜索下微信公众号:良月安全。点个关注,感谢师傅们的支持。看到长亭昨晚发送的漏洞风险提示,我这边快马加鞭看看能不能赶上热度,payload就放在星球了,欢迎各位师傅来白嫖,看上眼的话可以留下试试。漏洞描述GeoServer是一个开源服务器,用于共享、处......
  • 聊聊C++20的三向比较运算符 `<=>`
    C++20标准引入了许多新特性,其中之一是三向比较运算符<=>,也被称为太空船运算符。这个新运算符为C++程序员提供了一种全新的比较对象的方式,它能有效简化比较逻辑,避免编写多个比较运算符重载的情况。为什么需要三向比较运算符?在C++20之前,如果要完整地定义一个类型的比较行为......
  • 迭代器协议、可迭代对象(迭代器)、三元表达式、生成器
    今天说的这老几位可是老牛逼了,认真看,咱们挨个介绍哈。1、迭代器协议(1)有一个next()方法(2)只能往后走不能往前退2、可迭代对象可迭代对象又叫做迭代器,什么是可迭代对象呢?很简单,满足迭代器协议的对象就是可迭代对象。说白了,就是满足前面那两条:有一个next()方法,只能往后走不能往......
  • 55、Flink 中使用 Java Lambda 表达式详解
    1)概述1.注意Flink支持对JavaAPI的所有算子使用Lambda表达式,但是,当Lambda表达式使用Java泛型时,需要显式地声明类型信息。2.示例和限制示例:map()函数使用Lambda表达式计算输入值的平方。不需要声明map()函数的输入i和输出参数的数据类型,因为Java编......
  • CH03_JS运算符
    第3章:JavaScript运算符本章目标掌握赋值运算符掌握算术运算符掌握比较运算符掌握逻辑运算符掌握复合运算符课程回顾什么是变量?变量的使用步骤?声明变量用什么关键字?变量名命名规则是什么?JavaScript中的数据类型有那些?讲解内容1.赋值运算符概念:向变量赋值,将右边的值......
  • C/C++ sizeof 运算符注意事项
    sizeof 运算符在C/C++中用于获取变量或类型所占的内存大小(以字节为单位)。尽管 sizeof 是一个相对简单直接的运算符,但在使用时还是需要注意一些细节和特殊情况,以避免误解或错误。以下是一些使用 sizeof 运算符时需要注意的事项:数据类型大小:sizeof 返回的是变量或类型在......
  • Python 语法 - 海象运算符:=
    前言海象运算符的英文原名叫AssignmentExpresions,即赋值表达式。是Python3.8新增的语法:=,在PEP572中提出。海象运算符之所以叫这个名字是因为这个符号就像是一个海象逆时针90°倒过来一样,符号为一个冒号接着一个等号,是:=这样的。用于条件表达式海象运算符由一个:......
  • Linux—— 逻辑运算符,压缩和解压缩
     --a:and逻辑与  --o:or逻辑或  --not:not逻辑非  -优先级:与>或>非```shell[root@server~]#find / -size +10k -a -size -50k[root@server~]#find /etc  -name "e*" -o -name "f*"[root@server~]#find /etc  -nam......
  • MDX的魔法:探索SQL Server中的多维表达式
    ......
  • Java知识点整理 18 — Lambda表达式
    一.简介Lambda表达式是函数式编程思想的体现,强调做什么,而不是以什么方式去做。面向对象编程思想强调的是对象,必须通过对象的形式来做一些事情。比如多线程执行任务,需要创建对象,对象需要实现指定接口,然后再执行等。过程相对繁琐。而如果使用函数式编程思想,可以直接通过传递......