??Dev C++的安装及简明使用手册
Dev C++ 是一款免费开源的 C/C++ IDE,内嵌 GCC 编译器(GCC 编译器的 Windows 移植版),是 NOI、NOIP 等比赛的指定工具。Dev C++ 的优点是体积小(只有几十兆)、安装卸载方便、学习成本低,缺点是调试功能弱。可以用此软件实现C/C++程序的编辑、预处理/编译/链接、运行和调试。本手册中介绍了Dev C++安装及常用的一些基本操作,每一位同学都要掌握。
安装 Dev C++ 跟安装普通软件一样,远没有安装 VS 那么复杂。
截止到2017年06月07日,Dev C++ 的最新版本是 5.11。
Dev C++ 5.11 简体中文版下载地址:
官方下载:Dev-C++ download | SourceForge.net?
百度网盘:百度网盘 请输入提取码?? ? 提取密码:mken
火墙之内,有时候无法访问 SourceForge 这个网站,建议大家去百度网盘下载。
一、开始安装 Dev C++
Dev C++ 下载完成后会得到一个安装包(.exe 程序),双击该文件即可开始安装。
1) 首先加载安装程序(只需要几十秒)

2) 开始安装

Dev C++ 支持多国语言,包括简体中文,但是要等到安装完成以后才能设置,在安装过程中不能使用简体中文,所以这里我们选择英文(English)。
3) 同意 Dev C++ 的各项条款

4) 选择要安装的组件

选择“Full”,全部安装。
5) 选择安装路径

你可以将 Dev C++ 安装在任意位置,但是路径中最好不要包含中文。
6) 等待安装

7) 安装完成

二、开始配置 Dev C++
首次使用 Dev C++ 还需要简单的配置,包括设置语言、字体、和主题风格。
1) 第一次启动 Dev C++ 后,提示选择语言。

这里我们选择简体中文,英语给力的朋友也可以选择英文。
2) 选择字体和主题风格

这里保持默认即可。
3) 提示设置成功

点击“OK”按钮,进入 Dev C++,就可以编写代码了。
三、启动Dev C++
方法一:?
1、鼠标点击任务栏中的“开始”按钮,选“程序”菜单项,然后选“程序”下的子菜单项“Bloodshed Dev C++”项,显示该项下的子菜单。
2、单击”Dev-C?++”菜单项,即可启动Dev-C?++集成开发工具。(如图1所示)

方法二:
直接单击桌面上的Dev C++的图标。

四、Dev C++使用教程(使用Dev C++编写C语言程序)
我们以一段完整的C语言代码为例,就是在显示器上输出“C语言中文网”,如下所示:
- #include?<stdio.h>
- int?main()
- {
- ????puts("C语言中文网");
- ????return?0;
- }
本节我们就来看看如何通过 Dev C++ 来运行这段代码。
Dev C++ 支持单个源文件的编译,如果你的程序只有一个源文件(初学者基本都是在单个源文件下编写代码),那么不用创建项目,直接运行就可以;如果有多个源文件,才需要创建项目。
1.新建源文件
打开 Dev C++,在上方菜单栏中选择“文件 --> 新建 --> 源代码”:

或者按下Ctrl+N组合键,都会新建一个空白的源文件,如下图所示:

在空白文件中输入上述的代码:

注意: 代码必须在英文输入环境下编辑程序(如果你当前能在程序编辑区输入中文,说明你是在中文输入环境下。为了输入程序,你必须切换到英文输入环境下)。
在上方菜单栏中选择“文件 --> 保存”,或者按下Ctrl+S组合键,都可以保存源文件。

注意将源文件后缀改为.c,或者在“保存类型”的下拉菜单中选择“C source files(*.c)”。
注意: C++是在C语言的基础上进行的扩展,C++已经包含了C语言的全部内容,所以大部分 IDE 默认创建的是C++文件。但是这并不影响使用,我们在填写源文件名称时把后缀改为.c即可,编译器会根据源文件的后缀来判断代码的种类。上图中,我们将源文件命名为hello.c。
2.生成可执行程序
在上方菜单栏中选择“运行 --> 编译”,就可以完成 hello.c 源文件的编译工作。

或者直接按下F9键,也能够完成编译工作,这样更加便捷。
如果代码没有错误,会在下方的“编译日志”窗口中看到编译成功的提示:

编译完成后,打开源文件所在的目录(本教程中是 E:\cDemo\),会看到多了一个名为hello.exe的文件,这就是最终生成的可执行文件。
之所以没有看到目标文件,是因为 Dev C++ 将编译和链接这两个步骤合二为一了,将它们统称为“编译”,并且在链接完成后删除了目标文件,所以我们看不到。
双击 hello.exe 运行,并没有输出“C语言中文网”几个字,而是会看到一个黑色窗口一闪而过。这是因为,程序输出“C语言中文网”后就运行结束了,窗口会自动关闭,时间非常短暂,所以看不到输出结果,只能看到一个“黑影”。
对上面的代码稍作修改,让程序输出“C语言中文网”后暂停下来:
- #include?<stdio.h>
- #include?<stdlib.h>
- int?main()
- {
- ????puts("C语言中文网");
- ????system("pause");
- ????return?0;
- }
system("pause");语句的作用就是让程序暂停一下。注意代码开头部分还添加了#include <stdlib.h>语句,否则system("pause");无效。
再次编译,运行生成的 hello.exe,终于如愿以偿,看到输出结果了,如下图所示:

