黑马程序员————C语言基本运算

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- -------

1,基本算术运算符

1)加法运算符“+”:加法运算符为双目运算符,即应有两个量参与加法运算,具有右结合性

如:

a+b,4+8 

2)减法运算符“-”:减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,具有左结合性。
如:

a-b,-b

3)乘法运算符“*”:双目运算,具有左结合性。
如:

a*b
4)除法运算符“/”:双目运算具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。
如:

a/b
5)取余运算符”%“:双目运算具有左结合性。
如:

a%b

2,算术表达式和运算符的优先级和结合性

1)表达式:由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。表达式求值按运算符的优先级和结合性规定的顺序进行。单个的常量、变量、函数可以看作是表达式的特例。

a+b>a-b
c=getc()
d!='c'

2)算术表达式:由算术运算符和括号连接起来的式子。如下:

a+b
(a*2)/c
(x+r)*8-(a+b)/7
a%b

3)运算符的优先级:C语言中,运算符的运算优先级共分为15 级。1级最高,15 级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。

4)运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y应先与“-”号结合,执行x-y运算,然后再执行+z 的运算。这种自左至右的结合方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合性运算符是赋值运算符。

如:

x=y=z
由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算

3,自增、自减运算符

   自增1 运算符记为“++”,其功能是使变量的值自增1。自减1 运算符记为“--”,其功能是使变量值自减1。自增1,自减1 运算符均为单目运算,都具有右结合性
++i i自增1后再参与其它运算。
--i i自减1后再参与其它运算。
i++ i参与运算后,i的值再自增1。
i-- i 参与运算后,i的值再自减1。

例如:

<pre name="code" class="html">#include <stdio.h>>
int main()
{
	int i=8;
	printf("%d\n",++i);
	printf("%d\n",--i);
	printf("%d\n",i++);
	printf("%d\n",i--);
}
 

输出如下:

9
8
8
9


4,关系运算

在C语言中有以下关系运算符:

1) < 小于
2) <= 小于或等于
3) > 大于
4) >= 大于或等于
5) == 等于
6) != 不等于
关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者。

a+b!=a-b

5,逻辑运算

C语言中提供了三种逻辑运算符:
1) && 与运算
2) || 或运算
3) ! 非运算
!(非)的优选级低于&&(与),&&(与)的优选级低于|(或);“&&”和“||”低于关系运算符,“!”高于算术运算符。逻辑运算的值也为“真”和“假”两种。

举例:

a>b && c>d 
!b==c||d<a 
a+b>c&&x+y<b





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值