向异世界说HelloWorld
向新世界问好
#include<iostream>
int main() {
std::cout << "Hello,world" << std::endl;
return 0;
}
注释
- 第一种注释的形式
字符//表示一段注释的开始,以这种方式开始的注释会一直延伸至该行结束。编译器在编译时会将其注忽略掉;它们的用途时为阅读该程序的人解释程序
//一个较小c++程序
- 第二种注释的形式
以/*开始的注释具有自由风格:它结束于第一个相邻的*/,并且可以跨越多行。
/*
一个较小c++程序
一个较小c++程序
*/
程序员最讨厌的两件事:
- 别人不写注释
- 自己要写注释(doge)
#include指令
#include指令是一种用于指定我们所希望使用的那部分的标准库。通常出现在开头,在我们需要标准库的输入/输出功能时:
#include<iostream>
即可支持顺序、流或输入/输出,但它不支持随机存储或图形输入/输出。由于iostream出现在#include指令中,而且被尖括号括起,所以它代表C++的标准头文件,也就是说:C++标准头文件的特征为:
- 出现在#include指令中
- 被尖括号括起
包含标准头文件后,程序就可以使用相关的库所提供的功能了——我们并不需要关心它的实现,这是编译器实现需要考虑的事情
主函数
函数(function)时一段具有名称的程序,程序的其他部分可以调用函数或使函数运行。每个c++程序都必须含有一个名为main的函数。当请求C++实现运行程序时,它就会调用这个函数以响应我们的请求。
main函数要返回一个整数类型的值作为结果,这样它就可以告知编译器是否成功运行
- 零值表示成功;
- 任何其他值都意味着程序运行存在问题。
因此,我们用
int main()
表示我们定义了一个名为main返回值类型为int的函数。这里,int是核心语言用来描述整数的名称。main后面的括号括住了函数从编译器中接收到的参数。
花括号
在main函数中,括号的后面是一连串用花括号括住的语句:
int main()
{//左花括号
//语句放此处
}//右花括号
在C+十中,花括号告诉编译器将出现在它们之间的全部内容当作一个单元来处理。
- 左花括号标明主函数语句的开始
- 右花括号则标明了它的结束。
换句话说,也就是说花括号表明在它们之间的所有语句都隶属于同一个函数。正如我们在这个函数中看到的那样,如果在花括号中有两条或更多的语句,那么编译器就会按照这些语句出现的先后顺序来执行它们。
使用标准进行输出
括号内的第一条语句执行了程序的实际工作。
std::out<<"Hello, World!"<<std::endl;
这条语甸首先使用了标准的输出运算符<<将Hello, World!写到标准输出中,然后它写入了std::endl的值。名称之前的std::表明这个名称是一个名为std的名称空间的一部分。
名称空间是一个相关名称的集合;标准库使用std包含所有由它定义的名称。例如,标准头文件#iostream定义了名称cout和endl,这些名称实际上也就罡我们所使用的std::cout和std::endl。
名称std::cout指标准输出,标准输出是c++实现用于进行普通的程序输出的工具。在窗囗操作系统环境下的一个典型c++实现中,程序运行的时候,系统环境会将程序和一个窗囗联系起来,std::cout就指示了这个窗囗。在这样的系统环境下,写到std::cout中的输出将出现在相应的窗囗中。
我们用值std::endl作为当前输出语句行的结束,如果程序要产生更多的输出,接下来的输出就会在新一行中出现。
返回语句
返回(return)语句,例如
return 0;
会在其出现的位置终止函数的执行,将一个值返回给调用这个函数的程序,返回值出现在return和分号;之间(上面语句的返回值是0)。返回值的类型必须与函数声明的返回类型一致。就main函数来说,返回类型是int,接收main的返回值的程序是C++实现本身。因此,main函数中的return语句必须含有一个整数值的表达式,这个表达式会将返回值传递实现。
当然,我们可能会在多个位置上合理地终止程序,这样的程序也许会有多条的return语句。如果函定义保证函数会返回一个特定类型的值,那么函中的每条return语句都必须返回一个适当类型的值。