C 碎片三 运算符与表达式
一、算术运算符
算术运算符:+、 -、 *、 /、 %等
加:+
减: -
乘: *
除: / 除数不能为0
模:% 参与模运算的数据不能为小数
二、赋值运算符
赋值运算符:=
作用:
1.初始化;
2.修改存储空间内容时
复合赋值运算符:+=、 -=、 *=、 /=、 %=等
凡是二目运算符,都可以与赋值符一起组合成复合运算符
赋值表达式:由赋值运算符和操作数构成的表达式
赋值的本质:修改指定的存储空间的内容
三、关系运算符
关系运算符:>、 <、 ==、 >=、 <=、 !=等
关系表达式:由关系运算符和操作数(表达式)构成的表达式 a > 2
关系表达式的值:
不符合数学逻辑: 0;
符合数学逻辑: 1;
例子:判断变量a是否是3的倍数 a%3 == 0;
四、逻辑运算符
逻辑运算符:&&、 ||、 !等
作用:用于合并或取反表达式
与&&:逻辑与,两边的表达式同时为真,整个表达式的值才为真
或|| :逻辑或,两边的表达式一个为真,值就为真 2<3 || 2>3
非! :逻辑非,表达式的值为真,其值就为假;反之亦然 !(2>3) = 1
例:判断闰年
(a%4 == 0 && a%100 !=1) || (a%400 == 0)
逻辑真:1;(C语言中值不为0就是真)
逻辑假:0;
五、自增自减运算符
自增自减运算符: ++、 - -等
++:自增,使操作数的值加1
- -:自减,使操作数的值减1
在操作数之前:先自增或自减,然后再参与运算
在操作数之后:先参与运算,然后再自增或自减
六、位运算符
位运算符: &、 |、 ~、 ^、 <<、 >>等
七、条件运算符
条件运算符: ? :
表达式1?表达式2:表达式3
表达式的值:如果表达式1的值成立,总表达式的值就是表达式2的值, 否则总表达式的值就是表达式3的值
八、逗号运算符
逗号运算符: ,
逗号表达式的值就是表达式N的值
作用:从左向右依次计算每个表达式的值
九、指针运算符
指针运算符: *、 &等
十、求字节数运算符
求字节运算符: sizeof(类型名/变量名)
作用:用来计算所占空间大小的
十一、强制类型转换运算符
强制类型转换运算符: (类型名)(表达式)
强制类型转换实质 (假设定义 int b )
1. (double)b 强制类型转换
2. 强制转换的是b空间中的数据的类型,只是临时强制转换b的值的类型
3. 变量b的类型不会发生任何改变
十二、分量运算符
分量运算符: .、 -> 等
十三、下标运算符
数组下标运算符 []
十四、其他运算符
函数调用运算符 ()
十五、优先级和结合性
赋值表达式的值等于等号左边的值;
a = b =3;右结合;
1、无论一个表达式有多复杂,都有一个确定的值;
只不过在计算最终值的过程中需要计算若干个子表达式。
2、很遗憾的是C语言中没有规定先计算哪个表达式,所以表达式的计算顺序,取决于运算符的优先级和结合性
3、记不住优先级和结合性,添加括号()解决。
4、同级之间右结合
C 碎片三 运算符与表达式的更多相关文章
- 细说php(三) 运算符与表达式
一.算术运算符 + - * / % ++ -- <?php $a = 100; $a++; // $a=$a+1; 先用变量再自增1 ++$a; // $a=$a+1; 先用 ...
- python 教程 第三章、 运算符与表达式
第三章. 运算符与表达式 1) 运算符 + 加 - 减 * 乘 ** 幂 / 除 // 取整除 % 取模 << 左移 >> 右移 & 按位与 | 按位或 ^ 按位 ...
- javascript运算符与表达式
表达式 表达式是关键字.运算符.变量以及文字的组合,用来生成字符串.数字或对象.一个表达式可以完成计算.处理字符.调用函数.或者验证数据等操作. 表达式的值是表达式运算的结果,常量表达式的值就是常量本 ...
- [Java 基础]运算符和表达式
Java运算符 (1)赋值操作符 赋值操作符(=)表示:取右边的值(即右值),把它复制给左边(即左值). 右值可以是任意的常量.变量或表达式(只要可以生成一个值). 左值必须是一个明确的.已命名的变量 ...
- 01-Java基础知识:数据类型与变量、标识符、运算符、表达式
Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2). int ( ...
- Python 学习笔记(2) - 基本概念、运算符与表达式
字符串 - 可以使用 3 种形式 - 单引号 :「'your string'」 - 双引号 :「"your string"」 - 三引号 :「'''your string''' 或 ...
- C#程序设计基础——运算符与表达式
运算符就是完成操作的一系列符号,它主要包括算术运算符.赋值运算符.关系运算符.逻辑运算符.条件运算.位操作运算符和字符串运算符. 表达式就是运算符和操作数的组合,如a*b+1-c.表达式主要包括算术表 ...
- java与.net比较学习系列(4) 运算符和表达式
上一篇总结了java的数据类型,得到了冰麟轻武等兄弟的支持,他们提出并补充了非常好的建议,在这里向他们表示感谢.在后面的文章中,我会尽力写得更准确和更完善的,加油! 另外,因为C#是在java之后,也 ...
- C语言入门(5)——运算符与表达式
C语言中运算符和表达式数量之多,在高级语言中是少见的.正是丰富的运算符和表达式使C语言功能十分完善.这也是C语言的主要特点之一. C语言的表达式由运算符.常量及变量构成.C语言表达式基本遵循一般代数规 ...
随机推荐
- C++零碎知识点(一)
1.sizeof用法总结 ①与strlen比较 strlen 计算字符数组的字符数,以"\0"为结束判断,但不包括. sizeof 计算数据(数组.变量.类型.结构 ...
- [Gym 101334E]Exploring Pyramids(区间dp)
题意:给定一个先序遍历序列,问符合条件的树的种类数 解题关键:枚举分割点进行dp,若符合条件一定为回文序列,可分治做,采用记忆化搜索的方法. 转移方程:$dp[i][j] = \sum {dp[i + ...
- C++中队列的建立和操作
什么是队列结构 队列结构是从数据运算来分类的,也就是说队列结构具有特殊的运算规则.而从数据的逻辑结构来看,队列结构其实就是一种线性结构.如果从数据的存储结构来进一步划分,队列结构可以分成两类. 顺序队 ...
- Windows环境下 Hadoop Error: JAVA_HOME is incorrectly set. 问题
最近尝试在windows开发MR程序并且提交Job,在解压缩好Hadoop,配置好环境变量后, 打开cmd 输入hadoop version 的时候出现以下错误: Error: JAVA_HOME i ...
- Spring入门第二十九课
事务的隔离级别,回滚,只读,过期 当同一个应用程序或者不同应用程序中的多个事务在同一个数据集上并发执行时,可能会出现许多意外的问题. 并发事务所导致的问题可以分为下面三种类型: -脏读 -不可重复读 ...
- ASP.NET WebForm中JavaScript修改了页面上Label的值,如何在后台代码中获取
在用ASP.NET WebForm开发一个项目时,遇到如下的一个情况 页面上有一个Textbox控件,还有2个Label 控件. 当Textbox控件中的值更改时,两个Label控件上的值做相应的更改 ...
- 7.26实习培训日志-Oracle SQL(二)
Oracle SQL(二) 条件表达式 CASE 语句 或者DECODE 函数,两者均可实现 IF-THEN-ELSE 的逻辑,相比较而言,DECODE 更加简洁 SELECT last_name , ...
- Google Coral Edge TPU USB加速棒上手体验
Edge AI是什么?它为何如此重要? 传统意义上,AI解决方案需要强大的并行计算处理能力,长期以来,AI服务都是通过联网在线的云端基于服务器的计算来提供服务.但是具有实时性要求的AI解决方案需要在设 ...
- 2017BAPC初赛A(思维,无序图,向量)
#include<bits/stdc++.h>using namespace std;string goods,sister[100010];int x,m;unordered_map&l ...
- 《OD学hadoop》20160910某旅游网项目实战
一.event事件分析 叶子节点只计算一次 父节点的触发次数由子节点的数量节点 事件流:是由业务人员定义的一系列的具有前后顺序的事件构成的用户操作行为,至少包括两个事件以上. 目标:以事件流为单位,分 ...