2算术运算符

1.算数运算

1)+、-、*

2)/、%

整数相除,取整数部分。11%5=商2,余1

/和%不能对整数0进行操作,否则会中断程序。但是可以对浮点0进行操作,但是得到的结果是inf,表示无穷大。

%不能对浮点数使用。

/向零取整(取更接近0的数字)。

%的结果与其左操作数的符号一致。

2.赋值运算

1)将赋值运算符右边的值付给左边的变量。// =

 int a;

a = 5; // 将5赋给a

2)赋值表达式的值就是赋值表达式左操作数的值。

int a, b, c;

a = b = c = 5; // a = (b = (c = 5));

printf ("%d,%d,%d\n", a, b, c); // 5,5,5

3)赋值运算符的左操作数必须是一个左值——可被赋值的对象——变量,常量或表达式不能被赋值。

100 = 200; // error

100 = a; // error

a + b = c; // error

4)赋值运算符是“=”而不是“==”。

5)赋值运算符还可和其它运算符结合起来使用,构成复合赋值。

a += b; // a = a + b

a %= b; // a = a % b

6)初始化与赋值是不同的。

int a = 10; // 初始化 //int a;

a = 100; // 赋值

3.自增减运算

1)++/--:变量自增/减1。

int a = 10;

a++; // a:11

a--; // a:10

++a; // a:11

--a; // a:10

2)不能用于常量。

10++; // error

--10; // error

3)可以用于所有的整型类变量,以及浮点类,但是多数情况下用于int。

4)前后缀自增减的区别:

前缀:先自增减,在计算表达式。++a

后缀:先计算表达式,再自增减。a++

a++表达式和++a表达式的值都是从操作数a的内存空间中得到的。二者的区别在于,一个是先取表达式的值再自增,另一个是先自增在取表达式的值。

5)忠告:自增减运算最好不要在一个表达式中使用多次。

1.关系运算

>/>=/</<=/==/!=

关系运算表达式的值是整数:1或者0。

逻辑真:1

2.逻辑运算

1)逻辑与(&&)、逻辑或(||)、逻辑非(!)

A && B:只有当A和B的值都为真(非零)时,表达式的值才为真。

A || B:只有当A和B的值都为假(零)时,表达式的值才为假。

! A:当A的值为真时,表达式的值为假,当A为假时,表达式的值为真。

2)短路运算

A && B:如果A的值为假,则B不处理。

A || B:如果A的值为真,则B不处理。

posted @ 2017-09-04 20:09  gd_沐辰  阅读(145)  评论(0)    收藏  举报