第一个 C++ 程序

文章目录

  • ["Hello, World!" 程序代码示例](#“Hello, World!” 程序代码示例)
  • 程序基本结构详细解释
    • [头文件(#include <iostream>)](#include <iostream>))
    • 命名空间(std)
    • [主函数(int main())](#主函数(int main()))
    • [输出语句(std::cout << "Hello, World!" << std::endl;)](#输出语句(std::cout << "Hello, World!" << std::endl;))
    • [返回语句(return 0;)](#返回语句(return 0;))
  • [编译和运行 C++ 程序](#编译和运行 C++ 程序)
    • [Windows 系统](#Windows 系统)

在学习任何编程语言时,编写 "Hello, World!" 程序通常是我们的第一步。这个简单的程序就像一把钥匙,能帮助我们打开该编程语言的大门,让我们初步了解其基本的语法结构和程序运行机制。在本章中,我们将详细介绍如何编写、编译和运行一个经典的 "Hello, World!" C++ 程序,同时深入剖析程序的各个组成部分。

"Hello, World!" 程序代码示例

cpp 复制代码
#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

程序基本结构详细解释

头文件(#include )

在 C++ 中,头文件是一种特殊的文件,它包含了一系列的声明和定义,这些内容可以被其他源文件引用。头文件的主要作用是为了方便代码的复用和模块化开发。

在我们的 "Hello, World!" 程序中,

cpp 复制代码
#include <iostream>

这一行代码的作用是引入标准输入输出流库。#include 是一个预处理指令,它会在编译之前告诉编译器将指定的头文件内容插入到当前文件中。 是 C++ 标准库中的一个头文件,它提供了用于在控制台进行输入输出操作的功能,例如输出文本到屏幕、从键盘读取输入等。

命名空间(std)

命名空间是 C++ 中用于解决命名冲突问题的一种机制。在大型项目中,不同的库或模块可能会定义相同名称的变量、函数或类,使用命名空间可以将这些名称进行隔离,避免冲突。

在 std::cout 和 std::endl 中,std 是 C++ 标准库所使用的命名空间。std::cout 是标准输出流对象,用于向控制台输出数据;std::endl 是一个操纵符,用于在输出流中插入一个换行符,并刷新输出缓冲区。

如果不想每次都使用 std:: 前缀,可以使用 using 声明来引入整个命名空间或特定的名称,例如:

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}

不过,在大型项目中,为了避免命名冲突,建议尽量使用完整的命名空间限定。

主函数(int main())

主函数是 C++ 程序的入口点,程序从主函数开始执行。在 C++ 中,主函数的定义格式通常为 int main() 或 int main(int argc, char* argv[])。

  • int 表示主函数的返回值类型,返回一个整数。通常,返回值为 0 表示程序正常结束,非零值表示程序出现异常。
  • main 是主函数的名称,这是一个固定的名称,编译器会从这里开始执行程序。
  • () 中可以包含参数,int argc 表示命令行参数的数量,char* argv[] 是一个字符串数组,存储了命令行参数的具体内容。在我们的简单 "Hello, World!" 程序中,不需要使用命令行参数,所以括号内为空。

输出语句(std::cout << "Hello, World!" << std::endl;)

这行代码的作用是将字符串 "Hello, World!" 输出到控制台,并在末尾换行。

  • std::cout 是标准输出流对象,它重载了 << 运算符,用于将数据插入到输出流中。
  • "Hello, World!" 是一个字符串常量,通过 << 运算符将其插入到 std::cout 输出流中。
  • std::endl 是一个操纵符,它的作用是在输出流中插入一个换行符,并刷新输出缓冲区,确保输出内容立即显示在屏幕上。

返回语句(return 0;)

return 0; 语句用于结束主函数的执行,并将返回值 0 传递给操作系统。这个返回值通常用于表示程序的执行状态,0 表示程序正常结束,非零值表示程序出现异常。

在实际开发中,可以根据程序的执行情况返回不同的非零值,以便调用者或操作系统能够根据返回值进行相应的处理。

编译和运行 C++ 程序

Windows 系统

  • 使用命令行编译和运行:

如果你已经安装了 MinGW - GCC 编译器,打开命令提示符(CMD)或 PowerShell,进入保存 hello.cpp 文件的目录,然后执行以下命令进行编译

cpp 复制代码
g++ hello.cpp -o hello

其中,g++ 是 C++ 编译器,hello.cpp 是你的源文件名称,-o hello 表示将编译生成的可执行文件命名为 hello.exe。编译成功后,执行以下命令运行程序:

cpp 复制代码
hello.exe
  • 使用 Visual Studio Code 编译和运行:

打开 Visual Studio Code,创建或打开 hello.cpp 文件,按下 Ctrl + Shift + B 打开任务配置,选择 "C/C++: g++.exe build active file",然后按 Enter 键,即可编译并运行代码。

相关推荐
R-G-B10 分钟前
【03】MFC入门到精通——MFC 添加控件 设置属性 按钮 文本框
c++·mfc·mfc添加控件
rit843249918 分钟前
MATLAB基于voronoi生成三维圆柱形
开发语言·人工智能·matlab
liulilittle25 分钟前
C/C++ inline-hook(x86)高级函数内联钩子
c语言·开发语言·汇编·c++·hook·底层·钩子
Amelio_Ming26 分钟前
C++开源项目—2048.cpp
linux·开发语言·c++
chilavert31830 分钟前
技术演进中的开发沉思-28 MFC系列:关于C++
开发语言·c++·mfc
witton31 分钟前
C语言使用Protobuf进行网络通信
c语言·开发语言·游戏·c·模块化·protobuf·protobuf-c
GiraKoo38 分钟前
【GiraKoo】C++ 右值引用 (Rvalue Reference)
c++
黄焖鸡能干四碗1 小时前
系统安全设计方案,软件系统安全设计方案
开发语言·数据库·安全·vue·系统安全
让我们一起加油好吗1 小时前
【C++】容器适配器 + stack/queue/deque详解
c++·stl·适配器模式·deque·queue·stack
dragoooon341 小时前
C++——string的了解和使用
c语言·开发语言·c++·学习·学习方法