NOIP学习小站
西安交通大学附属中学航天学校

Dev C++的基本使用

本小节介绍Dev C++最基本的使用,包括打开Dev C++、新建源程序、编写程序、保存文件、编译程序、运行程序。大家注意快捷键的使用可以大大提高我们编程的效率。

回顾前面的内容,我们已经知道在Dev C++里编写程序解决问题前需要分析问题并设计算法。这两个步骤非常重要,切记不要看到问题就匆忙编写程序!下面介绍编程和调试运行环节Dev C++的基本使用。

1.打开Dev C++

安装Dev C++后在桌面上会自动创建Dev C++的快捷方式,在“开始”菜单里也能找到它的快捷方式,直接双击快捷方式就能启动Dev C++。

Dev C++快捷方式

2.新建源程序(快捷键Ctrl+N

通过“文件”→“新建”→“源代码”来新建源程序,也可以直接使用快捷键Ctrl+N

通过“文件”→“新建”→“源代码”来新建源程序,也可以直接使用快捷键Ctrl+N

3.编写程序

在代码编辑区编写程序代码,如果感觉编辑区字体太小,可以通过鼠标滚轮快速调节,具体做法是:在 Dev C++中按住 Ctrl 键不放,滑动鼠标滚轮可以调整字体大小(上滑鼠标滚轮放大,下滑鼠标滚轮缩小)。

这里给出C++程序的框架,也就是我们在编写程序前需要先输入的最基本的代码。我们不急着了解每句代码的意义和用途,先努力把这个最基本的程序框架记下来。

注意:虽然本网站教程中的代码均可以复制粘贴,但是在初学入门阶段强烈建议参照程序自行输入,不要复制粘贴,只有自己手写代码才能发现编码中的语法问题,通过不断出现问题、寻找发现问题、解决问题,在实际操作中积累经验,自己的编码能力才能得到快速充实的提升!

在Dev C++中编码的时候注意其自动补全的功能(例如输入左尖括号,自动补充右尖括号,并且光标位于两者中间),这明显提高了编码的效率。

#include<iostream>
using namespace std;
int main()
{
	
	return 0;
} 

还要关注Dev C++中代码自动“上色”的功能,代码的不同部分颜色可能不同。观察上面截图,第1行文字是绿色,using namespace int return这些单词被加粗显示(这些是C++的关键字)。通过这些特点可以方便我们查找编码中的错误(例如return拼写错误的话,这部分不会加粗)。

4.保存文件(快捷键Ctrl+S

编写好程序后在编译运行前需要先保存文件(特别是第一次需要保存)。通过“文件”→“保存”来保存程序文件,也可以直接使用快捷键Ctrl+S。文件保存后我们会发现C++源程序的后缀名是.cpp。我们要养成良好的文件保存习惯,注意文件的保存位置和文件名的命名。

通过“文件”→“保存”来保存程序文件,也可以直接使用快捷键Ctrl+S

5.编译程序(快捷键F9

C++源程序需要编译后才能运行。通过“运行”→“编译”来编译程序,也可以直接使用快捷键F9

通过“运行”→“编译”来编译程序,也可以直接使用快捷键F9

编译完成后在Dev C++下方的状态区域编译日志选项卡下会出现编译结果信息。如果提示0错误0警告,表示程序没有任何语法问题,编译成功。在Windows操作系统中编译成功后会在源程序所在的文件夹下生成与源程序同名的exe可执行程序

编译结果提示提示0错误0警告,表示编译成功

如果提示有错误,那么编译失败。说明程序有语法问题,需要修改程序,直到编译无错误提示。

将main错误拼写成mian,导致编译错误,
此时在“编译器”和“编译日志”选项卡下都有错误提示,特别是“编译器”选项卡下会有编译错误原因。

绝大多数情况下,编译出错后除了会给出错误提示信息,还会自动指出出错的位置。

using namespace std语句后少写了英文;,导致编译错误。
可以看出Dev C++将第3行红色背景醒目提示表示这一行有语法问题(其实是上一行),
并且在提示信息中指出[Error] expected ';' before 'int'(在int前应该有一个;)

通过上面编译出错情况的展示,我们应该能意识到编写程序是一件严谨的工作,关键处任何拼写错误或者遗漏必要符号都会导致编译错误!

对于初学者来说,出现编译错误不要怕,这些语法错误是最容易找出来并能较快修改过来的。我们要逐步培养并提升自己查找语法错误并快速改正的能力,最后熟练到不出现语法错误。这是一个需要大量上机操作实践并积累总结经验的过程!

6.运行程序(快捷键F10

编译成功后,在Windows操作系统中编译成功后会在源程序所在的文件夹下生成与源程序同名的exe可执行程序文件。此时可以通过“运行”→“运行”来运行程序,也可以直接使用快捷键F10。其实这里是直接调用运行编译产生的exe可执行文件。

程序运行结果会通过自动打开的黑色控制台呈现。当前我们编写的是一个C++的框架程序,除了最基本的程序代码,没有其它任何语句(特别是输出语句),所以没有任何运行结果(需要注意的是,上图中红色方框内的信息是Dev C++平台给出的程序运行反馈信息,不是程序输出的内容!)。

我们修改之前的程序代码,在return 0;这一句前添加一句输出cout<<"Hello World";

#include<iostream>
using namespace std;
int main()
{
	cout<<"Hello World";
	return 0;
} 

注意,修改代码后不能直接运行查看新程序的执行结果,而是需要先编译再运行。否则运行的仍然是上一次编译产生的exe文件,也就是修改前的程序代码。

运行“Hello World”程序,在控制台窗口,发现在Dev C++给出的运行反馈信息前,出现了我们用代码cout<<"Hello World";输出Hello World这一文字信息。

为了避免我们修改代码后忘记了先编译程序而直接运行程序带来的困惑(修改了代码,却发现运行结果没有任何变化),我们可以使用“运行”菜单下的“编译运行”命令(或者使用快捷键F11),这个命令的作用是先编译再运行程序(如果出现编译错误会提示错误信息就不会再进入到运行环节)。

执行“编译运行”命令,先编译再运行

再试试输出其它内容吧!

#include<iostream>
using namespace std;
int main()
{
	cout<<"Hello World"<<endl;
	cout<<"世界你好"<<endl;
	cout<<"其它你想尝试的内容"<<endl;
	return 0;
} 

如果程序运行结果与预期结果不一致,那么需要我们去分析改正程序中的逻辑错误;甚至运行结果与预期结果严重不符,那么可能是设计的算法有问题,这个时候还需要进一步去分析问题重新设计算法。

再来试试下面这一段程序:

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	cout<<n*n;
	return 0;
}

运行后会发现命令行窗口没有出现任何结果,只是光标一直在不停的闪烁:

这是因为这一段程序运行时需要使用者输入数据(本程序要求输入一个整数),我们尝试输入一个整数然后按下回车键,查看运行结果并猜想程序的功能。


注意:运行编译后的程序时,如果发现有下图中的错误提示“Failed to execute…”

出错原因是不小心将编译模式设置成了 64 位(使用的计算机却是 32 位操作系统),处理方法如下:(使用 TDM-GCC 4.8.1 32-bit Release

此外,还有一种常见的错误,如下图所示:

错误提示信息指出,编译时无法生成可执行文件(没有权限)。出现这个问题的最可能原因是:之前编译运行过程序,且程序还未运行结束(一般是还在等待用户输入数据),这个时候由于操作系统限制不能删除正在使用的程序文件,所以编译无法生成新的可执行文件。此时只需要在任务栏找到并关闭之前的程序运行窗口,就能继续正常编译运行程序了。


7.调试程序

当程序运行发现结果与预期不一致时,我们可以通过Dev C++调试功能去排查程序中的逻辑错误,程序的调试方法会在后期教程中介绍。