如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
高质量C编程目录第一章程序的排版第二章变量的命名规则第三章常量、变量与结构第四章基本语句与表达式第五章指针的使用第六章函数的设计第一章程序的排版1.2代码行建议:一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。建议:for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。这样可以防止书写失误。对比左右两段代码:1.3代码行内的空格建议:关键字之后要留空格。象const、virtual、inline、case等关键字之后至少要留一个空格,否则无法辨析关键字。象if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。建议:函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。建议:(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。建议:,’之后要留空格,如Function(x,y,z)。如果‘;’不是一行的结束符号,其后要留空格,如for(initialization;condition;update)。建议:赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后应当加空格。建议:一元操作符如“!”、“~”、“++”、“--”、“&”等前后不加空格。建议:象“[]”、“.”、“->”这类操作符前后不加空格。建议:对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉一些空格,如for(i=0;i<10;i++)和if((a<=b)&&(c<=d))voidFunc1(intx,inty,intz);//良好的风格voidFunc1(intx,inty,intz);//不良的风格if(year>=2000)//良好的风格if(year>=2000)//不良的风格if((a>=b)&&(c<=d))//良好的风格if(a>=b&&c<=d)//不良的风格for(i=0;i<10;i++)//良好的风格for(i=0;i<10;i++)//不良的风格1.4对齐建议:程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。下图:良好的代码不好的代码1.5长行拆分建议:代码行最大长度宜控制在70至80个字符以内。代码行不要过长,否则眼睛看不过来,也不便于打印。建议:长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。if((very_longer_variable1>=very_longer_variable12)&&(very_longer_variable3<=very_longer_variable14)&&(very_longer_variable5<=very_longer_variable16)){dosomething();}for(very_longer_initialization;very_longer_condition;very_longer_update){dosomething();}2.6修饰符的位置修饰符*和&应该靠近数据类型还是该靠近变量名,是个有争议的活题。若将修饰符*靠近数据类型,例如:int*x;从语义上讲此写法比较直观,即x是int类型的指针。上述写法的弊端是容易引起误解,例如:int*x,y;此处y容易被误解为指针变量。虽然将x和y分行定义可以避免误解,但并不是人人都愿意这样做。建议:应当将修饰符*和&紧靠变量名例如:char*name;int*x,y;//此处y不会被误解为指针2.7注释C语言的注释符为“/*…*/”。C++语言中,程序块的注释常采用“/*…*/”,行注释一般采用“//…”。注释通常用于:(1)版本、版权声明;(2)函数接口说明;(3)重要的代码行或段落提示。虽然注释有助于理解代码,但注意不可过多地使用注释。建议:全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。示例:/*TheErrorCodewhenSCCPtranslate*//*GlobalTitlefailure,asfollows*///变量作用、含义/*0-SUCCESS1-GTTableerror*//*2-GTerrorOthers-nouse*///变量取值范围/*onlyfunctionSCCPTranslate()in*//*thismodualcanmod