《易学C++(第2版)》——2.2 如何创建一个程序

2.2 如何创建一个程序

进入Visual Studio 2012 Express版之后,可以看到整个开发环境的界面,如图2.2所示。

在菜单栏上有11个下拉式菜单(其中“项目“菜单和“生成”菜单要在打开项目之后才会出现),分别如下。

(1)文件菜单:实现新建、打开、保存项目或源代码以及退出等功能。

(2)编辑菜单:实现撤销、重做、查找、替换等常用功能。

(3)查看菜单:实现显示区域的选择功能。

(4)项目菜单:实现项目相关的设置、添加资源文件等功能。

(5)生成菜单:实现程序的编译、生成等功能。

(6)调试菜单:实现程序的运行、调试等功能。

(7)团队菜单:连接到团队服务器实现协同开发。

(8)工具菜单:提供管理、调试、数据库连接等辅助工具。

(9)测试菜单:提供程序的测试设置和自动测试等功能。

(10)窗口菜单:实现窗口管理功能。

(11)帮助菜单:提供帮助信息。

在新建程序之前,需要先介绍一下项目③(Project)的概念。类似于造房子需要图纸、建筑材料和建筑工具一样,设计程序也需要各种各样的东西,如程序代码、头文件或一些额外的资源,这些东西都是放在一个项目里的。项目能够协调组织好这些文件和资源,使得设计更为有序,查找更为方便。如果不创建项目,那么将会失去很多管理功能,多文件的程序会编译失败,并且有可能找不到对应文件。

小提示
 

每一个项目只能对应一个程序。如果编写好一个程序之后,想再另外编写一个程序,应该新建另一个项目,否则两个程序都可能会无法编译运行。
此外,在Visual Studio 2003以后的版本中,都有了解决方案这个概念。它是一组多个项目的集合,可以认为是一个“更大的项目”。对于初学者而言,可以暂时不使用该功能。

那么,如何新建一个程序呢?首先单击“文件”菜单,选择“新建项目”,可以看到“新建项目”的对话框,如图2.3所示。

在左侧的模板中,选择Visual C++;在右侧的项目类型中,选择“Win32控制台应用程序”。在下方填写名称并取消“为解决方案创建目录”前面的勾,选定该项目的保存位置,然后单击“确定”按钮。

接下来会出现Win32应用程序向导,其中需要设置的是应用程序类型和附加选项,如图2.4所示。

图2.4 Win32应用程序向导

此时新项目已经建立好,可以发现Visual Studio的界面和启动时发生了一些变化,如图2.5所示。

在右侧的解决方案资源管理器中可以看到4个像文件夹形状的图标,分别是外部依赖项、源文件、头文件和资源文件。外部依赖项和头文件的概念将在本书第11章中再作详细介绍。源文件主要用于存放程序的代码,这些文件的扩展名为cpp;头文件主要用于存放一些预先定义好的程序内容,扩展名为h;资源文件一般是存放运行该程序所必需的资源,例如图像、文本等类型的文件。要注意,这里的“文件夹结构”并不是磁盘上的文件夹结构,而只是这些文件在该项目中的分类。所以,如果你没有自行创建过这些文件夹,那么在磁盘上是无法找到它们的。

接下来需要向空的项目中添加代码文件。在右上侧的“解决方案资源管理器”中,右击“源文件”,选择添加,单击“新建项”,会出现添加新项的对话框,如图2.6和图2.7所示。

图2.6 解决方案资源管理器

图2.7 添加新项

在右侧的文件类型中,选择“C++文件(.cpp)”,并填写文件名main.cpp。单击“添加”之后,就能发现在解决方案资源管理器中多了一个文件,并且该文件已经打开,供用户输入程序代码。在右侧文本框内输入以下代码。

程序2.1 自己编写的Hello,World

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

小提示
 

程序2.1中的大括号{}不能遗漏,否则将无法通过编译。无论何时,程序中的大括号应该是能够配对的。
接下来要介绍如何让设计好的程序运行起来。单击“生成”菜单,再单击“编译”(或使用快捷键Ctrl+F7)。所谓编译,就是用编译器软件将我们比较容易掌握的高级语言翻译成计算机可以识别的低级语言。如果没有经过编译(或解释),高级语言的程序代码是无法被执行的。

编译的结果可以在“输出”窗口中看到,输出窗口默认位置为屏幕下方,如图2.8所示。如果编译正确,那么就会显示“成功1个,失败0个”,表示没有任何错误或警告。如果编译错误,则会提示在哪一行的什么位置可能发生了什么错误,相关内容会在本书第11章介绍。

图2.8 编译结果

完成编译后,还要再单击“生成”菜单,单击“生成解决方案”(或使用快捷键F7)。在这个过程中,会将多个源文件的程序模块都“拼装”起来。当一个程序规模比较大的时候,必须要生成解决方案后才能正常运行。生成解决方案的结果也能够在“输出”窗口中看到。

最后单击“调试”菜单里的“开始执行(不调试)”,就能运行程序并查看结果了,如图2.9所示。

图2.9 程序运行结果 

小提示
 

1.在编写某些程序的时候会发现程序能正常编译,但是只有第一次连接是正常的。以后的几次连接均报告“error LNK1104: 无法打开文件……”。这可能是程序运行之后没有关闭造成的。请把所有正在运行的项目名.exe程序关闭,然后再尝试重新编译和连接。

2.如果在“调试”菜单里单击了“启动调试”,程序的运行会一闪而过。这是因为该选项是专门用于调试的,如果没有设置调试的断点,则程序会在完成运行后直接关闭。为了便于观察程序的运行结果,可以选择“开始执行(不调试)”选项,或使用快捷键Ctrl+F5。
在使用熟练之后,会发现当单击“调试”菜单里的“启动调试”或“开始执行(不调试)”时,如果程序代码被修改过需要重新编译生成,则Visual Studio会自动提醒用户是否要重新生成,如图2.10所示。

图2.10 自动提示重新生成

学会如何编译、生成和运行程序之后,我们来分析一下程序2.2中每个语句的含义。

#include <iostream>
包含输入输出流头文件,使得程序具有输入输出功能。通常把这种包含操作称为“预处理头文件”。

using namespace std;
使用命名空间,暂时认为是一种定式(该内容将在第11章中介绍)。

int main()
主函数,是每个程序开始运行的起点,每个程序只能有并且必须有一个主函数。在没有系统地介绍函数之前,也只能认为这是一种定式。

cout <<"Hello World!"; //输出Hello World
这个cout(念C-Out)实现了在屏幕上输出内容的功能。“<<”称为插入操作符,用于输出内容。在Hello World!两端加上双引号表示它是一个字符串,是一个整体。

而在代码中键入“//”后的字符都会变成绿色,而且无论这些字符是什么,对程序的运行结果都不会产生影响。这些绿色的字符叫做注释(Annotation),程序员用它来记录程序的相关文字信息,或记载某一段程序的含义,方便自己回忆或其他人理解编程思路。

小提示
 

1.并不是说注释越多越好。在那些很简单的、显而易见的语句后加上注释便显得画蛇添足了。尽管注释允许占用多行,还是应点到为止,从简为宜。

2.在Visual Studio中,注释的颜色默认为绿色。但是,该颜色通常可以在集成开发环境中进行设置,也可能因不同的集成开发环境而发生变化。
写注释是一种好习惯,能够及时把自己当时的思路记录下来。“//”称为单行注释符,当注释要占用多行时,可以用“/”表示注释的开始,用“/”表示注释的结束。

return 0;
主函数的返回值,表示程序运行的结束。暂时也认为是一种定式。

试试看
 

1.如果去掉第一行的#include ,该程序能否正常运行?

2.如果去掉字符串两端的双引号,是否还能输出这些字符?

3.如果去掉cout语句后的分号,编译时会出现什么错误提示?

4.试试cout <<"3+4=" <<3+4;会是什么结果。
通过这个程序可以总结出一个简单的C++程序代码结构。

预处理头文件
使用命名空间
主函数
{
    语句1;//注释……
    ……
    /*
    注释……
    */
    语句n;
}

小提示
 

1.在某些计算机中安装了操作系统的更新之后,会导致Visual Studio 2012无法打开C++的项目。目前已经证实这是微软.NET Framework更新程序的一个潜在缺陷,可以通过安装Visual Studio 2012 更新(KB2781514)解决这个问题。

参考地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=36020

2.如果将Visual Studio 2012生成的可执行文件直接复制到某些Windows系统的计算机中,运行时会提示“无法启动该程序,因为计算机中丢失MSVCP110D.dll(或MSVCP110.dll)。尝试重新安装该程序以解决此问题。”这是因为在这些操作系统中没有安装Visual Studio对应版本的Visual C++运行时组件。通过修改项目属性,能够使生成的程序可以在大多数Windows系统中运行。单击“项目”菜单,单击“项目名 属性”,会弹出“项目属性页”的对话框。单击左侧框中“配置属性”下“C/C++”前的加号,再单击“代码生成”。根据配置的实际情况(Debug或者Release)将右侧的“运行时库”选项改为“多线程调试”(针对Debug)或“多线程”(针对Release)即可,如图2.11所示。此外,也可以为这些计算机安装Visual Studio 2012的Visual C++运行库(Redistributable Package)。

