认识程序设计
是给出解决特定问题程序的过程,软件开发过程中的重要步骤。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程一般包括分析、设计、编码、测试、调试等不同阶段。
程序语言分类
程序语言包括机器语言、汇编语言、高级语言。机器语言是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言是第一代计算机语言。汇编语言是一种用助记符表示的仍然面向机器的计算机语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。
我们现在说的 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++ 会帮你添上的)。
编写第一个程序 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
题目内容: 输入两个整数 a, b
,输出它们的和。
是不是看起来很简单呢(用数学思维逻辑)?那么就来试试吧!
- 变量声明
变量类型 变量名;
- 输入方法
cin >> 变量;
- 输出方法
cout << 变量;
- 加法及赋值
变量 = 变量 + 变量;
正解:
#include <iostream>
using namespace std;
int main() {
int a,b; //声明变量
cin >> a >> b; //输入
cout << a + b; //运算后输出
return 0; //返回值不要忘
}
提示:
上面的
// ...
是注释内容,帮助大家更好看程序,编译器会自动跳过它的,而且不会被执行。
如果你还存在任何问题,可以在下方评论区发表哦!