C语言中的运算符1

来源:互联网 发布:网络剧花千骨主角 编辑:程序博客网 时间:2024/06/01 11:48
C语言中的运算符
一、运算符1、  算术运算符:+  -  *  /  %
2、  赋值运算符:赋值运算符用“=”来给变量赋值。注意,在C语言中“=”不表示相等,而只是一个运算符。
3、  增量和减量运算符:
在程序开发中,我们经常需要对一个变量的值执行加1或者减1的操作。例如:

 x = x + 1;

 x = x – 1;      

为简化这种操作,C语言提供了增量运算符“++”和减量运算符“- -”。
根据运算符与操作数在表达式中的位置关系,分为前缀形式和后缀形式两种用法。
(1)前缀形式(大于任何运算符)
当运算符出现在它作用的变量的前面,称为前缀形式,表示变量在使用前自动加1或减1。其语法形式为:

 + +变量

 - -变量     

(2)后缀形式(小于任何运算符)
当运算符出现在它作用的变量的后面时,称为后缀形式,表示变量在使用后自动加1或减1。其语法形式为:

 变量+ +

 变量- -     

使用自增自减运算符时应注意:奋斗
++,- -运算只能作用于变量,不能用于表达式或常量。
 
例题1:int  a = 6;
        a=(++a)+(a++); 
        求输出的a的值。      
分析:a、由于前缀形式大于任何运算符,所以优先计算++a,得出++a为7,此时的a也为7
            b、再者,由1知a为7,所以a++为7(a++意思是先将a赋值,最后再自加)
            c、根据1、2知最后结果为7+7+1
            计算如图所示:
例题2:int  a = 6;        a=a+(++a)+(- -a)-(a++)        求输出的a的值。分析:a、由于前缀形式大于任何运算符,所以优先计算++a,得出++a为7,此时的a也为7            b、由于计算机太“笨”,要从左到右以此计算,所以算出a+(++a)的值为7+7=14            c、此时,在计算- -a的值,由1得a的值为7,所以- -a的值为6,a也为6,所以计算出a+(++a)+(--a)的值为14+6=20            d、最后一步有一个(a++)表示将第3步中a的值6,先赋值给a后,自身在加1,所以得出的结果是20-6+1=15            计算如图所示:
 例题3:如图所示: 

4、  关系运算符        = =等于  !=不等于  > 大于  < 小于  >= 大于等于  <= 小于等于
5、  逻辑运算符         && 逻辑与(一错全错)         || 逻辑或(两个错才全错)         ! 逻辑非
6、  条件运算符         一般形式为:  表达式1  ?  表达式2:表达式3         解释:若满足表达式1,则执行表达式2,否则执行表达式3
7、数据类型强制转换运算符(1)自动类型转换          基本规则如下:      a、当出现在表达式里时,有符号和无符号的char和short类型都将自动被转换为int,在需要的情况下,将自动被转换为unsigned  int。      b、在包含两种数据类型的任何运算里,两个值都将被转换成两种类型里较高的级别      c、类型级别从高到低的顺序是:double、float、long、int      d、在赋值语句里,计算的最后结果被转换成将要被赋予值的那个变量的类型。      e、当作为函数的参数被传递时,char和short会被转化为int,float会被转换为double。
(2)强制转换         强制类型转换运算符的使用形式为:       (type)表达式
8、特殊运算符(1)长度运算符sizeof(2)取址运算符&
                                             
0 0