| |
|
开发:
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语句和循环语句中用的较多 ? ??? ? ? ? ? ? ? ?=? ? ? ? ? ? ? ? ??:一定要和==区分开,’=‘ 常用于赋值语句中,而‘==’常用与条件判断 代码如下: ? (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?? 代码如下: 解释: //可以根据箭头来判断移动方向,箭头向左为左移,箭头向右为向右移 //整型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 语句的缩写?? 代码如下: (7)逗号表达式(?,) ??? ,?:用于分割多条语句 ?实例如下: ? ? ? //int a=2,c=1; (8)求字节运算符(sizeof) ? ?sizeof? ?:可以用来计算数组和字符串(包括结束标志‘ \0 ’)及数据类型所占空间大小(注意:如果是计算数据类型,必须要括号) 实例如下: (9)指针运算符(*?和?&) ? ? ? *? ? :有两种用法,在定义指针变量时,它是指针变量的标志,当指针变量被赋值后,变量名前加 * ,代表解引用操作 ? ? ?&? ? :取地址运算符。 代码实例如下: (10)强制类型转化运算符 实际应用实例如下: (11)成员操作符(? .? ?->?) ? ? 主要应用于结构体 (12)下标操作符(? ?[ ]? ?) ??? ? [ ]? ???:在定义数组和引用数组元素时,会用到 实例如下: 三.操作符之间的运算优先级 ? ?初等运算符 {(? )、[? ]?、—>、?.? ?}————>单目运算符(仅有一个操作数的)————>算术运算符(先乘除后加减)————>关系运算符————> ? ?逻辑运算符(不包含 !)————>条件运算符(???:?)————>赋值运算符(???=??? )————>逗号运算符 (? ,?) ?沿箭头方向,优先级别逐渐降低 ???????? ? ? ? ? ? ? ? |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/5 22:52:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |