第四课 C++中的运算符、表达式

  运算符就名词上来说就是用来运算的一些符号,而一个表达式则是由语句和运算符组合。如x=5,或x=a+b这些都是表达式。首先详解讲解运算符。

  运算符可以分为赋值运算符,数学运算符,关系运算符。赋值运算符用(=)表示。如x= 1意思是将1的值赋给x,而不是数学中的相等,这里一定要区别清楚。

  那数学运算符就是我们常用的+,-,*,/,%. C++中还有自增运算,和自减元算,如i++,i--,++i,--i这些元算符通常通常很容易搞错,特别是遇到比较复杂的表达式的时候,很容易搞错。++i在前也叫前自增,顾命思意就是将i的值先递增,让后在赋值,而i++则是则相反,先赋值,然后在递增。举例说明:

 1 #include "stdafx.h"
 2
 3 #include <iostream>
 4 using namespace std;
 5 int main(int argc, char* argv[])
 6 {
 7     int i = 10;
 8     int j = 10;
 9     cout<<"i = "<<i<<endl;
10     cout <<"J = "<<j<<endl;
11     i++;
12     ++j;
13     cout<<"i = "<<i<<endl;
14     cout<<"j = "<<j<<endl;
15     cout<<"i++="<<i++<<endl;
16     cout<<"++j="<<++j<<endl;
17
18     return 0;
19 }

  返回结果我们可以清楚的看到13,14行的结果一样。15行结果为11,而16行是12.,这就说明了前自增就是先加一在赋值。

  关系运算符

  关系运算符就是将两个数进行比较。常见的有=、<、>、<=、>=、!=

名称 运算符 示例 结果
等于 == 1==2 false
不等于 != 1 !=2 true
大于 > 1>2   false
小于 < 1<2     true
大于等于 >= 1>=2 false
小于等于 <= 1<=2   true

  逻辑运算符 

  逻辑运算符包括!(非)、&&(与)、||(或),优先级依次降低。用逻辑运算符将关系表达式连起来就是逻辑表达式,逻辑表达式的结果也是bool类型,值也只能是true或false。"!"是一元运算符,使用形式是!操作数。非运算是对操作数取反。比如!a,a的值是true,则!a的值是false。"&&"是二元运算符,用来求两个操作数的逻辑与,只有两个操作数的值都是true,逻辑与的结果才是true,其他情况下结果都是false。"||"也是二元运算符,用来求两个操作数的逻辑或,只有两个操作数的值都是false时,逻辑或的结果才是false,其他情况下结果都是true。比如,int a=3,b=5,c=2,d=1; 则逻辑表达式(a>b)&&(c>d)的值为false。

  sizeof运算符

  sizeof运算符用来计算某个对象在内存中占用的字节数。此运算符的使用形式为:sizeof(类型名)或sizeof(表达式)。计算结果是这个类型或者这个表达式结果在内存中占的字节数。

  三目运算符

  表达是1?表达式2:表达式3其含义表示:

如果表达式1的值为真,则返回表达式2的值,如果为假,则返回表达式3的值。

举例

  if(1>2)?1:2;

  结果为2返回表达式3的值。

  位运算符

  按位与(&)。它是对两个操作数的二进制形式的每一位分别进行逻辑与操作。比如3的二进制形式为00000011,5的二进制形式为00000101,按位与后结果是00000001。

按位或(|)。它对两个操作数的二进制形式的每一位分别进行逻辑或操作。还是比如3和5按位或运算后结果是00000111。

按位异或(^)。它对两个操作数的每一位进行异或,也就是如果对应位相同则运算结果为0,若对应位不同则计算结果为1。例如3和5按位异或后结果为00000110。

按位取反(~)。这是一个一元运算符。它对一个二进制数的每一位求反。比如,3按位取反就是11111100。

移位。包括左移运算(<<)和右移运算(>>),都是二元运算符。移位运算符左边的数是需要移位的数值,右边的数是移动的位数。左移是按指定的位数将一个数的二进制值向左移位,左移后,低位补0,移出的高位舍弃。右移是按照指定的位数将一个数的二进制值向右移位,右移后,移出的低位舍弃,如果是无符号数则高位补0,如果是有符号数,则高位补符号位或0,一般补符号位。比如,char型变量的值是-8,则它在内存中的二进制补码值是11111000,所以a>>2则需要将最右边两个0移出,最左边补两个1,因为符号位是1,则结果为11111110,对其再求补码就得到最终结果-2。

时间: 2024-12-28 15:30:39

第四课 C++中的运算符、表达式的相关文章

