首页 > 其他分享 >运算符

运算符

时间:2023-03-14 17:47:15浏览次数:39  
标签:++ dd 从左到右 运算符 cc printf

1、算术运算符

  1.1、+(加)、-(减)、*(乘)、/(除)、%(余)

  这里的%只能是整数运算,不然会报错,如下

#include <stdio.h>
 
int main()
{
   int a = 2 ,b=5,c,d;
   float aa = 2.0,bb=5.0,cc,dd;
   
   c = b/a;
   d = b%a;
   
   cc = bb/aa;
   dd = bb%aa; 
   printf("%d",c);
   printf("%d",d);
   printf("%f",cc);
   printf("%f",dd);
   
   return 0;
}

  

 而除法对于整数和浮点数运算是有区别的

 

#include <stdio.h>
 
int main()
{
   int a = 2 ,b=5,c;
   float aa = 2.0,bb=5.0,cc,dd;
   
   c = b/a;
   dd = b/a;
   cc = bb/aa;
   
   printf("%d\n",c);
   printf("%f\n",dd);
   printf("%f\n",cc);
   
   return 0;
}

 

 

 

很明显,在整数时会只计算结果的整数部分,当结果时2.5时,由于整数下的除法只会计算整数部分,则结果只会是2,即使dd是浮点类型,结果也是2.0,而当两个浮点数相除结果便是2.5。

1.2、++(自增)、--(自减)

这种运算符会对整型变量进行加1或者减1运算,当a++形式是先进行+1然后再进行赋值,而++a形式是先赋值,再加1,看下面一个例子:

#include <stdio.h>
 
int main()
{
   int a = 2 ,b,c;
   printf("%d\n",a);
   b = a++;
   printf("%d\n",b);
   printf("%d\n",a);
   c = ++a;
   printf("%d\n",c);

   
   return 0;
}

  结果如下

 

 

 很明显值为2的a在进行b = a++ 运算后,b的值为2,而a的值已经变成了3,而进行c =++a 运算后c的值为4;

 

2、关系运算符

==,!=,>,<,>=,<=

关系运算符是对运算结果的判断,比如当a等于b时那么a==b的结果就是true,若不等于结果就是false,是双目运算符。

 

3、逻辑运算符

&&(且)、 ||(或) !(非)

&&:当两个值均为true,结果为true

||:当两个值均为false时,结果为false

!:当值为true时,结果为false

&&和||的运算当第一个表达式可以判断整个式子时,后面的式子便不会继续计算,这里是需要注意的地方。

 

4、位运算符

1表示true,0表示false,&、 | 和 ^ 对应的运算结果如下

p q p&q p|q ^p
1 1 1 1 0
1 0 0 1 0
0 1 0 1 1
0 0 0 0 1

 

 

5、赋值运算符

一般的赋值运算符主要指 ‘==’,而组合和赋值运算符如 ‘+=’   表达的意思是 a+=b  等价于 a = a + b

 

6、杂项运算符

sizeof() 返回变量的大小。 sizeof(a) 将返回 4,其中 a 是整数。
& 返回变量的地址。 &a; 将给出变量的实际地址。
* 指向一个变量。 *a; 将指向一个变量。
? : 条件表达式 如果条件为真 ? 则值为 X : 否则值为 Y

7、优先级

类别 运算符 结合性 
后缀  () [] -> . ++ - -   从左到右 
一元  + - ! ~ ++ - - (type)* & sizeof  从右到左 
乘除  * / %  从左到右 
加减  + -  从左到右 
移位  << >>  从左到右 
关系  < <= > >=  从左到右 
相等  == !=  从左到右 
位与 AND  从左到右 
位异或 XOR  从左到右 
位或 OR  从左到右 
逻辑与 AND  &&  从左到右 
逻辑或 OR  ||  从左到右 
条件  ?:  从右到左 
赋值  = += -= *= /= %=>>= <<= &= ^= |=  从右到左 
逗号  从左到右 

标签:++,dd,从左到右,运算符,cc,printf
From: https://www.cnblogs.com/chenbao1012/p/17212269.html

相关文章

  • Python 的is运算符和==运算符
    Python的is运算符和==运算符Python比较两个对象是否相同有两个运算符,本文介绍它们的异同。简单说,is比较的是内存地址是否相同,==比较值是否相同,并可以自定义。......
  • 05-运算符三元,包机制
    一、三元运算符a?b:ca是条件判断b是为真的输出c是为假的输出二、包机制一般利用公司域名倒置作为报名。例如百度:www.baidu.com包:com.baidu.www为了更好地组织类,包......
  • 三元运算符
    /***x?y:z*如果x==true则返回y否则结果为z*/publicstaticvoidmain(String[]args){intscore=50;Stringstype=sc......
  • 04 Golang 运算符
    一、算术运算符运算符描述+相加-相减*相乘/相除%求余代码示例:1packagemain2​3import"fmt"4​5funcmain(){6//......
  • Android 近期关注的文章和内容位运算符使用场
    App启动流程分析 ​​https://zhuanlan.zhihu.com/p/59801160​​ Application启动流程 ​​https://www.jianshu.com/p/14d54a76b16f​​Kotlin基础语法 ​​ https:......
  • 基础算术运算符
    理解:不同数据类型的数进行运算,结果为容量高的。自增,自减,属于一元运算符。自增,自减,例如intb=a++intb=++a;当不进行赋值操作时。a都是自身++,也就是a=a+1操作。当进行......
  • Python三元运算符
    三元运算符三元运算符通常在Python⾥被称为条件表达式,这些表达式基于真(true)/假(not)的条件判断,在Python 2.4以上才有了三元操作#如果条件为真,返回真否则返回假condit......
  • Java运算符详解
    Java运算符详解算术运算符+,-*,/,%,++,--除法时注意作用范围多个操作数,有一个为long、double······就是long,否则都会转为int,byte和short进行运算也是int++、-......
  • 第02章_变量与运算符
    本章专题与脉络1.关键字定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词)HelloWorld案例中,出现的关键字有class、public、static、void等,这些......
  • 运算符
    运算符算术运算符:+,-,*,/,%(取余,模运算),++,--赋值运算符:=关系运算符:>,<,>=,<=,==(等于),!=(不等于)instanceof逻辑运算符:&&,||,!(与,或,非)位运算符:&,|,^,~,>>,<<,>>>(了......