C语言程序的书写版式.doc

上传人:自*** 文档编号:126174529 上传时间:2020-03-22 格式:DOC 页数:45 大小:89KB
返回 下载 相关 举报
C语言程序的书写版式.doc_第1页
第1页 / 共45页
C语言程序的书写版式.doc_第2页
第2页 / 共45页
C语言程序的书写版式.doc_第3页
第3页 / 共45页
C语言程序的书写版式.doc_第4页
第4页 / 共45页
C语言程序的书写版式.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《C语言程序的书写版式.doc》由会员分享,可在线阅读,更多相关《C语言程序的书写版式.doc(45页珍藏版)》请在金锄头文库上搜索。

1、C语言程序的书写版式版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。1.空行 空行起着分隔程序段落的作用。空行得体(不过多也不过少)将使程序的布局更加清晰。空行不会浪费内存,虽然打印含有空行的程序是会多消耗一些纸张,但是值得。所以不要舍不得用空行。 【规则 1-1】 在每个声明之后、每个函数定义结束之后都要加空行。下面是函数之间的空行的示例。 void Function1() /*空行*/ void F

2、unction2() /*空行*/ void Function3() 【规则 1-2】 在一个函数体内,逻辑上密切相关的语句之间不加空行,其它地方应加空行分隔。下面是函数内部的空行的示例。void Function3() while (condition) statement1; / 空行 if (condition) statement2; else statement3; / 空行 statement4; 2.代码行 【规则2-1】 一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。 【规则2-2】 if 、 for 、 while 、 do 等

3、语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加 。这样可以防止书写失误。风格良好的代码行示例: int width; / 宽度 int height; / 高度 int depth; / 深度 x = a + b; y = c + d; z = e + f;if (width height) dosomething(); for (initialization; condition; update) dosomething(); / 空行 other();风格不良的代码行示例:int width, height, depth; / 宽度高度深度 X a + b; y = c +

4、d; z = e + f; if (width height) dosomething(); for (initialization; condition; update) dosomething(); other(); 【建议】 尽可能在定义变量的同时初始化该变量(就近原则) 如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被初始化的变量,可能会导致程序错误。本建议可以减少隐患。例如:int width = 10; / 定义并初绐化width int height = 10; / 定义并初绐化height int depth = 10; / 定义并初绐化depth

5、3.代码行内的空格 【规则 3-1 】 关键字之后要留空格。象 const 、 virtual 、 inline 、 case 等关键字之后至少要留一个空格,否则无法辨析关键字。象 if 、 for 、 while 等关键字之后应留一个空格再跟左括号(,以突出关键字。 【规则 3-2 】 函数名之后不要留空格,紧跟左括号(,以与关键字区别。 【规则 3-3 】 (向后紧跟,)、,、 ; 向前紧跟,紧跟处不留空格。 【规则 3-4 】 ,之后要留空格,如 Function(x, y, z) 。如果 ; 不是一行的结束符号,其后要留空格,如 for (i=1; i= ”、“ = ”、“ + ”、“

6、 * ”、“ % ”、“ & ”、“ | ”、“ ” 这类操作符前后不加空格。 【建议】 对于表达式比较长的 for 语句和 if 语句,为了紧凑起见可以适当地去掉一些空格,如: for(i=0;i10; i+)和 if (a=b) & (c= 2000) / 良好的风格 if(year=2000) / 不良的风格if (a=b) & (c=b&c=d) / 不良的风格for (i=0; i10; i+) / 良好的风格 for(i=0;i10;i+) / 不良的风格 for (i = 0; i 10; i +) / 过多的空格x = a b ? a : b; / 良好的风格 x=aFunct

7、ion(); / 不要写成 b - Function();4. 对齐 【规则 4-1 】 程序的分界符 和 应独占一行并且位于同一列,同时与引用它们的语句左对齐。 【规则 4-2 】 之内的代码块在 右边数格处左对齐。风格良好的对齐示例: void Function(int x) / program code if (condition) / program code else / program code for (initialization; condition; update) / program code While (condition) / program code 如果出现嵌套

8、的,则使用缩进对齐,如: 风格不良的对齐示例: void Function(int x) / program code if (condition) / program code else / program code for (initialization; condition; update) / program code while (condition) / program code 5.长行拆分 【规则5-1】 代码行最大长度宜控制在 70 至 80 个字符以内。代码行不要过长,否则眼睛看不过来,也不便于打印。 【规则5-2】 长表达式要在低优先级操作符处拆分成新行,操作符放在新行之

9、首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。例如: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();

10、在C语言中,是如何取得这个随机数的? 一个语句:rand(); 它的作用就是随机取0到RAND_MAX之间的任何数。标准指出,RAND_MAX值的范围至少是32767,也就是双字节整数的最大值。下面我们用一个例子来取得从1到6的随机整数:#include #include main()int i;for(i=1;i=20;i+)printf(%10d,1+(rand()%6); 第2行的stdlib.h是rand()函数的头文件,第7行就是实现功能的语句了。前面我们以经说过函数取的值是介于0到RANDMAX之间的,而我们所要的是1到6之间的整数。想一想就知道:任一整数除以6所得的余数是05之间

11、的整数,再加一之后就是1到6了,也就是我们的目标。利用这个原理我们使用%号对随机数进行了缩放。OK,运行两次程序:一:6 6 5 5 6 5 1 1 5 3 6 6 2 4 2 6 2 3 4 1 二:6 6 5 5 6 5 1 1 5 3 6 6 2 4 2 6 2 3 4 1发现:两次运行的结果完全一样。结论:这算什么随机数。 具有讽刺意味的是,这种重复性是rand的一个重要特点,在调试程序时,这种重复性是必不可少的,因为它可以证明对程序的修改能够正常运行。 实际上,rand函数产生的是伪随机数。但我们需要的是随机数。于是,需要对程序进行随机化,这就需要使用标准库函数srand来实现了。这二个函数的具体工作过程如下: 1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从065535; 2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间) 3) 根据需要多次调用rand(),从而不间断地得到新的随机数; 4) 无论什么时候,都可以给srand()提供一个新的种子,从

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号