您的位置:首页 > 编程语言 > C语言/C++

c语言有关操作符(运算符)的简单介绍

2017-10-04 21:28 253 查看
1.操作符(运算符)分类:

(1)算术运算符                    + - * / % ++ -- 

(2)关系运算符                    > < == >= <= !=

(3)逻辑运算符                    ! && ||

(4)位运算符                        << >> ~ | ^ &

(5)赋值运算符                    =及其扩展赋值运算符

(6)条件运算符                    ?:

(7)逗号运算符                    , 

(8)指针运算符                    * &

(9)求字节运算符                 sizeof

(10)强制类型转换运算符   (类型)

(11)成员运算符                   . ->

(12)下标运算符                   []

(13)其他                              如函数调用运算符

2.简单介绍几个操作符(运算符):

(1)算术运算符                 + - * / % ++ -- 

  %只能作用于两个整数,不能用于浮点数

  /运算符的的操作数只要有一个位浮点数,则结果为浮点数,否则结果为整数。

  ++ --    注意a++和++a的区别

              int a = 1;

              int c = a++;

              //c = 1  a= 2

              int d = ++a;

              // d = 3  a = 3

              ++a :a先自增1,然后表达式再使用a的值

              a++:表达式先使用a的值,然后a再自增1

              对a来说其结果都是a = a+1;         

(2)关系运算符                  > < == >= <= !=

  关系运算符组成的关系表达式的值是逻辑类型的,即真和假。有的编译系统中用1表示    真,0表示假。

(3)逻辑运算符                  ! (逻辑非)&& (逻辑与)||(逻辑或)

  有的编译系统规定:非零为真,真用1表示。零为假,假用0表示。

  && 若第一个表达式为假,则不计算第二个表达式。

  || 若第一个表达式为真,则不计算第二个表达式。

(4)位运算符                      << (左移运算符)>>(右移运算符) ~(按位取反)

  |(按位或) ^(按位异或) &(按位与)

  计算机中数据都是以二进制补码形式存储的。例如在32位平台上,-1的二进制为

  11111111  11111111   11111111   11111111

  左移运算即将二进制数想左移动指定的位数,移掉的丢弃,右边空出的一律补0。

  例如  -1<<3 结果为    11111111   11111111   11111111   11111000

  右移运算即将二进制数想左移动指定的位数,移掉的丢弃,左边补位有两种情况,一      种是一律补0,另一种是补符号位。一般是补符号位。

  例如  -1>>3 结果为    11111111   11111111   11111111   11111111

  ~ 将各个二进制位有由1变0,由0变1。

  | ^ &则是将对应的二进制位进行相应的运算。

(5)赋值运算符                   =及其扩展运算符

  就是将一个值赋给变量。

   复合赋值运算符 +=  %=  &=  >>=等等。a += 3;等价于 a = a+3;其他赋值运算符于此类    似。

(6)条件运算符                   ?:

  exp1?exp2:exp3  若exp1为真,则执行exp2,否则执行exp3;

(7)逗号运算符                    , 

  exp1,exp2,exp3 ,...expn 从左向右依次计算各个表达式的值,最后一个表达式的值为整 个 逗号表达式的值和类型。

(9)求字节运算符             
   sizeof

  int a;

  sizeof (int);// √

  sizeof
(a);// √

  sizeof
int;// ×

  sizeof
a; //  √

 
sizeof 求的是类型说明符(如int)和表达式所表示的数据所占有的字节数。

  

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: