一般来说,第一个程序都是你好,世界,这里我们直接给出代码
#include <iostream>
using namespace std;
/*
这里是一个多行注释
作者:程程之光
时间:2021-09-14
说明:在屏幕上打印一条消息
*/
int main()
{
// 这里是一个单行注释
cout << "Hello World" << endl;
return 0;
}
如果出现执行程序,却看不到运行结果
有的系统之中,比如windows,会在新窗口中运行,运行结束后关闭窗口,所以看不到程序运行结果。此时需要加入一条语句使程序停下来,比如cin.get();
当然,如果你使用的是windows系统,也可以加system("pause");原理上都是一样的,在此不做特别说明。
程序分析
1,#include <iostream> 这是一个预处理器编译指令,作用是把<iostream>中的内容复制过来。如果不使用这个语句,将无法使用cout。
2,using namespace std; 使用std命名空间,所有的标准库函数,必须使用std命名空间才可以使用。
3,int main(){ } main是c++程序中的主函数,必须要有一个main函数。
4,分号是c++程序语句的终止符,每条语句的后边结束必须要有;,忘记使用分号会导致程序无法通过编译。
5,cout是c++中的一个流对象,可以用于输出,使用插入运算符<<,把需要输出的内容插入到输出流中即可。
6,endl作用相当于'\n',但是除了换行以外,还有立即刷新输出的功能。
7,return 0;,这是一个return语句,用于结束掉main函数,并向系统返回值0,返回值0是无异常的意思,如果是异常结束,可以返回值-1。
8,//是单行注释,/* */是多行注释,注释是用来在程序中做记录的,注释中的内容不会影响到程序的运行,特别注意/* */的多行注释,一般是不可以嵌套使用的。
注意事项
1,关于int main()和return 0
int是函数的返回值类型,表示我们要返回一个int类型。一般来说,我们的程序需要返回一个return 0,但是往往这个return 0没有起到什么作用,所以有的时候,我们会想,为什么非要给它返回一个return 0呢?难道我不可以改成void main()吗?我不想返回任何值。这个行为或许在某些版本的编译器中是可以通过的。但是不适用于所有的编译器。所以不要写void main()这样的main函数,你需要返回一个值。当然还是有很多人纠结于,我就是不想返回值,为什么非要让我返回值呢?所以说,现在如果你真的不想返回值的话,你就在main函数中不要写return语句就可以了。main函数会默认返回一个return 0。所以说,main函数中的return 0是可以不写的,但请不要将其改为void main。
2,关于多行注释的嵌套
多行注释的嵌套会出现一个问题,比如说
/* /* 多行注释嵌套*/*/
那么很显然,/*/*中,第二个/*被当成了注释,而*/*/中,第一个*/被当成了多行注释的结束,而第二个*/将无法识别,因此,多行注释嵌套会发生问题。
3,关于程序的代码风格
c++的一个非常大的特点就是,自由。不会像某些傲慢的语言一样(大家都很清楚,我们在说的是谁),希望把自己的代码风格强加给别人。因此在c++中没有必要纠结任何代码风格。如何起名,如何缩进,如何空格,到底应该使用末行风格还是次行风格,所有的这一切都没有纠结的必要。你开心就好。当然,如果你严格遵守你自己的规范,能写出非常漂亮的程序,这当然是一件非常好的事情,如果你不愿意这样,我们又有什么理由强迫你去这么做呢?
永远记住一件事情,你才是代码的作者,你有权力决定自己的代码要怎么写!不要为了能让别人接手,能让别人看得懂,而委屈自己。c++的世界,没有委屈求全!
注:这里也和c++的特性有关,如果拿c++的程序去卖钱的话,更多的也是使用编译好的程序,而非直接提供源代码,因此你把源代码写成了什么样子,别人也并不关心,只要你的程序好用就好。