C++中的特殊运算符

   上一节介绍了有关C++中的位运算符,这一节继续学习一下C++中的其它运算符。以加深对各种运算符的理解。

  1.++自增、- - 自减

  此运算符可分为前置和后置两种形式。所谓前置,就是运算符在操作数的前面,后置就是指运算符在操作数的后面。在这里,二者还是有很大的不同的。强调:后置运算符的优先级高于前置运算符

  例如:i++; //后置

  - -j; //前置

  规则:在进行运算时,前置是先变化后运算,后置是先运算后变化。

  例如:前置形式

  int i=5 ; x=++i; y=i // i 要先增值后付给x,即先变化,后运算(i=6 ,x=6 ,y=6)

  int i=5 ;++i; x=y=i //(i=6, y=6 ,x=6)

  后置形式

  int i=5; x=i++ ; y=i ; // i 先赋值给x,再加1

  2、条件运算符

  形式:d1?d2:d3 ,C++中唯一一个三目运算符

  规则:1.先计算d1

  2.如果d1的值为true,返回d2的值作为结果

  3.如果d1为false,返回d3的值作为结果

  3、逗号运算符

  形式:表达式1,表达式2,表达式3...

  规则:先求表达式1的值,再求表达式2的值,以此类推,整个逗号表达式结果的值是最后一个表达式的值

  4.求字节运算符

  形式:sizeof(类型说明符|变量名|常量)

  规则:求操作数占用内存大小,由操作数类型决定。

  5.成员运算符

  C++语言中提供了指明数组元素、结构及联合成员的运算符。

  例如:下标运算符 [ ]‘、通过指针结构或联合体成员运算符 -->

  6、取地址运算符

  形式:& 变量名

  规则;即用来获取某个变量的内存单元地址值。

  例如:& a 表示变量a的地址值,通常可作用在各种变量名前,如数组元素名、结构变量等。不能作用在常量、非左值表达式之前,因其二表达式是没有内存地址的。

  7、取指针内容运算符

  形式: * int a=5 ; int * p=& a // 变量a标识的内存单元中存放的值为5,指针变量p指向变量a,将该运算符作用于p(即* p),最后*p的结果为5

  以上是我在学习C++中遇到的一些较为特殊的运算符。

时间: 2024-10-26 01:22:32

C++中的特殊运算符的相关文章

Python中的标识运算符

  这篇文章主要介绍了讲解Python中的标识运算符,是Python学习当中的基础知识,需要的朋友可以参考下 下表列出了所有Python语言支持的标识运算符. 示例: 试试下面的例子就明白了所有Python编程语言提供的标识运算符: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #!/usr/bin/python   a = 20 b = 20   if ( a is b ): print "Line 1

C#中的除法运算符和VB.NET中的除法运算符对比

  VB.NET中的除法运算符有两个:/(浮点除法).(整数除法) C#中的除法运算符只有一个:/(除法) VB.NET中的除法运算符与C#中的除法运算符存在很大的差异,使用时注意区分. 关于C#中的除法运算符的介绍(摘自MSDN): /(除法): 将两个数相除并返回除数和被除数的数据类型中精度高的数据类型. 执行除法前,编译器会将除数和被除数的数据类型统一成两者类型中精度高的数据类型.返回的运算结果的类型也是两者类型中精度高的数据类型.例如:两个整数相除的结果始终为一个整数. 一个整数和一个D

link中什么是运算符重载的局限性?局限性具体表现在哪些地方?

问题描述 link中什么是运算符重载的局限性?局限性具体表现在哪些地方? 什么是link中运算符重载的局限性?这个局限性从什么地方体现出来? 解决方案 运算符重载首先不是所有的运算符都能重载,另一个,运算符重载必须依附于类型,和C++不同,你不能在类定义的外部重载运算符.也就是说你不能改变已有类型的运算符的功能.

java中的移位运算符心得总结_java

java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >> 1,相当于num除以2 >>>    :     无符号右移,忽略符号位,空位都以0补齐 下面来看看这些移位运算都是怎样使用的 复制代码 代码如下: /** *  */package com.b510.test; /** * @author Jone Hongten * @creat

java中的移位运算符:&lt;&lt;,&gt;&gt;,&gt;&gt;&gt;总结(转)

java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >> 1,相当于num除以2 >>>    :     无符号右移,忽略符号位,空位都以0补齐 下面来看看这些移位运算都是怎样使用的 public class MoveOperation { public static void main(String[] args) { int numb

php中的三元运算符详解

php教程中的三元运算符详解 三元运算符的功能与"if....else"流程语句一致,它在一行中书写,代码精练.执行效率高.在PHP程序中恰当地使用三元运算符能够让脚本更为简洁.高效.代码的语法如下: (expr1)?(expr2):(expr3);   解释:如果条件"expr1"成立,则执行语句"expr2",否则执行"expr3". 实现同样的功能,若使用条件流程语句,就需要书写多行代码:  if(expr1){ exp

JavaScript中常用的运算符小结_javascript技巧

一.一元运算符 1.delete 运算符:删除对以前定义的对象属性或方法的引用.例如: var o=new Object; o.name="superman"; alert(o.name); //输出 "superman" delete o.name; alert(o.name); //输出 "undefined" 删除了name属性,将其设置为undefined(即创建的未初始化的变量的值).delete不能删除开发者未定义(即ECMAScri

[Java 泥水匠] Java Components 之二:算法篇之项目实践中的位运算符(有你不懂的哦)

2.1 前言   自从上篇[Java 泥水匠] Java Components 之一:Java String (肯定有你不懂的泥瓦匠很快又和你们聊起来了.写的还不错~ 要时刻对自己说: 得到殊荣也是昨天,看在眼里的只有今天.等待明天的只有死亡和坟墓. 回到正题,今天是讲位运算的,肯定有你不知道的.提纲: 2.2    异或基本算法 2.2.1  补充例子异或加密解密 2.3   '按位与'运算 就是那么简单 2.4    从非中,学习原码补码运算 2.5    综合算法现实案例 2.6    总

详解C++编程中的sizeof运算符与typeid运算符_C 语言

sizeof 运算符产生与 char 类型的大小有关的操作数大小. 语法 sizeof unary-expression sizeof ( type-name ) 备注 sizeof 运算符的结果为 size_t 类型,它是包含文件 STDDEF.H 中定义的整数类型.利用此运算符,你可以避免在程序中指定依赖于计算机的数据大小. sizeof 的操作数可以是下列项之一: 类型名称.若要将 sizeof 用于类型名称,则该名称必须用括号括起. 一个表达式.当用于表达式时,无论是否使用括号都可指定