| |
|
开发:
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语言中十分详细的操作符详解 |
目录 ? 你是否觉得C语言中的操作符就像一个与你相距万里的陌生人,对它感觉很陌生,不太会使用下面就来讲讲如何让你和它做好朋友一、算数操作符1.加法操作符+ int a=2+3//右边的2和3相加后赋值给整形变量a,所以a的值为5 2.减法操作符- int a=3-2//右边的3和2相减后赋值给整型变量a,所以a的值为1 3.乘法操作符* int a=2*3//右边的3和2相乘后赋值给整型变量a,所以a的值为6 4.除法操作符/ int a=7/3//右边7除以3 商2余1,将商赋值给整型变量a,所以a的值为2 5.求余操作符% int a=7%3//右边7模3 商2余1,将余数赋值给整型变量a,所以a的值为1 二、移位操作符1.左移操作符<< 以该数字的补码向左移动相应的位数,高位舍弃,低位补0,其结果相当于乘于2的n次方,n为左移的位数 2.右移操作符>> 以该数字的补码向右移动相应的位数 如果是带有符号位进行移位,低位舍弃,在其高位补充原符号位,即正数补0,负数补1 如果是没带符号位进行移位,低位舍弃,在其高位补0,相当于除以2的n次方 三、位操作符
运行结果如下:
将a和b转化成二进制,对齐a和b的位数后再进行比较 1.按位与& 相同的位数两者都为1则按位与才为1,否则为0 2.按位或| 相同的位数两者之中只要有一者为1则按位或才为1,否则为0 3.按位异或^ 相同的位数两者之中只要数字不同则按位异或才为1,两者数字相同则为0 最后再将按位与后的二进制结果转化为十进制 四、赋值操作符1.= 例如: 定义一个整型变量a对其赋值5 int a=5; 2.+=,-=,*=,/=,&=,|=,^= 例如: a+=7;相当于a=a+7; a<<=2;相当于a=a<<2; 其他的赋值操作符都一样 五、单目操作符1.! 该操作符为逻辑反操作符,能够将非0值转化为0,将0转化为1,即真变假,假变真
2.~ 按位取反操作符能够将二进制的数字1变成0,0变成1,符号位也会改变 3.++,-- 前置++:先++,后使用.
后置++:先使用,后++.
--和++一样的用法 4.sizeof也是一个操作符,并不是函数,用来计算操作数的类型长度(单位:字节)
5.(类型)为强制类型转换操作符 有的浮点型数据用%d打印十进制的数字就会丢失数据,就要将浮点型数据强制转换成整型数据 6.&和* &为取地址操作符,在进行输入数据的时候就要加上,有了地址才能将数据通过键盘输入进去,如果操作数p的类型为M,则表达式&p为指向M类型的指针 *为解引用操作符,也叫取值操作符,它的操作数必须为指针,如果p为指针,则*p为p指向的对象或函数,当是指向对象时,*p即为左值 如果p为一个整形变量,例如:int p=2;则*&p相当于p,&*p却是非法的,因为*p相当于取了一个内存地址为2的值 7.正值+,负值- int a=10; int b=-a; b就等于-10 六、关系操作符>,>=,<,<=,==,!= 可以用来比较大小和判断条件是否成立 例如:
运行结果:
==意思为相等,写代码的时候漏了个=就得不到想要的结果 int a=5; !=为不等于的意思 七、逻辑操作符1.逻辑与&& &&的左右两边的条件都需要成立才能执行 例如:
运行结果:
2.逻辑或|| ||的左右两边条件只需一边成立即可执行 例如:
运行结果:
八、条件操作符条件操作符也叫三目操作符 表达式1?表达式2:表达式3 看表达式1是否成立,如果成立的话执行表达式2,不成立的话执行表达式3 例如:
运行结果:
?九、逗号表达式表达式1,表达式2,表达式3……表达式N 表达式从左向右依次进行计算,整个表达式的结果为最后一个表达式的计算结果 例如:
运行结果:
十、下标引用,函数调用和结构成员[]为下标引用操作符,用于数组当中,操作数为数组名和下标 例如:
运行结果为:
数组的下标从0开始 函数调用操作符(),操作数为函数名和()里的内容 例如:
运行结果:
点运算符.和箭头操作符->可以选择结构或联合中的成员 .和->的左边必须为结构或联合,右边必须为结构或联合中的成员 十一、操作符的优先级
终于写完了,操作符的讲解到此就结束啦,你是不是对其有了更多的认识呢 ? |
|
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 11:01:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |