C语言基础知识学习(二)

一.运算符
1运算符及分类

运算符是特定的算术或者逻辑符号。

1)按功能分类
算术运算符、关系运算符、逻辑运算符和按位运算符。
2)按操作数的个数分类
单目运算符、双目运算符和三目运算符。

2运算符的优先级
运算符的优先级分15等级,1级最高,15级最低。
表达式中,优先级高的的先于低的运算,优先级相同的时候,按照运算符的结合性运算。

3运算符的结合性

左结合:多个同级优先级的运算符,从左向右运算。比如算数运算符。
右结合:与左结合相反,比如赋值运算符。
这里写图片描述

4表达式
表达式:将同类型的数据(常量,变量和函数等)用运算符按照一定规则连接起来的式子。表达式一定有返回值。
表达式后加分号,构成表达式语句。
1)表达式分类
算术表达式、关系表达式和逻辑表达式。

5常用运算符
1) 算数运算符(左结合):+ - * / %
操作数为int型时,结果取整,如果有一个为实数类型,结果为双精度实数。
m/n取余的时候结构正负性取决于m。

2)赋值运算符(右结合) =
作用:把等号右侧的值赋值给左侧的变量。
变量=值(或表达式);
注意:等号左侧一定是变量,不能是表达式。

3) 复合赋值运算符 +=……
先运算后赋值。
a + = 3 作用和 a=a+3;作用一样

4) 自增自减运算符 i++; i–;++i;–i;

扫描二维码关注公众号,回复: 2275575 查看本文章

i++和++i的区别:
前缀表达式 ++i作用和i=i+1一样
先让变量i自增,之后用自增之后的i值作为表达式的值
后缀表达式 i++
先用i值作为表达式的值,之后i的值再自增

5)sizeof运算符)
作用:给出操作数的存储大小。单位(字节)
用法: sizeof(数据类型/常量/变量/结构体)
注意:sizeof不是函数,编译时进行

6) 逗号运算符
作用:把两个表达式连接到一起,形成逗号表达式。
求值过程:分别求每个表达式的值,以最后的表达式的值作为整个表达式的值。
例 Int a=4,b=6,c=7;
Int result =(a+1,b+1,c+1);逐个求值 最后把c+1的值赋值给result。

逗号表达式不注重求值的结果,注重求值过程中哪些变量的值发生了变化。

7) 关系运算符(左结合)>、<、>=、<=、==、!=

所有的数值都有真假性,非0即真,只有0为假。
关系运算符的返回值只有0和1.

8) 逻辑运算符 (或)||、&&(与)、(非)!

或(左结合):两个表达式只要有一个真值,整个表达式的值就为真。
短路或:前一个表达式的值为真,后面表达式就不进行判断了
与(左结合):两个表达式的值都为真,整个表达式的值才为真。
短路与:前一个表达式的值为假,后面表达式就不进行判断了
非(右结合):非真即假,非假即真。

9) 三目运算符(右结合) ? :
条件表达式? 表达式1:表达式2
如果条件表达式的值为真,表达式1的值为整个表达式的值。
如果条件表达式的值为假,表达式2的值为整个表达式的值。
注意:?和:是成对出现。

猜你喜欢

转载自blog.csdn.net/qq_37831145/article/details/78205139