博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重读金典------高质量C编程指南(林锐)-------第四章 表达式和基本语句
阅读量:6849 次
发布时间:2019-06-26

本文共 1177 字,大约阅读时间需要 3 分钟。

4.1 运算符的优先级

 

规则:如果代码行中的运算符比较多,可用括号确定操作顺序。if((a|b)&&(a&c))

4.2   复合表达式

规则:不要编写太复杂的复合表达式

规则:不要有多用途的复合表达式   d = (a = b + c) + r ; 不可取。

规则:不要把程序中的复合表达式与真正的数学表达式相混淆

4.3  if语句

本节以“与零值比较”为例,展开分析。

1)布尔变量与零值比较

规则:不可将布尔变量直接与TRUR、FALSE、或者1 、 0 进行比较。

if(flag)   //表示flag 为真 

if(!flag)   //表示flag为假

2)整型变量与零值比较

规则:用== 和 !=直接与0 比较。

if (value == 0)

if (value != 0)

3) 浮点变量与零值比较

规则:不可将浮点变量用 == 或 != 与任何数进行比较。而要注意浮点型变量都是有精度的。应该设法转化为 >= 或者 <=

将 if (x == 0.0)改为 if ((x>=-eps) && (x<=eps))

4)指针变量与零值比较

规则:应该将指针变量用 == !=与NULL进行比较。

        指针变量的零值为 空 。尽管NULL的值与0相同,但两者意义不同。

if(p == NULL) 或者 if (p != NULL)

5)补充说明

有些程序中这样写 if (NULL == P) 这是为了防止用户这么写if (p = NULL)

程序中有时会遇到if/else/return的组合,应该将如下不良风格的程序

if (condition)
return x;

return y;

改写为

if (condition)

{
    return x; 

}

else
{
    return y;
}
或者改写成更加简练的
return (condition ? x : y);

4.4  循环语句的效率

提高循环的效率的基本办法就是降低循环体的复杂性。

规则:当有循环的嵌套时候,建议把最长的循环放在内层。

规则:如果循环体内存在逻辑判断,且循环次数很大,建议将逻辑判断放至外层。

 

4.5  for 语句的循环控制变量

   规则:采用半开半闭区间的写法

for (int x=0; x<n; x++)

4.6  switch语句

    首先,switch语句是多分支语句。基本格式如下:

switch(variable)

{

    case value1:    ;break;

    case value2:    ;break;

    case value3:    ;break;

    default:           ;break;

}

规则:每个case分支后面,不要忘了加break,且最后还有default分支。

 

转载于:https://www.cnblogs.com/zhuxuekui/p/3585499.html

你可能感兴趣的文章
PE渲染引擎 二
查看>>
array 的方法
查看>>
samil添加if语句
查看>>
斯坦福的nlp学习
查看>>
centos 防火墙设置
查看>>
Lucene.net入门学习(结合盘古分词)(转载)
查看>>
我心中的核心组件(可插拔的AOP)~第三回 日志记录组件之log4net
查看>>
DDD~Unity在DDD中的使用
查看>>
在react中实现打印功能
查看>>
实现动态系统托盘图标
查看>>
互联网部-供应商团队js规范
查看>>
用Office Viso 2010创建SharePoint 2010 工作流
查看>>
用Python写一个小爬虫吧!
查看>>
jQuery的封装和扩展方式
查看>>
问题解决 sql server 2008 评估期已过期解决办法
查看>>
工具 EZDML表结构设计器
查看>>
终于掌握vim的寄存器和系统剪贴板的使用了- 要安装vim-X11包
查看>>
Boost下载安装编译配置使用指南(含Windows和Linux) .
查看>>
深度分析 Java 的 ClassLoader 机制(源码级别)
查看>>
Oracle 获取前几行数据问题的陷阱
查看>>