C语言中的运算符

1. 在C语言中运算符包括:算术运算符、关系运算符、赋值运算符、逻辑运算符

2.用运算符把变量、常量连接起来的式子就是表达式

3.我们阅读一个表达式,从表达式的功能和表达式的值来看

4. 算术运算符和表达式

4.1 运算符包括:+ - * / %

4.2 一个整数和另外一个整数相除,结果是一个整数, 4/6 == 0,  6/4 == 1

4.3 求余操作%,余数的符号和被除数的符号一致  -6 % 4 == -2

4.4 数据类型较短的操作数和较长的操作数进行运算时,首先转换为较长的类型,再参加运算。整数和小数进行运算时,先把整数转换为小数再运算。如:

int  i = 10;

long j = 20;

表达式  i + j , 运算前把i的类型先转换为long,然后再和j进行相加

float  f = 12.34;

表达式 i + f , 运算前先把i的类型转换为float,再参加运算。

4.5 对于算术表达式来说,整个表达式的类型就是这个表达式中最长的数据类型

i + j 这个表达式 的类型是 long

i + f 这个表达式的类型是float

5. 自增和自减

i ++ 相当于 i = i+1

i--相当于i = i-1

自增和自减 的后缀形式 i++和i—,i++和i--表达式的值是变量i的值,后缀方式是先使用,后自增或自减; ++i和--i是前缀形式,前缀形式的表达式的值,是先自增或自减之后 的值

int i = 10;

int j = i++;  // j == 10, i== 11

int k = ++i;  // i == 12,k == 12,

6. 赋值表达式

int i = 10;

int j;

    j = i 这就是一个赋值表达式,把赋值号(=)右边表达式 的值,赋值给左边的变量

赋值号左边的一定是一个变量,赋值表达式的值就是左边变量的值。

7. 关系表达式

7.1 关系运算符包括: > , >= , < , <= , == , != , <>

7.2 两个操作数进行比较,结果要么是真,要么是假

7.3 关系表达式常常和后面要学的 if语句 , 循环语句结合使用,作为一个条件存在

7.4 需要注意的是,在C语言中,用0表示假,非0数都是真

7.5 注意,如果表达式成立,会输出1, 表达式不成立,会输出0

7.6 如果有三个变量 a, b, c,求三个变量的最大者,这个条件应该这样写:

if( a>b && a > c ){

        printf("最大数是%d\n", a );

    }

    if( b>c && b>a ){

        printf("最大数是%d\n", b  );

    }

    if( c>b && c>a ){

        printf("最大数是%d\n", c  );

    }

8.逻辑表达式

8.1 逻辑运算符包括 && || !

8.2 表达式1 && 表达式2,当表达式1为假时,不再计算表达式2

8.3 表达式1 || 表达式2,当表达式1为真时,不再计算表达式2

 

9. 三目运算符 ?:

条件?表达式1 :表达式2

如果条件成立,返回表达式1的值,条件不成立,返回表达式2的值

10. 位移运算

向左位移<< 和 向右位移 >>

向左位移就相当于原来的数乘以2, 向右位移相当于除以2

11 位运算

按位与 &, 按位或|, 按位取反~, 按位异或^

需要把这个数转换为二进制之后 再按位进行操作

异或的值,只有当两个相应的位不一致的时候,结果为1

12 强制类型转换

(类型) 表达式

13 了解运算符的优先级

 

 

 

 

 

 

 

 

  

 

posted @ 2016-03-15 21:26  甘林梦  阅读(641)  评论(0编辑  收藏  举报