![image](

图2.11 更改运行时库

时间: 2024-11-05 18:34:30

《易学C++(第2版)》——2.2 如何创建一个程序的相关文章

c++-C++版单词反转 给出一个英语句子,希望你把句子里的单词顺序都翻转过来

问题描述 C++版单词反转 给出一个英语句子,希望你把句子里的单词顺序都翻转过来 题目描述 Description给出一个英语句子,希望你把句子里的单词顺序都翻转过来 输入描述 Input Description输入包括一个英语句子. 输出描述 Output Description按单词的顺序把单词倒序输出 样例输入 Sample InputI love you 样例输出 Sample Outputyou love I 数据范围及提示 Data Size & Hint简单的字符串操作 解决方案

《C++ Primer Plus(第6版)中文版》——1.4 程序创建的技巧

1.4 程序创建的技巧 假设您编写了一个C++程序.如何让它运行起来呢?具体的步骤取决于计算机环境和使用的C++编译器,但大体如下(参见图1.3). 1.使用文本编辑器编写程序,并将其保存到文件中,这个文件就是程序的源代码. 2.编译源代码.这意味着运行一个程序,将源代码翻译为主机使用的内部语言--机器语言.包含了翻译后的程序的文件就是程序的目标代码(object code). 3.将目标代码与其他代码链接起来.例如,C++程序通常使用库.C++库包含一系列计算机例程(被称为函数)的目标代码,这

《深入浅出iPhone/iPad开发(第2版)》——Xcode是一个全功能的集成开发环境

Xcode是一个全功能的集成开发环境 深入浅出iPhone/iPad开发(第2版) Xcode远不只是一个文本编辑器.正如你所看到的,Xcode含有模板,帮助你开始一个应用程序的开发.根据你的应用程序,你可以使用所有的模板,或者只是使用一部分,但你总是能够以它们中的一个作为模板开始.一旦你选择了基础应用程序模板,你可以使用Xcode做更多的事. 维护你的项目资源 Xcode会为你的项目创建一个新的目录,并将各种文件放入这个子目录中.你没有必要坚持默认的布局,但是如果你决定要整理它们,完全可以用X

《C++入门经典(第6版)》——第2章 程序的组成部分2.1 使用C++的原因

第2章 程序的组成部分 C++入门经典(第6版) 本章介绍如下内容: 为何使用C++: C++程序的组织结构: 注释如何让程序更容易理解: 函数的作用. 虽然已面世37年,但是C++编程语言的地位比20世纪70年代末出现的其他东西高得多.当前C++仍在风行,还是一种世界级编程语言. 造就它令人惊讶的生命力的原因在于,通过使用C++,只需编写少量的代码,就可创建快速执行的程序,且可在各种计算环境下运行.当今的C++编程功能让您能够生成功能强大的复杂应用程序,适用于商业.商务和开源开发. 2.1 使

ASP.NET Core管道深度剖析(2):创建一个“迷你版”的管道来模拟真实管道请求处理流程

从<ASP.NET Core管道深度剖析(1):采用管道处理HTTP请求>我们知道ASP.NET Core请求处理管道由一个服务器和一组有序的中间件组成,所以从总体设计来讲是非常简单的,但是就具体的实现来说,由于其中涉及很多对象的交互,我想很少人能够地把它弄清楚.如果想非常深刻地认识ASP.NET Core的请求处理管道,可以分两个步骤来进行,我们首先可以在忽略细节的前提下搞清楚管道处理HTTP请求的总体流程,然后再此基础上补充之前遗漏的细节.为了让读者朋友们能够更加容易地理解管道处理HTTP

Facebook在其iPhone版应用中新增了一个tips功能

摘要: 近日Facebook在其iPhone版应用中新增了一个tips功能,基于用户的实时位置,显示一系列关于这个地点的卡片信息.另外,如果你的朋友曾经在这儿分享过图片或帖子的话,也会显示出来. 近日Facebook在其iPhone版应用中新增了一个"tips"功能,基于用户的实时位置,显示一系列关于这个地点的卡片信息.另外,如果你的朋友曾经在这儿分享过图片或帖子的话,也会显示出来.早在两年前Facebook曾经推出类似的Nearby功能,但是在之后一段时间内似乎都没有威胁到Yelp和

如何在win7旗舰版电脑中将已创建的索引取消掉?

  很多时候,咱们都需要在win7 64位旗舰版iso电脑中使用到搜索的功能,但是很多用户却发现这个搜索功能似乎并没有自己想象的那么容易,有时候会出现很慢的情况,这个时候怎么办呢?所以很多时候,咱们都会在自己的win7旗舰版电脑中创建索引,这是提高搜索效率的一个很好的方法.但是这个搜索在使用之后就没有什么作用了,存在只会造成资源的浪费,那么咱们如何才能在win7旗舰版电脑中取消已创建的索引呢?下面,小编就来介绍一下具体的操作方法吧! 1.首先,咱们单击打开win7旗舰版电脑的开始菜单,在打开的开

如何在Win7 ghost 纯净版系统桌面上创建关机快捷方式实现快速关机

  1.首先在win7 ghost 纯净版系统桌面上空白处鼠标,点击新建选择"快捷方式(S)"; 2.在创建快捷方式窗口中,我们在对象的位置中输入"shutdown –s –t 5"指令,然后点击"下一步"按钮; 3.然后将快捷方式命名为自己想要的名称,比如改为"关机",然后点击完成; 4.这时候就可以看到桌面上已经出现了"关机"图标,只要双击关机图标,5秒后电脑会自动关机.

tplink路由器免驱版无线网卡无法自动运行安装程序,怎么办?

问题介绍 我司免驱版无线网卡插入电脑的USB接口后,没有弹出自动安装的提示框.无法自动安装驱动程序.出现该问题一般是系统没有开启自动播放的功能引起的,解决方法有两种: 解决方法 方法一.开启操作系统自动播放功能 Windows 7/8/8.1/10系统开启自动播放功能的设置方法如下: 点击电脑的 开始 > 控制面板 > 自动播放,勾选 为所有媒体和设备使用自动播放(U),点击 保存,如下: 方法一.开启操作系统自动播放功能 Windows 7/8/8.1/10系统开启自动播放功能的设置方法如下