11.23 C语言编程基础(3)运算符(第一部分)

本章节将介绍C语言运算符的基本知识,其中包括赋值运算符、算数运算符、关系运算符、逻辑运算符。

C语言编程基础(3)运算符(第一部分)

1、赋值运算

⑴ 把右边的值赋给左边的变量,赋值从右向左算。

int i, j, k;

i = j = k = 0; // k=0, j=k, i=j,可以但不推荐

⑵ 左边必须是一个左值(变量), 不能是常数或表达式。

0 = i; // 错误

i + j = 0; // 错误

⑶ 赋值表达式的左值即是赋值表达式的值

int i;

i = 1; // 整个赋值表达式的值即为i的值

⑷ 赋值可以和其它运算符结合使用,谓之复合赋值

i += 3; // 等同于:i = i + 3;

j *= 3; // 等同于:j = j * 3;

⑸ =代表赋值, ==代表相等。

2、算术运算

⑴ 加(+)、减(-)和乘(*)。

int i = 10;

int j = 5;

int num = 0;

num = i + j; // num等于15

num = i–j; // num 等于5

num = i * j; // num 等于50

⑵ 除(/)和模(%)

– 整数相除,向0取整(取更靠近0的数字)。

int num;

num = 5 / 2; // num等于2

– 对0做/和%会中断程序, /0.0得到无穷大(inf)。

– %只能用于整数,实数不支持。

int num;

num = 5 % 2; // num等于1

– %的正负号与%前面数字的正负号相同。

⑶自增减运算

– ++/--, 变量自增/自减1,不能用于常数。

5++; // 错误

– 整型实型均可自增减,但主要用于整型

– 前缀表达式,先自增减,后运算

int i = 5;

int j = 5;

int num = 0;

num = ++i + j; // num等于11

– 后缀表达式,先运算,后自增减

int i = 5;

int j = 5;

int num = 0;

num = j+i++; // num等于10

– i、 i++和++i,从内存上说是同一块内存区域。

– i++/++i最好单独作为一个语句出现。

3、关系运算

⑴ 大于(>)和大于等于(>=)

⑵ 小于(

⑶ 等于(==)和不等于(!=)

⑷ 关系表达式的值是真和假,分别用1和0表示。

int i = 5;

int j = 2;

int num = 0;

if(i > j) //此关系表达式的值为真

{

num = i – j; // num等于3

}

4、逻辑运算

⑴与(&&)、或(||)和非(!)

– 与:并且,全真则真, 否则为假

– 或: 或者,全假则假, 否则为真

– 非:反之,非真即假,非假即真

⑵逻辑表达式的值是真和假,分别用1和0表示。

⑶与(&&)的运算特征:短路与,即若第一个表达式为假,则结果为假,后面

的表达式不再计算。

int i = 5;

int j = 2;

if((i > 10) && (j++ ))

{

;

}

//第一个表达式为假,则后面的j++不再计算,所以j的值依然为2。

⑷或(||)的运算特征:短路或

,即若第一个表达式为真,则结果为真,后面

的表达式不再计算。

int i = 5;

int j = 2;

if((i < 10) || (j++ ))

{

;

}

//第一个表达式为真,则后面的j++不再计算,所以j的值依然为2。

本章节完毕。

下一章节将介绍C语言的运算符(第二部分)


分享到:


相關文章: