系列文章目录
一、运算符、表达式和语句的概念
由表达式组成的语句称为表达式语句。它由一个表达式后接一个分号“;”组成。
二、运算符
(一)运算符类型
根据运算符的作用,主要分为以下几种类型:
运算符也叫做操作符,根据运算符操作的运算对象的个数,可以将运算符分为以下几种:
----单目运算符:只需要一个操作数
----双目运算符:需要两个操作数
----三目运算符:需要三个操作数
(二)运算符的优先级
运算符的优先级一般按照如下规律:
! > 算术运算符 > 关系运算符 > && > || > 条件运算符 > 赋值运算符 > 逗号运算符
具体可参照下表
(三)算术运算符
C语言内置的算术运算符有如下几种:
---- % 取模运算符的两个操作数只能作为整数
---- 前自增/前自减先计算后使用,后自增/后自减先使用后计算
(四)赋值运算符
C语言内置赋值运算符有如下几种:
---- 在C语言中,“ = ” 不是相等的意思,而是将右值赋给左值。赋值表达式的语句的目的是把值存储到内存上。用于存储值的数据存储区域统称为数据对象。 “左值"指用于标识一个特定的数据对象的名字或表达式。"右值"指的是能赋给可修改的左值的量。
(五)关系运算符
C语言内置关系运算符有如下几种:
关系运算符用于比较两个数值中间的关系,所以也叫做比较运算符。
另外,需要特别注意 “=” 和 “==” 的区别!通常在刚接触代码的时候,会经常判断错误,将“=”误以为是“==”
(六)逻辑运算符
为什么在关系运算符里面,结果只有0和1呢?而且成立则是1,不成立是0。原来,在计算机中,通过两个逻辑来表达数值之间的关系的,分别是逻辑真和逻辑假,逻辑真则表示关系是成立的,逻辑假则表示关系不成立。
逻辑假是用0来表示的,而逻辑真是使用非0来表示。在这里,初学者容易掉入一个坑,我们需要记住,1 是“真”,但是“真”不仅仅是1!
C语言内置逻辑运算符有如下几种:
在实际的生活当中,我们经常会用区间表示范围,例如,我们经常将学生成绩大于等于60且小于70的值判定为良好,在书写时是使用“60<=x<70”来表示。
但是通过我们上面学习的运算符优先级和关系运算符,大家可以猜猜上面的判断结果答案有多少个呢?
(1)第一步:我们先计算 60 <=x表达式的结果,很显然不论x的值为多少答案都只有两个,分别是0或者1
(2)第二步:用0或者1和70比较大小,很显然结果为1!
(七)位运算符
---- 左移n位等于乘以2的n次方
---- 右移n位等于除以2的n次方
思考
1、是不是只要是左移就能够实现乘以2的倍数呢?数据是否会产生溢出?
2、如何不使用中间变量交换两个整型变量的值?可以用“+”和“-”实现吗?可以用“^”实现吗?