编码笔记,表达式,基本语句的写法

表达式和基本语句:

运算符优先级:
建议:
1、如果代码行中运算符比较多,用括号确定表达式的操作顺序。

复合表达式:
a = b = c = 0;好处是:1、书写简介,2、提高编译效率
建议:
1、不要编写太复杂的复合表达式。
如:i = a > b && c < d;
2、不要有多用途表达式。
如:d = (a = b + c) + r;//求a又求d,不如拆分两行
3、复合表达式不能与数学表达式混淆
如:if(a < b < c)并不表示if((a < b) && (b < c))而是if((a < b) < c)

goto语句:隐患较多,但语句本身没有任何隐患,而是程序员可能因goto语句调用跳过了某些重要步骤,例如类构造和初始化,一些重要的计算等。
建议:
1、慎用。

选择语句

if语句:与零值比较
建议:
1、bool值不能直接与TRUE,FALSE或1、0比较;
应该用:if(bFlag); if(!bFlag); if(Judge()); if(!Judge());
原因:bool语义中FALSE为0,TRUE为非零,没有定数。

2、整型变量与零值比较,应该直接用==或!=与0比较,不可模仿bool型if(iValue),导致人误以为是bool型。

3、浮点变量与零比较,不可用==或!=直接与0比较,应使用精度对比,不论float还是double都有精度限制,应用<=和>=组合。
不能用:if(fValue == 0)//隐含错误
应用:if((fValue <= EPSINON) && (fValue >= -EPSINON)),这里的EPSINON是允许的误差,就是精度。

4、指针变量与0比较,应将指针变量与nullptr比较,这个表示空指针,c11之前则可以与NULL比较,虽然NULL本质上是int 0,但可以强调与之对比的是指针变量。
如:if(pValue == nullptr); if(pValue == NULL);
而不可以是:if(pValue == 0); if(pValue);

5、if在比较时,为防止相等符号==少写一个=变成=赋值符号,推荐将变量和零交换位置,零写在前面,变量写在后面。
如:if(NULL == pValue); if(0 == iValue);

6、一个if对应一个else的情况下,使用?:三目运算符使得代码更加简练。

switch语句
应用与一个if对应很多个else的情况。
建议:
1、每个case语句后面都应该加break防止分支重叠,有意使用分支重叠则要添加注释。
2、一定要在最后加上default语句,即使程序真的不需要也应该保留,防止别人误以为此处忘记添加default语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值