C++ 入门

由 5+1 发布

认识程序设计

是给出解决特定问题程序的过程,软件开发过程中的重要步骤。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程一般包括分析、设计、编码、测试、调试等不同阶段。

程序语言分类

程序语言包括机器语言、汇编语言、高级语言。机器语言是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言是第一代计算机语言。汇编语言是一种用助记符表示的仍然面向机器的计算机语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。

我们现在说的 C++ 就是高级语言,高级语言还有 Pascal,Basic,VB,VC,Java,Python,Ruby,JavaScript 等。

编写 C++ 程序需要“编辑器”、“编译器”、“解析器”等工具来完成:

  • 编辑器:编写文本的工具,向Windows自带的记事本(NotePad)都是。
  • 编译器:编辑器是非常重要的工具,它能帮助你将一个代码程序转变为机器语言
  • 解析器:解析并执行机器语言的工具。

如今很多的主流编译器如DevC++、Visual Studio都具备了编辑器的功能了。

C++ 的环境设置

我们需要安装编译器 Dev C++ 这个软件,点击这里下载,按照安装程序选择默认安装。

打开它,照下图创建一个新的文件(Ctrl-N)并保存(Ctrl-S),*.cpp 是 C++ 的默认文件后缀,(DevC++ 会帮你添上的)。

1

2

编写第一个程序 Hello World

#include <iostream>
using namespace std;

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

程序中 #include <iostream> 是引用了 iostream 这个头文件,它能帮你处理输入、输出等事情。但是他们都属于 std 这个命名空间中的。std 是在 C++ 中的标准程序库是类和函数的集合,其使用核心语言写成。标准程序库提供若干泛型容器、函数对象、泛型字符串和流,支持部分语言特性和常用的函数,如开平方根。using namespace std; 就是引用这个命名空间的语句。

在 C++ 中,除了带有 # 的语句以及没有叙述完成的语句(像3、4、7行那样)之外,其余的语句都需要在末尾添加 ;

cout 就是 C++ 中输出的语句,它的用法就是 cout << "Something"; 或者 cout << 变量 ; 或者 cout << endl;endl 是换行符)。

main 函数是除了文件最上方的引用之外剩下程序开始执行的地方,它必须是 int 类型的,int类型是只能存放整数的类型,它能接受 -2147483648 ~ 2147483647 范围之间的所有整数。函数的声明方法是 返回值类型 函数名 (形式参数){函数主体},所以所有的函数都需要返回值,传递返回值的方法就是 return 返回内容;,返回内容的类型必须与函数的返回值类型一致。形式参数可以没有,比如 main 函数。

如果上面的内容明白了的话,那么就可以继续编译执行了。

关于这些语法的精细讲解,请见这里

编译&执行

我们所编写的程序都是 C++ 源文件(*.cpp),计算机是不能执行的,需要通过编译器的编译“功能”,将其转换为 可执行文件 (*.exe) (对于 Windows 系统来说),可执行文件可以被系统执行,下面我们来试着编译程序。

在 Dev C++ 这个软件中,有以下的几个快捷键可以来编译:

按键描述
F9编译
F10执行
F11编译 + 执行(常用)
F12编译所有打开的文件 (不常用)

现在我们按下 F11 按键,来编译执行这个程序吧!编译执行之后会弹出一个黑色的窗口,上面写着Hello World,那么你就成功了。

下一个程序 A+B Problem

洛谷 P1001 A+B Problem

题目内容: 输入两个整数 a, b ,输出它们的和。

是不是看起来很简单呢(用数学思维逻辑)?那么就来试试吧!

  • 变量声明 变量类型 变量名;
  • 输入方法 cin >> 变量;
  • 输出方法 cout << 变量;
  • 加法及赋值 变量 = 变量 + 变量;

正解:

#include <iostream>
using namespace std;

int main() {
    int a,b; //声明变量
    cin >> a >> b; //输入
    cout << a + b; //运算后输出
    return 0; //返回值不要忘
}

提示:

上面的 // ... 是注释内容,帮助大家更好看程序,编译器会自动跳过它的,而且不会被执行。

如果你还存在任何问题,可以在下方评论区发表哦!


暂无评论

发表评论