C语言操作符/表达式及其作用总结
一.算术操作符:+ - * / %
1. 除了 %操作符之外,其他的 几个操作符可以作 用于整数和浮点数。
2. 对于“/”操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
3.“%”操作符的两个操作数必须为整数。返回的是整除之后的余数。
二.移位操作符:
“<< ”左移操作符 :
移位规则:左边抛弃、右边补0

“>> ”右移操作符:
移位规则:首先右移运算分两种: 1. 逻辑移位左边 用0填充,右边丢弃 2. 算术移位左边 用原该值的符号位填充,
右边丢弃。

对于移位运算符,不 要移动负数位,这个是标准未定义的。例 如int num = 10; num>>-1;//error
三.位操作符
位操作符有:
& //按位与
| //按位或
^//按位异或
注:他们的操作数必须是整数。
四.赋值操作符
复合赋值符:
+= -= *= /= >>= <<= &= |=
例如:int a=0;
int b=0
a=a+10;
b+= 10;
计算出的结果a=b=10;
五.单目操作符:
! 逻辑非操作符
- 负值
+ 正值
& 取地址
sizeof 操作符的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
++ 前置、后置++
-- 前置、后置--
* 间接访问操作符
(类型) 强制类型转换
六.关系操作符:
> < >= <= == !=
七.逻辑操作符:
&& 逻辑与
|| 逻辑或
七.条件操作符:
exp1?exp2:exp3
判断exp1是否为真,若为真,则执行exp2,否则执行exp3;
八.逗号表达式:
exp1,exp2,exp3,···,expN
表达式依次从左向右执行,表达式的值取决于最后一个表达式的值。
九.下标引用、函数调用和结构成员:
1.[]
操作数:一个数组名+一个索引值
2.()
函数调用操作符,接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.访问一个结构的成员
结构体.成员名
结构体指针->成员名
C语言操作符/表达式及其作用总结的更多相关文章
- [JZOJ3588]【中山市选2014】J语言(表达式解析+栈)
Description J语言作为一门编程语言,诞生于20世纪90年代.............. 好学的小H今天又学到了一种新东西——J语言.显然,J语言的背景已经被小H忘得一干二净了,但是小H仍然 ...
- MongoDB中“$”操作符表达式汇总
MongoDB中"$"操作符表达式汇总 查询 比较操作 $eq 语法:{ : { $eq: } } 释义:匹配等于(=)指定值的文档 举例: 查询age = 20的文档: db.p ...
- C语言操作符
C语言操作符的分类: 算术操作符 逻辑运算符 位操作符 赋值操作符 单目操作符 关系操作符 条件操作符 逗号表达式 数组下标引用 函数调用 结构体成员使用 大体上,C语言的操作符具体就这么些, ...
- C语言操作符优先级
C语言操作符优先级 优先级 运算符 含 义 要求运算 对象的个数 结合方向 1 () [] -> . 圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符 自左至右 2 ! 逻辑非运 ...
- C 语言 .h文件的作用
C语言头文件的作用 最近在工作当中遇到了一点小问题,关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题.学习C语言已经有好几年了,工作使用也近半年了,但是对于这部分的东西的确还没有深入的 ...
- C语言对表达式的求值顺序不是明确规定的
讨论区看到的 WA来自那些递归下降求解的代码. 第一种情况,使用|| 和 &&: 例如s为所给串 int getval() { switch(s[c_s++]) { case 'p': ...
- [转载]C语言头文件的作用
最近在工作当中遇到了一点小问题,关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题.学 习C语言已经有好几年了,工作使用也近半年了,但是对于这部分的东西的确还没有深入的思考过.概念上还是 ...
- C语言-操作符与表达式
C语言入门之操作符与表达式 前言 本篇文章主要包括各种操作符的介绍与表达式求值,欢迎各位小伙伴与我一起学习. 一.操作符 分类 算术操作符 移位操作符 位操作符 赋值操作符 单目运算符 关系操作符 逻 ...
- $-------JSP中表达式语言的$特殊字符的作用
JSP 中EL表达式用法详解 EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user ...
随机推荐
- 修改MyEclipse行数的颜色
修改MyEclipse行数的颜色 1.未修改前,行数的颜色 2.依次选择"Window--->Preferences" 3.选择"General--->Edi ...
- ssh_Connection reset by peer报错
连接SSH时,产生了一下错误----->Read from socket failed: Connection reset by peer 首先查看日志 tail -f /var/log/aut ...
- Moo Volume POJ - 2231
Farmer John has received a noise complaint from his neighbor, Farmer Bob, stating that his cows are ...
- 异常-----freemarker.core.ParseException: Encountered
1.错误描述 freemarker.core.ParseException: Encountered " " at line 14, column 12 in myself.ftl ...
- freemarker之include指令(九)
freemarker之include指令 1.父页面ftl <html> <head> <meta http-equiv="content-type" ...
- 解决DOS批处理中一个困扰我几十个月的编码问题
DOS批处理中的编码很有意思.&是命令连接符,先执行&左边的命令,再执行&右边的命令.|是管道操作,把左边的输出当作右边的输入.此外还有&&和||,当要表示这些 ...
- Android热修复技术原理详解(最新最全版本)
本文框架 什么是热修复? 热修复框架分类 技术原理及特点 Tinker框架解析 各框架对比图 总结 通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单 ...
- Python编程核心内容之二——切片、迭代和列表生成式
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 最近太忙啦.很多事情需要自己处理,感觉时间不够用啊~~~~今后,博客更新时间可能会慢下来,哈哈,正所谓"人 ...
- Qtree3题解(树链剖分(伪)+线段树+set)
外话:最近洛谷加了好多好题啊...原题入口 这题好像是SPOJ的题,挺不错的.看没有题解还是来一篇... 题意: 很明显吧.. 题解: 我的做法十分的暴力:树链剖分(伪)+线段树+\(set\)... ...
- Luogu4175:[CTSC2008]网络管理Network
题面 Luogu4175:[CTSC2008]网络管理Network Sol 路径第\(k\)大 无解直接判断就好了 然后整体二分,加上树链剖分+树状数组统计 # include <bits/s ...