1、//
或 /* */
都可以; 但 //
更 常用. 要在如何注释及注释风格上确保统一
2、最常见的是没有空格的格式. 哪一种都可以, 最重要的是 保持一致. 如果你是在修改一个文件, 参考当前已有格式. 如果是写新的代码, 参考目录下或项目中其它文件. 还在犹豫的话, 就不要加空格了.注意所有情况下 if
和左圆括号间都有个空格. 右圆括号和左大括号之间也要有个空格:
如果能增强可读性, 简短的条件语句允许写在同一行. 只有当语句简单并且没有使用 else
子句时使用:
if (x == kFoo) return new Foo(); if (x == kBar) return new Bar();
如果语句有 else
分支则不允许:
3、如果有不满足 case
条件的枚举值, switch
应该总是包含一个 default
匹配 (如果有输入值没有 case 去处理, 编译器将给出 warning). 如果 default
应该永远执行不到, 简单的加条 assert
:
空循环体应使用 {}
或 continue
, 而不是一个简单的分号
我认为缩进是指在每一行代码左端空出一部分长度,使读者可以更清晰地从外观上看出程序的逻辑结构,厘清控制流程(条件、循环等)与其内部、外部代码之间的关系。让代码更加有可读性和逻辑性。
#include <stdio.h>
int main()
{
int i,n;
double sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum*i;
printf("%d!=%lf",n,sum);
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
int i=1,n;
double sum=1;
scanf("%d",&n);
while(i<=n)
{
sum*=i,i++;
}
printf("%d!=%lf",n,sum);
return 0;
}
#include <stdio.h>
int main()
{
int i=1,n;
double sum=1;
scanf("%d",&n);
do
{
sum*=i,i++;
}
while(i<=n);
printf("%d!=%lf",n,sum);
return 0;
}
三个代码结果均为此图
#include<stdio.h>
#include<math.h>
int main()
{
int sign=1;
double item=1,pi=0,n=1;
while(fabs(item)>=1e-6)
{
pi=pi+item;
n=n+2;
sign=-sign;
item=sign/n;
}
pi=4*pi;
printf("pi=%f",pi);
return 0;
}
#include <stdio.h>
int main()
{
int num[20]={0,1};
int j;
for (j = 2; j < 22; j++)
{
num[j] = num [j-1] + num[j-2];
printf("第%d项是%d\n",j-1,num[j-2]);
}
return 0;
}