一、最简 C++ 程序
int main() // 最简C++程序
{
} Code language: JavaScript (javascript)
- 这段代码定义了一个只有
main的函数,没有入参、不执行任何操作。 - 大括号{ 表示这个main函数的开始位置,}表示这个main函数的函数体的结束位置,正常要执行的代码放{}里面。
- 双斜杠
//代表单行注释,从//到本行末尾的内容仅给人来阅读,编译器会直接忽略注释; - 每个完整 C++ 程序必须有且仅有一个全局
main()函数,程序运行时会从main开始执行 int代表函数返回整数,函数体内部,返回0表示程序正常执行,返回非0表示出错了。- 上面5中的这个返回值,Unix/Linux 系统会读取这个返回值,Windows 程序大多不会用到。
二、标准输出 Hello World 完整示例
#include <iostream>
int main()
{
std::cout << "Hello, World!\n";
}Code language: C++ (cpp)
#include <iostream>:告诉编译器引入标准输入输出流库的声明。如果没有这一行,std::cout输出语句无法识别;
iostream就是我们前面说的标准库的一个,属于编译器内置的用C++开发好的代码,用它可以进行一些输入和输出有关的,例如输出一行文字在控制台中。
<<输出运算符:把右侧内容写入左侧输出对象std::cout。本例中将字符串"Hello, World!\n"打印(不是打印机的打印,是输出)到标准控制台(CMD终端)输出std::cout- “Hello, World!\n”,这是字符串字面量:双引号包裹的文本;转义字符
\n代表换行符,打印后光标自动跳到下一行 std:::命名空间限定符,代表cout是标准库std下的组件。我们后面会介绍using namespace std;,省略std::前缀,直接使用cout。
所谓命名空间限定符,目的是防止同名,所以给这些库一个前缀的名字,举例子:如果一个班里面有两个同名同姓的同学,为了区分,老师可能会增加一些修饰词,例如:Jason One ,Jason Two,给这两个人一个编号,这个编号就类似这里的std的作用。
完整例子
下面例子,定义了两个额外的函数,在main函数中调用其中一个函数,然后这个函数又调用另外一个函数。这里是计算圆的面积,输入半径,然后打印圆的面积。
#include <iostream>
using namespace std; //加入了std命名空间后 下面就可以不需要写std了
// 计算圆面积
double circle_area(double x)
{
return 3.14 * x * x;
}
// 打印圆面积
void print_circle_area(double r)
{
cout << "The area of circle with radius " << r << " is " << circle_area(r) << "\n";
}
int main()
{
print_circle_area(2.0); // 半径2,输出圆面积
return 0;
}Code language: C++ (cpp)
执行结果
The area of circle with radius 2 is 12.56Code language: JavaScript (javascript)
cout 可以连续使用 << 来输出多次内容,如果没有输出\n 则一直会在一行里面输出。除了可以输出字符串字面量,还可以输出其他的变量,理这里的r,就是把double的r输出了。
void print_circle_area(double r),这里的小括号(double r) 就是入参,所谓入参,意思是这个参数r是外面调用的时候传入给函数内部的,所以main函数中调用 print_circle_area(2.0);的时候,会传入了2.0,然后到了这个函数里面的时候,r的值就是2.0了,它是外面传递进来的。然后下一句中的cout 输出了 文本和r 然后又输出了circle_area(r) ,这里是调用circle_area这个函数,继续把函数里面的r的值,通过调用double circle_area(double x)这个函数的时候,又把r的值2.0传给了x,当到达double circle_area(double x)这个函数里面的时候,x的值也是2.0,然就计算3.14 * 2 * 2; 然后得到结果12.56后, 通过return返回结果回去,返回后。相当于回到上一个调用它的地方:然后输出12.56,类似如下:
cout << "The area of circle with radius " << r << " is " << 12.56 << "\n";Code language: C++ (cpp)
输出完毕后,} 然后结束print_circle_area,然后回到main函数。
