快速业务通道

高质量C++/C编程指南-第4章-表达式和基本语句

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30

表4-4(c) 效率低但程序简洁                表4-4(d) 效率高但程序不简洁 4.5 for 语句的循环控制变量 l         【规则4-5-1】不可在for 循环体内修改循环变量,防止for 循环失去控制。   l         【建议4-5-1】建议for语句的循环控制变量的取值采用“半开半闭区间”写法。 示例4-5(a)中的x值属于半开半闭区间“0 =< x < N”,起点到终点的间隔为N,循环次数为N。 示例4-5(b)中的x值属于闭区间“0 =< x <= N-1”,起点到终点的间隔为N-1,循环次数为N。 相比之下,示例4-5(a)的写法更加直观,尽管两者的功能是相同的。  

for (int x=0; x<N; x++) { … } for (int x=0; x<=N-1; x++) { … }

示例4-5(a) 循环变量属于半开半闭区间           示例4-5(b) 循环变量属于闭区间 4.6 switch语句     有了if语句为什么还要switch语句? switch是多分支选择语句,而if语句只有两个分支可供选择。虽然可以用嵌套的if语句来实现多分支选择,但那样的程序冗长难读。这是switch语句存在的理由。     switch语句的基本格式是: switch (variable) { case value1 :  … break; case value2 :  … break;     … default :  … break; }   l         【规则4-6-1】每个case语句的结尾不要忘了加break,否则将导致多个分支重叠(除非有意使多个分支重叠)。 l         【规则4-6-2】不要忘记最后那个default分支。即使程序真的不需要default处理,也应该保留语句    default : break; 这样做并非多此一举,而是为了防止别人误以为你忘了default处理。 4.7 goto语句     自从提倡结构化设计以来,goto就成了有争议的语句。首先,由于goto语句可以灵活跳转,如果不加限制,它的确会破坏结构化设计风格。其次,goto语句经常带来错误或隐患。它可能跳过了某些对象的构造、变量的初始化、重要的计算等语句,例如: goto state; String s1, s2; // 被goto跳过 int sum = 0; // 被goto跳过 … state: … 如果编译器不能发觉此类错误,每用一次goto语句都可能留下隐患。     很多人建议废除C++/C的goto语句,以绝后患。但实事求是地说,错误是程序员自己造成的,不是goto的过错。goto 语句至少有一处可显神通,它能从多重循环体中咻地一下子跳到外面,用不着写很多次的break语句; 例如  { …       { …        { …            goto error;        }       }  }  error:  … 就象楼房着火了,来不及从楼梯一级一级往下走,可从窗口跳出火坑。所以我们主张少用、慎用goto语句,而不是禁用。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号