黑马程序员--c语言各种运算

算术运算:
c一共有34个运算符,包括了常见的加减乘徐运算
+ (还可以表示正号)
-(还可以表示负号)  
*
/(整数除以整数,还是整数,1/2的值是0)
%(取余运算或模运算,两边必须都是整数,-10%3=-1,,10%-3=1,%结果的正负性只和%左边被除数正负有关)

int a = 10.8;//自动类型转换(double->int),会产生警告
int b = (int)10.5; //强制类型转换,(double->int)
double c = 10.6+6; //自动类型提升,自动将6变成double类型(int->double)
double e = 3/2;//若要精确输出数值,可以写3/2.0或3.0/2或(double)3/2或3/(double)2
//但(double)(3/2)不行

赋值运算:
简单赋值
复合赋值
a = a + 5;//相当于a += 5
a += 5 + 6 + 4; // a = a + 5 + 6 + 4(后面是一个整体(5 + 6 + 4))

自增自减:
a++   ++a 
两者区别:
b = a ++; //先把a 之前的值赋给b,然后a在自加加
b = ++ a; //加完之后再赋值给b,

a = 10;
b = (a++) + (++a); //10 + 12

a = 10;
b = (++a) + (a++);// 11 + 11

int d = 10 ++;//错误  10 = 10 + 1; 常量没有自增自减

sizeof :
用来计算一个变量或者一个常量,一种数据所占的内存字节量

基本形式:
sizeof(变量/常量);

sizeof 变量\常量

sizeof(数据类型)
不能是sizeof 数据 类型// sizeof char 错误

关系运算(比较运算):
 
条件判断:

条件成立为真,条件不成立为假,判断条件是否成立,就是判断条件的真假

非 0 为真,0 为假

关系比较:
a = 10;

int result = b > a; //条件成立返回1,条件不成立返回0
int result = 11 == 10;// 0


使用注意:
==   != 优先级相等
> >= < <=
前者的优先级低于后者
int result = 2==3>1;// 值为0

关系运算符的结合方向从左到右 : 4>3>2// 值为0

算术运算符优先级高于关系运算符// 3+4 > 8-2   

逻辑运算:

逻辑运算结果只有2个,真为 1, 假为 0

逻辑与 &&

使用格式:
条件A && B
    运算过程:
如果条件A成立,接着再判断B是否成立,如果A成立,判断B
如果A不成立,则为假,不会判断B

    逻辑或:A || B

 运算过程:
如果A成立,就不会在判断B是否成立,
如果A不成立,再去判断B是否成立

逻辑非:!条件
如果条件成立,返回0,如果条件不成立,返回1

可以连续使用逻辑非运算符

三目运算符:

格式: 
条件 ? 数值1 :数值2

int a = 10>5 ? 9 : 89;// a=9

int d = (((a > b) ? a : b) > c) ? : ((a > b) ? a : b) : c ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值