疯狂c语言讲义,【C语言疯狂讲义】(三)C语言运算符

1、运算符:

连接两个操作数(常量、变量)的符号

用运算符按照一定的规则连接的式子称为表达式

运算符的分类:

1)操作数的个数:

单目运算(++     sizeof    !)

双目运算符:。。。。

三目运算符:  ?:

2) 功能:

算术运算符、关系和逻辑运算、位运算

2、算术运算符

1)什么东西?

进行算术的运算,总计5个

+  -  *  /  %

双目运算符

a+b   a*3   b/5    10%3

2)优先级

* /   3

+ -   4

乘除的优先级要高于加减的

3)结合性

前提:优先级相同

左结合:从左到右结合计算

int a=3,b=2;

a+b*3/1-5

--> a+6-5

--> 4

4)注意事项

% 求余数

m%n求余数

m = 0   结果是 0

n = 0   结果无意义,n不能为0

m > n   结果正常取余数

m < n   结果是 m

3、赋值运算符

1)什么东西?

=作用:把等号的右侧的值(常量、表达式)赋值给等号左边的变量

注意:等号的左边一定要是变量

a+2 = b+2 (错误的)  10=a(错误的)

a = 2;  b=a+3;

2)优先级

14

3)结合性

右结合:从右至左

int a,b,c,d;

a = b = c = d = 0;

int a=b=c=d=0;(错误的)

4)注意事项

复合赋值运算符:总共有5个

+=    a+=2;--> a = a+2;

-=    a-=2;--> a = a-2;

*=    。。。。

/=

%=

4、自增、自减运算符

1)什么东西?

++ --  相当于让运算符连接的操作数自身的值+1或者-1

格式: 变量名++      ++ 变量名

变量名--      -- 变量名

让变量的值自动的+1或者-1

2)优先级

2

3)结合性

右结合

(a++)+(++b)

-a++  -->  -(a++)

4)注意事项

技巧:

int a=3;         a++        ++a

表达式的值          3          4

a变量的值           4          4

如果a在++符号的前面,先取出a的值作为表达式的值,然后a自身值+1

口诀:先用后变

如果a在++符号的后面,先让a自身值+1,然后取出a的值作为表达式的值

口诀:先变后用

5、sizeof运算符

1)什么东西?

计算常量、变量、数据类型在我们内存中占用的字节数

2)用法

常量上 :  sizeof(10)  sizeof(2.3)  sizeof('a')

---> sizeof 10   sizeof 2.3

sizeof("a")  //2

'

变量上:int a;  sizeof(a);

数据类型上:sizeof(int)   sizeof(float)  sizeof(char)

3)结合性

4)注意事项

sizeof不是第一个函数,是一个运算符

sizeof('a') 4个字节,字符型的常量在C标准的编译中用int型存储的

6、关系运算符

真假性问题:

所有的数值都有真假性

非0 就真(1)      0就是假(0)

1)什么东西?

判断操作数之间的关系,总计有6个

>    大于

>=   大于等于

<=   小于等于

==   等于

!=   不等于

双目运算符

a>3   b>a+2;   1>2

2)优先级

6

3)结合性

左结合

a = 1>2<3>0;

((1>2)<3)>0

1>0

4)注意事项

7、逻辑运算符

1)什么东西?

更多的时候是判断多个条件是否同时成立(同时为1)

双目运算符

&&逻辑与&&符号两边的表达式都必须为真

口诀:同真为真   一假则假

||逻辑或||符号两边的表达式有一个为真,结果就为真

口诀:同假为假  一真则真

!    逻辑取反 (单目运算,右结合)

口诀:真变假     假变真

2)优先级

!             2

&&             11

||             12

3)结合性

左结合

4)注意事项

短路的问题:

掌握口诀就行

a && b+2 || b-5

8、条件运算符

1)什么东西?

? :

进行了一个简单的判断

a>b?a:b  -->取出a、b中的最大值

先判断a>b是否为真:

如果为真:a的值作为条件表达式的值返回

如果为假:b的值作为条件表达式的值返回

2)优先级

13

3)结合性

左结合

(num1>num2?num1:num2)>num3 ? num1>num2?num1:num2 :num3

4)注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值