【C语言】操作符总结之大话西游篇
致读者:
C语言表达能力强,其中一个重要方面就在于它的表达式类型丰富,运算符功能强,因而c使用灵活,适应性强。
我觉得想要c语言学的好,操作符这关就一定要精通,这个可以帮你有效的剪短代码行 , 让你的代码更简练漂亮。
以下就是C语言中的操作符及运算优先级的详细介绍:
操作符的分类:
算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式。
算数操作符:
+ 加:左右操作数适用于整型和浮点型数。
- 减:左右操作数适用于整型和浮点型数。
* 乘:左右操作数适用于整型和浮点型数。
/ 除:左右操作数适用于整型和浮点型数。
% 模运算或求余:左右两边接受两个整型操作数,返回值是余数而不是商。
移位操作符:
<< 左移操作符 左边溢出的移除,右边空出的位用0补上;
>> 右移操作符 左边空出的位有两种方式补充:
1). 逻辑移位 在左边空出的用0补充。
2).算数移位 在左边空出的用符号位原本(符号位原本的为1就用1 补充 符号位原本就是0就用0 补充)补充。
补充:(-1)除外,因为(-1)右移一位(-1),(-1)左移一位(-2)。
1、右移一个数等价于给一个数除2。 -----------> a>>1 <==> a/2。
2、左移一个数等价于给一个数乘2。 -----------> a<<1 <==> a*2。
位操作符:
& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。(取二进制)
| 按位或 如果两个相应的二进制位都为0,则该位的结果值为0,否则为1。
^ 按位异或 如果两个想应的二进制位相同, 则该位的结果值为0,不同为1。(交换变量)
赋值操作符:
+= %=
-= <<=
*= >>=
/= &=
^= |=
单目操作符:
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、 后置--
++ 前置、 后置++
* 间接访问操作符
(类型) 强制类型转换
补充:
sizeof (操作数的类型长度,以字节为单位)
(1)sizeof(变量),其中( )可以省略,说明sizeof不是函数,对于函数来说,它后面的( )不可以省略。
(2)sizeof(类型),其中( )不可以省路,此时sizeof仍不是函数。
(3)sizeof( )内部的表达式不参与计算
关系操作符:
> <=
< >=
== !=
补充:
=与==的用法及注意事项,=为赋值,==为等于。(常量写左)
逻辑操作符:
&& 逻辑与
|| 逻辑或
eg:
非0为真 0为假
1&2 ————> 0
真&&真————>1
真&&假————>0
假&&假————>0
1|2 ————> 3
真&&真————>1
真&&假————>1
假&&假————>0
条件操作符:
形式:
exp1 ? exp2 : exp3
补充:exp1为真,整个表达式的结果为exp2的结果,否则为exp3的结果。
逗号表达式:
exp1,exp2,exp3,exp4;
补充:
逗号表达式是用逗号隔开的多个表达式,
从左向向右依次执行,整个表达式的结果是最后一个表达式的结果。
下标引用、函数调用和结构成员 :
1.[ ]
操作数:一个数组名 + 一个索引值
例如:arr[10],[ ]的操作数是arr和10
2. ( )
函数调用操作符,接受一个或多个操作数,第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3. 访问一个结构的成员
(1) .
结构体 . 成员名
(2)->
结构体指针 -> 成员名
下附一张优先级等级表:
此篇为小编对C语言运算符浅析,不正之处多多指正。
【C语言】操作符总结之大话西游篇相关推荐
- C语言——操作符(详解)
目录 前言 1.操作符的分类 2.算术操作符 2.1.算数操作符的简介 2.2.除法操作符(/)的使用 2.3.取余操作符(%)的使用 3.移位操作符 3.1.什么是移位操作符 3.2.原码.反码和补 ...
- C语言之连接Mysql数据篇
C语言之连接Mysql数据篇 效果图 难度 : ⭐⭐⭐⭐(全星5颗星的情况下) https://downloads.mysql.com/archives/c-c/ 先去那个网站下载个文件 7MB左右 ...
- C语言面试题之华为篇2(答案全)
C语言面试题之华为篇(答案全) (1)什么是预编译,何时需要预编译: 答案: 1.总是使用不经常改动的大型代码体. 2.程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项.在这种情况 ...
- linux的vi命令输入C,Linux中C语言简单实现之vi篇(详细内容)
一.vi编辑器介绍 vi是UNIX和Linux操作系统使用的全屏幕文本编辑器,任何一台安装了UNIX或Linux的计算机都会提供vi编辑器,是一个功能强大的编辑器. 1.vi有三种操作模式:命令模式. ...
- 对c语言课程的总结和认识,c语言课程设计总结8篇
c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的 ...
- java语言程序设计郑莉课后答案_java语言程序设计郑莉第九篇课后习题答案.docx...
java语言程序设计郑莉第九篇课后习题答案.docx 还剩 36页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: ...
- c语言分支编程改错题,二级C语言改错 二级C语言编程题 汇总整理篇.doc
二级C语言改错 二级C语言编程题 汇总整理篇 360教育在线 宇创IT培训07年9月内部资料 内部资料,请勿公开传播 二.改错题 考试做题要求: 1.在/**********found******** ...
- c二级语言程序编程题,二级C语言编程题 汇总整理篇.doc
二级C语言编程题 汇总整理篇 360教育在线 宇创IT培训07年9月内部资料 内部资料,请勿公开传播 三.编程题 考试做题要求: 1.按题目要求编写部分代码,不要改动已经有的代码. 2.在运行时如果遇 ...
- C语言学习历程--小项目篇(1)
C语言学习历程–小项目篇–基于winpcap的UDP数据发送 开发环境介绍 1.操作系统:windows10(基于x64处理器).IDE:vs 2019(微软官网个人免费版).winpcap安装包及开 ...
最新文章
- 数字大脑学术沙龙:“城市大脑与应急管理专题研讨会”成功召开
- C# WINFORM 打包数据库
- 入门NLP、实现语音识别和语音合成,用这个开源工具SoEasy | 英伟达NLP公开课
- 在子线程中弹土司的一段代码
- RMAN异机复制数据库(不同路径)
- MongoDB和Redis区别
- BZOJ 2733 | 洛谷 P3224 [HNOI2012]永无乡
- C 语言实例 - 输出九九乘法口诀表
- c++ 指针_C/C++学习笔记——C提高:指针强化
- Windows引导及安装
- C# 多线程处理 I(转载)
- vmrc安装出现:未能安装 HCmon 驱动程序 (Failed to install the HCmon driver)
- 2022低压电工判断题及在线模拟考试
- MATLAB学习:解一阶常系数微分方程
- 利用EXCEL将中文汉字转为拼音
- replace() 替换的整理
- 安徽大学本科毕业论文答辩和论文选题PPT模板
- Hibernate学习-14:实体之间的关系及其配置,级联操作
- NX二次开发-UFUN导入图框UF_PART_import
- 【秋钓皮皮】 奔跑吧,皮皮!(有图了)