第四课,T语言运算符(版本5.0)

TC综合开发工具里支持了丰富的运算符,这样也要求大家对运算符的知识必须了解清楚,否则出现错误还不知道问题所在下面就为大家说说运算符的优先级与各个运算符含义 注意: 优先级代表同一表达式中运算符的运算顺序,从高到低!同一级别的按从左到右的原则运算 下图的优先级是从高到低排列的 优先级 运算符 名称或含义 使用形式与说明 1 [ ] 数组下标 数组名[常量表达式] ( ) 圆括号 (表达式)/函数名(形参表) 2 - 负号运算符 -表达式 -10+20 ++ 自增运算符 变量名++,是 变量名=变量

第三十四课 Spark中任务处理的Stage划分和Task最佳位置算法

本节课的内容 1.     Job Stage的划分算法 2.     Task最佳计算位置算法 一.Stage划分算法 由于Spark的算子构建一般都是链式的,这就涉及了要如何进行这些链式计算,Spark的策略是对这些算子,鲜花分Stage,然后在进行计算. 由于数据是分布式的存储在各个节点上的,所以为了减少网络传输的开销,就必须最大化的追求数据本地性,所谓的数据本地性是指,在计算时,数据本身已经在内存中或者利用已有缓存无需计算的方式获取数据. 1.      Stage划分算法思想 (1)一

Jquery第四课 Javascript中this的使用方法

thiskeyword的使用 在JavaScript中使用thiskeyword表示调用方法的对象,这与大部分面向对象语言是一样的.可是因为call.apply.bind等函数的影响.我们能够改变this所代指的对象. 使用call或者apply调用的函数中,this代指传入的第一个參数对象,假设传入null或者undefined.则表示全局对象(window). 通过对象调用函数(方法),函数中的this表示调用该函数的对象. 单独调用的函数中this表示全局对象. var myObject

Jquery第四课 Javascript中this的用法

this关键字的使用 在JavaScript中使用this关键字表示调用方法的对象,这与大部分面向对象语言是一样的.但是由于call.apply.bind等函数的影响,我们可以改变this所代指的对象. 使用call或者apply调用的函数中,this代指传入的第一个参数对象,如果传入null或者undefined,则表示全局对象(window). 通过对象调用函数(方法),函数中的this表示调用该函数的对象. 单独调用的函数中this表示全局对象. var myObject = { sayH

第六十四课 二叉树中结点的删除与清除

BTree.h中添加删除操作: 1 #ifndef BTREE_H 2 #define BTREE_H 3 4 #include "Tree.h" 5 #include "BTreeNode.h" 6 #include "Exception.h" 7 #include "LinkQueue.h" 8 9 namespace DTLib 10 { 11 12 template < typename T > 13 cl

python第二十四课——set中的函数

集合中常用的一些函数: 1.add(obj):追加一个obj元素到集合中 pop():从集合中随机弹出一个元素 remove(obj):删除集合中和obj匹配的元素 clear():清空集合 s1={10,100,3.14,'abcd'} s1.add('haha') print(s1.pop()) s1.remove('abcd') s1.clear() 以下代码有问题:set中的pop只能是空的函数,不能传递内容和索引,一传就错...错误类型:TypeError print(s1.pop(1

《深入浅出Mysql》——第四章 Mysql中的运算符

“<=>”安全的等于运算符,和“=”类似,在操作数相等时值为 1,不同之处在于即使 操作的值为 NULL 也可以正确比较. 原文地址:https://www.cnblogs.com/JasonPeng1/p/12234403.html

关于JS中涉及的常用类型转换及运算符表达式

JS中的常用类型转换(一般用强制转换):1.强制转为整数:parseInt:写法:x = parseInt(x); 2.强制转换位小为:parseFloat:写法:x = parseFloat(x); 3.检测类型:x = parseInt(x);       alert(typeof(true)); JS中常用的运算符表达式:1.逻辑运算符(布尔型):&& 并 :|| 或 :! 非 : 2.比较运算符:==(等于) :!=(不等于) : > :< :>=(大于等于) :

c语言中逗号运算符和逗号表达式

原文:c语言中逗号运算符和逗号表达式 C语言提供一种特殊的运算符——逗号运算符.用它将两个表达式连接起来.如: 3+5,6+8 称为逗号表达式,又称为“顺序求值运算符”.逗号表达式的一般形式为 表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2.整个逗号表达式的值是表达式2的值.例如,上面的逗号表达式“3+5,6+8”的值为14.又如,逗号表达式 a=3*5,a*4对此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4” 是一个逗号表达式,先求出此逗号表达