先看下面两段代码。
第一段:
#include <iostream>
using namespace std;int main(){cout<<"Hello World!"<<endl;return 0;}
第二段:
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World!"<<endl;
return 0;
}
对于计算机来说,这两段代码并没有什么区别,但是对于人类来说,第二段代码看起来更舒服。
跟写作文类似,你把所有内容挤在一块,内容还是那些。但若是适当分行分段,则看起来会舒服很多。
因此,我强烈建议小朋友从小开始就养成良好的编程习惯。在这里提一些C/C++编码风格的建议:
1 使用C/C++风格的大括号,不要使用Java风格的大括号。上面第二段代码的大括号就是C/C++的风格,Java的大括号风格则是这样的:
int main(){
cout<<"Hello World!"<<endl;
return 0;
}
2 两个函数之间要加一或两行空行,不要挤在一块。
示范代码:
#include <iostream>
using namespace std;
int add(int x, int y)
{
return x + y;
}
int main()
{
int a = 1, b = 2;
cout << add(a, b) << endl;
return 0;
}
3 using namespace std;和int main()之间也要加一或两行空行。不要写成下面这样:
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World!"<<endl;
return 0;
}
4 函数内的段落之间加一行空行。比如for结束后加一行空行,if...else结束后加一行空行。
5 main()函数中的return 0;之前要加一行空行。
6 所有的if, else if, else, while后都要加{},哪怕{}中只有一行代码。注意,noip初赛卷子中,若if后只有一行代码,{}会被省略掉。for后面的{}大括号要也经常被省略掉。咱们不要这么写。
示例代码:
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int a[n];
int sum = 0;
for(int i = 0; i < n; i++)
{
sum += a[i];
}
if(sum > 0)
{
cout << "Sum is positive." << endl;
}
return 0;
}
7 加空格
逗号后面加一个空格;
分号后面加一个空格;
+、-、、/、+=、-=、=、/=、>、<、>=、<=、==、=前后各加一个空格;
8 写成sum += a;的形式,不要写成sum = sum + a的形式。同理还有-=、*=、/=。
9 在判断是否相等的时候,写成“if(常量==变量)”的形式,不要写成“if(变量==常量)”的形式。
示例代码:
int a = 0;
if(0 == a) //这里不要写成if(a == 0)
{
}
10 添加注释
平时训练时,在复杂逻辑的地方要加上注释。这有两个好处,一是以后有复习时一眼就能看出当时写这段代码的用处,二是若需要去问别人时,别人容易看出这段代码的作用。
在考场里上机编程时,不要写注释,因为浪费时间。
信息学学习、算法答疑请加微信307591841