1月30日---------六十八节课条件运算与逗号运算

浮点


%e是输出科学计数法

下图为科学计数法


 在%和f之间加上.n可以指定保留小数点后几位,这样的输出是做4舍5入的
如:printf("%.3fn",-0.0049)保留三位小数。


浮点运算的精度

带小数点的字面量是double而非float

所以float需要用f或F后缀来表明身份,即a=1.234f

fl== f2可能失败
可以两数相减然后让绝对值小于一个数,即fabs(fl-f2)< 数


选择浮点类型:没有特殊需要就用double


逃逸字符

  • \b:回退一格(不一定是删除)
  • \t:到下一个表格位(即Tab键) 
  • \n:换行
  • \r:回车

自动类型转换

  • 当运算符的两边出现不一致的类型时,会自动转换成较大的类型,大的意思是能表达的数的范围更大。
  • char —-> short-> int —> long —> long long
  • int —> float —> double
  • 对于printf,任何小于int的类型会被转换成int,float会被转换成double
  • 但是scanf不会,如:要输入short,需要%hd

强制类型转换

要把一个量强制转换成另一个类型(通常是较小的类型),需要:(类型)值

  • 比如:(int)10.2, (short)32
  • 要注意,小的变量不一定总表达大的量
  • 只是从那个变量计算出了一个新的类型的值,它并不改变那个变量,无论是值还是类型都不改变
  • 强制类型转换的优先级高于四则运算
    布尔类型
  • 输入:#include <stdbool.h>,之后就可以使用bool和true、false

逻辑运算

  • 逻辑运算的结果只有0或1

  • 想要表达x∈(2,3),不能2<x<3,而要写成x>2&&x<3(因为x<4是一个逻辑量)
  • 优先级比较


短路:

逻辑运算是自左向右进行的,如果左边的结果已经能够决定结果了,就不会做右边的计算

  • 对于&&,左边是false时就不做右边了
  • 对于||,左边是true时就不做右边了

所以,不要把赋值,复合赋值等组合进表达式


条件运算符

优先级高于赋值运算符,低于其他运算符

如:count = (count > 20) ? (cout < 50) ? count -l0 : count - 5 : (count < l0 ) ? count + l0 :count + 5;


逗号运算符

逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。逗号的优先级是所有的运算符中最低的,所以它两边的表达式会先计算;逗号的组合关系是自左向右,所以左边的表达式会先计算,而右边的表达式的值就留下来作为逗号运算的结果。
主要在for中使用,可以在多个计算式中用逗号隔开,如

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值