?
按下键盘上的任意一个键,程序就会关闭。
3.更加快捷的方式
实际开发中我们一般使用菜单中的“编译 --> 编译运行”选项:

?
或者直接按下F11键,这样能够一键完成“编译 --> 链接 --> 运行”的全过程,不用再到文件夹中找到可执行程序再运行。这样做的另外一个好处是,编译器会让程序自动暂停,我们也不用再添加system("pause");语句了。
删除上面代码中的system("pause");语句,按下F11键再次运行程序,结果如下:

?
五、调试程序
通过预处理、编译和链接的程序仅仅是该程序中没有词法和语法等错误,而无法发现程序深层次的问题(譬如算法不对导致结果不正确)。当程序运行出错时,需要找出错误原因。仔细读程序来寻找错误固然是一种方法,但是有时光靠读程序已经解决不了问题,此时需要借助于程序调试(Debug)手段。这是一种有效的排错手段,每一位同学都需要掌握。
1.设置程序断点
调试的基本思想是让程序运行到你认为可能有错误的代码前,然后停下来,在人的控制下逐条语句的运行,通过在运行过程中查看相关变量的值,来判断错误产生原因。如果想让程序运行到某一行前能暂停下来,就需要将该行设成断点。具体方法是在代码所在行行首单击,该行将被加亮。默认的加亮颜色是红色。如图所示,将system(“pause”)语句设成断点,则程序运行完printf语句后,将会暂停。需要说明的是,你可以在程序中根据需要设置多个断点。
如果想取消不让某行代码成为断点,则在代码行首再此点击即可。

?
2.运行程序
设置断点后,此时程序运行进入debug(调试)状态。要想运行程序,就不能使用主菜单“Execute(运行)”->“Run(执行)”,而是需要用主菜单“Debug(调试)”—〉“Debug(调试)”(或者按快捷键F8),如图所示。
???????????????
?
?
程序将运行到第一个断点处,此时断点处加亮色由红色变成蓝色,表示接下去将运行蓝色底色的代码,如图所示。

?
注意:有时你会发现即使设置了断点,点击了主菜单“Debug”—〉“Debug”,会弹出如下对话框,不能进行调试操作。

?
处理方法如下:
点击“Tools-CompilerOptions”选项,将产生调试信息后面的“No”改成“Yes”就可以了。

?
3.单步执行程序
要想运行蓝色底色的代码,可以使用图所示的“Next Step(F7)”、“Step Into(Shift F7)”、“Continue(Ctrl F7)”,“Run to Cursor(Shift F4)”等(具体含义见下面的介绍)。在学习函数之前,一般用的是Next Step和Continue。学习函数后,还会用到Step Into。

Debug菜单如图所示。和单步运行相关的菜单项说明如下:
Next Step(F7):运行下一行代码;如果下一行是对函数的调用,不进入函数体
Step Into(shift F7):运行下一行代码,如果下一行是对函数的调用,则进入函数体;
Continue(Ctrl F7):运行到下一个断点处;
Run to Cursor(Shift F4):运行到光标所在出;
?
4.设置watch窗口
在调试程序时,可能要看程序运行过程中变量的值,以检测程序对变量的处理是否正确,可以在调试时?通过调试菜单下的添加变量(Add Watch)窗口来增加变量watch,新增的变量将会显示在最左边Explore的Debug页中,如下图所示。如果左边Explore中的当前页不是Debug页,则可以点击Debug标签使之成为当前页。

?
六、打开一个已经存在的程序
点击主菜单的”File”->”Open Project or File”,如图所示,在弹出的对话框中指定文件所在的路径,选择要打开的文件即可。

?
七、提高程序书写风格的一些操作
1.整段缩进
运用适当的缩进,可以提高代码的可读性。选中要缩进的代码段,点击主菜单下的”Edit”->“Indent”,如图所示,即可将整段代码右移N个字符。

?
每一次缩进要移动的字符数可以自己定制,方法如下:点击主菜单下的”Tools”->“Edit Options”,在弹出的对话框中的General标签页中进行设置,将Tab Size设置成你希望的数字,建议设成3,如图所示。该对话框提供了定制Dev C++的界面编辑风格的功能,有兴趣的同学可以自己研究一下。
也可以点击”Edit”->“Unindent”使整段代码往左移。

?
2.插入程序说明
在源程序里简要说明程序的功能,是一个良好的习惯,可以点击”Edit”->“Insert”->“Comment Header”,如图,从而在程序编辑区光标处插入一段注释,如图所示。
插入后的效果如图所示。

?

?
|