三、HelloWorld#

1. 入门示例#

  • 示例代码如下:
1
2
3
4
5
6
#include<iostream>

int main (){
    std::cout << "hello world !" << std::endl;
    return 0 ;
}

理解:

#include : 引入输入输出库

int main(){} : 主函数入口

std:: .... 输出打印

return 0 : 函数返回值,一般0 表示正常执行返回。

2. main函数解释#

main函数是C++程序的__入口函数__,C++标准要求main函数的返回值类型为int0 表示正常退出

1
2
3
int main() {
    return 0;
}
  • 返回值释疑

main函数的返回值为int,而函数内并没有出现return语句时,同样可以通过编译并正常运行。

这是因为编译器在main函数的末尾__自动添加了return 0;的语句__。

所以,main函数是C++程序经过__特殊处理的函数__。

其他的返回值类型不是void的函数,如果没有使用return语句,编译器将报错。

1
2
3
int main(){

}
  • 参数释疑

main函数有两种写法: 一种是不含参数,一种是携带参数。当考虑程序在运行的时候,立即获取到外部传递进来的数据,那么可以使用含有参数的main函数。 参数 argc 表示传递进来的参数总数, args 表示传递进来的参数。 char ** 是二级指针的写法,当然此时我们是不明白二级指针的意思。那么把它看成是二维数组就好了。 值得注意的是: main函数的第一个参数会隐式传递进来当前程序的全路径地址。

1
2
3
4
5
6
7
8
9
int main(int argc , char ** args) {

    std::cout << "参数个数:"<< argc << std::endl;

    std::cout << "第一个参数:"<< args[0] << std::endl;
    std::cout << "第一个参数:"<< args[1] << std::endl;

    return 0;
}

3. 命令函编译#

实际上除了使用IDE工具编写C++代码之外,也可以使用记事本编写,然后使用命令行的方式编译执行写好的C++代码。

1
2
3
4
5
6
7
8
#include <iostream>

int main() {

    std::cout << "Hello world!" << std::endl;

    return 0;
}
  • 打开命令行,输入以下命令即可
1
2
3
g++ -Wall -std=c++11 main.cpp

g++ -Wall -std=c++14 main.cpp -o main.exe    

g++: 是编译工具.

-Wall: 编译过程中显示所有的警告.

-std=c++11: 使用c++11版本进行编译.

main.cpp: 要编译的cpp文件

编译执行完成后,Windows下默认生成 a.exe 文件,linux下默认生成 a.o 文件,macos下默认生成 a.out 文件

-o: 指定输出文件名称

4. 注释#

每一种语言都有注释,以便程序员对其编写的代码进行解释说明。c++采用 ///* */ 实现单行和多行注释。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#include <iostream>

int main (){

    // 我是c++的单行注释
    std::cout << "hello world" << std::endl;

    /*
        我是c++的多行注释
        我可以写多行
    */
    std::cout << "hello world" << std::endl;

    return 0 ;
}