IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言基础之操作符 -> 正文阅读

[C++知识库]C语言基础之操作符

一.基本运算符

? ? ?(1)? ? 算术运算符:?+(加)、-(减)、*(乘)、/(除)、%(取余)、++(自增)、--(自减)

? ?(2)关系运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、!=(不等于)、==(是否等于)、=(等于)

? ?(3)逻辑运算符:!(逻辑非)、&&(逻辑与)、||(逻辑或)

? ?(4)位运算符:<<(按位左移操作符)、>>(按位右移操作符)、~(按位取反)、|(按位或)、^(按位异或)、&(按位与)

? ?(5)赋值运算符:=(将右值赋值给左值)

? ?(6)条件运算符:??:(三目操作符)

? ?(7)逗号操作符:??,

? ?(8)求字节运算符:sizeof(是以字节为单位的)

? ?(9)指针运算符:*和&

? ?(10)强制类型转换运算符:((类型))

? ??(11)成员操作符:(.? ?->)

? ? ? ?(12) 下标操作符:[](数组中应用)

二.运算符详细用法如下:

(1)算术运算符(+、-、*、/、%、++、--)

? ? ? ? ?+? ? ? ?-??? :即可作为正负号运算符(单目操作符:一个操作数)也可以作为加减法运算符(双目运算符:两个操作数)

? ? ? ? ?? ? ?/? ? ? ?? :其是取商(操作数均为整数,不进行四舍五入,直接去小数部分),如果操作数其中有一个是浮点数,结果就是浮点数

? ? ? ? ?? ? ?*? ? ? ?? :两个操作数直接相乘

? ? ? ? ??? ? %? ? ??? :其值时余数(注意:操作数(运算对象)必须为整数)

? ? ? ? ??? ? ++? ??? :自增操作符,若果操作数在符号前面,就先应用再自增,反之,则先完成自增,再进行其他操作

? ? ? ? ?? ? ?--? ? ??? :自减操作符,用法同上

? 代码理解如下:

(2)关系运算符(> 、 <? 、=、? >=、? <= 、 == 、 !=)

? ???>? <? >=? <=? ==? !=??:主要用来进行条件的判断,在if....else语句和循环语句中用的较多

? ??? ? ? ? ? ? ? ?=? ? ? ? ? ? ? ? ??:一定要和==区分开,’=‘ 常用于赋值语句中,而‘==’常用与条件判断

代码如下:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

? (3)逻辑运算符(!、 & & 、||)

? ? ? ?在逻辑判断中,1表示真,0表示为假

???!A? ? ? ?:逻辑非,如果A为真,则真值为1,但是其前有逻辑非(‘ !’)符号,所以真值为0,反之,则真值为1

?A&& B? ??:逻辑与,只有当A和B同时为真时总体真值为真(1),其他情况均为假(0)

?A? | |? B? ??:逻辑或,只要当A和B同时为假时总体真值为假(0),其他情况均为真(1)

(4)位运算符(<<? 、>> 、 ~、? ^、? & 、 |)

? ???<< >>:移位操作符,数据在计算机中是以二进制的方式(补码)进行存储,移位操作符移动的是二进制位

? ??? ? ? ~? ?:按位取反,就是对操作数求反结果,0替换为1,1替换为0(一般取二进制位的最高位为符号位,再去取反时,符号位也要变号)

? ??? ? ?&? ??:按位与,a & b,在相应的二进制位上,若都为1,则结果为1,否则,结果为0

? ??? ? ?|? ? ??:按位或,a | b,在相应的二进制位上,若都是0,则结果为0,否则,结果为1

? ??? ? ^? ? ?:按位异或,a^b,在相应的二进制位上,若相同则为0,不同则为1

实例如下:

//3? ? 在计算机中存储为 00000000 00000000 00000000 00000011

//2? ? 在计算机中存储为 00000000 00000000 00000000 00000010

//2^3 在计算机存储为? ?00000000 00000000 00000000 00000001

//? ? ? ? 所以2^3的结果为1??

代码如下:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

解释:

//可以根据箭头来判断移动方向,箭头向左为左移,箭头向右为向右移

//整型a在计算机中用二进制表示的为00000000 00000000 00000000 00000011

//整型b在计算机中用二进制表示的为00000000 00000000 00000000 00000110(a的2进制位左移1位,以后空缺用0补)

//整型c在计算机中用二进制位表示为00000000 00000000 00000000 00000000 (1100000000)(不在c的分配空间中),故其值为0

(5)赋值运算符(=)

? ? ?=? ? ??:其实将等号右边的值赋值给左边,可以是一个确定的值,也可以是一个表达式

实例:

? int a;

? a=4;? ? ? ?

? a=4+5;

(6)条件运算符(?:)

? ??:?:类似于一种if....else 语句的缩写??

代码如下:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

(7)逗号表达式(?,)

??? ,?:用于分割多条语句

?实例如下:

? ? ? //int a=2,c=1;

(8)求字节运算符(sizeof)

? ?sizeof? ?:可以用来计算数组和字符串(包括结束标志‘ \0 ’)及数据类型所占空间大小(注意:如果是计算数据类型,必须要括号)

实例如下:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

(9)指针运算符(*?和?&)

? ? ? *? ? :有两种用法,在定义指针变量时,它是指针变量的标志,当指针变量被赋值后,变量名前加 * ,代表解引用操作

? ? ?&? ? :取地址运算符。

代码实例如下:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

(10)强制类型转化运算符

实际应用实例如下:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

(11)成员操作符(? .? ?->?)

? ? 主要应用于结构体

(12)下标操作符(? ?[ ]? ?)

??? ? [ ]? ???:在定义数组和引用数组元素时,会用到

实例如下:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

三.操作符之间的运算优先级

? ?初等运算符 {(? )、[? ]?、—>、?.? ?}————>单目运算符(仅有一个操作数的)————>算术运算符(先乘除后加减)————>关系运算符————>

? ?逻辑运算符(不包含 !)————>条件运算符(???:?)————>赋值运算符(???=??? )————>逗号运算符 (? ,?)

?沿箭头方向,优先级别逐渐降低

????????

? ? ? ? ? ? ?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:09:10  更:2021-08-05 17:10:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 3:23:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码