【C++】第1章 在VS2015中用C++编写控制台应用程序
分类:C++、VS2015
创建日期:2016-06-12
一、简介
看到不少人至今还在用VC 6.0开发工具学习C++,其实VC 6.0开发工具早就被淘汰了。这里仅介绍学习C++时推荐使用的两种开发工具。
1、codeblocks 13.12版
如果你希望开发工具的容量很小,建议使用这个工具。该工具(13.12版)的安装程序仅有97.8MB,但功能很强,非常适合教学用。
本人使用的for Windows的安装程序版本如下:
codeblocks-13.12mingw-setup.exe
2、VS2015(自带Update2)
如果你希望学习和实际用的开发工具一致,建议使用这个开发工具。虽然它的安装文件容量比较大,但是由于实际开发用的就是它,因此学习后就可以直接用它做实际的项目。
二、示例1(基本输出)
下面通过一个简单例子说明如何在VS2015下用C++编写控制台应用程序。
例子功能:编写程序输出所有的水仙花数。所谓水仙花数是指一个三位数,其各位数的立方和等于该数,例如:153=13+53+33。
1、新建项目
运行VS2015,在起始页中选择【新建项目】,在弹出的新建项目窗口中,选择【其他语言】->【C++】->【Win32】->【Win32控制台应用程序】,如下图所示。

输入项目名称(例如ConsoleApplication1),选择项目保存的位置(例如E:\MySource),单击【确定】,弹出如下向导窗口。

单击【完成】,就会看到生成的C++项目解决方案了。
2、编写代码
将ConsoleApplication1.cpp改为下面的内容:
// -----------------------------
// 编写程序输出所有的水仙花数。所谓水仙花数是指一个三位整数,其各位数的立方和等于该数。
// 例如:153=1*1*1+5*5*5+3*3*3
// ----------------------------- #include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cout << "所有水仙花数为:" << endl;
for (int i = ;i <= ;i++)
{
a = i / ;
b = i % / ;
c = i % ;
if (a*a*a + b*b*b + c*c*c == i)
{
cout << i <<endl;
}
}
System("pause");
return ;
}
3、调试运行
按<F5>键调试运行。
首次运行时,会弹出下面的窗口:

这个对话框的意思是代码需要重新编译,勾选【不再显示此对话框】,这样以后再运行就不会显示它了。单击【是】(意思是每次按<F5>调试运行时始终都让其重新生成),然后就会看到下面的运行界面:

按回车键结束调试。
4、生成32位的exe还是64位的exe
调试时有两种生成方式,一种是生成32位的本机代码,另一种是生成64位的本机代码。
如果希望生成64位本机代码,只需要单击x32右侧的下拉框,选择为x64即可:

三、示例2(基本输入)
程序功能:输入2个整数,显示这两个整数的和。
1、新建项目
项目名:ConsoleApplication2
模板:Win32控制台应用程序
2、编写代码
将ConsoleApplication2.cpp改为下面的内容:
// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
// 程序功能:输入2个整数,显示这两个整数的和。 #include "stdafx.h"
#include <iostream>
using namespace std; int main()
{
int x, y;
while (true)
{
cout << "请输入两个正整数(空格分隔):";
cin >> x >> y;
if (x <= || y <= )
{
cout << endl << "输入有错,请重新输入。" << endl;
}
else
{
break;
}
}
cout << x << "+" << y << "=" << x + y << endl;
cin.get();
System("pause");
return 0;
}
3、调试运行
按<F5>键调试运行,效果如下:

按回车键结束调试。
四、代码格式
删除最后一个大括号,然后重新键入,它就会自动重新调整代码的格式。
OK,这两个例子虽然简单,但是却演示了在VS2015下用C++编写控制台应用程序最基本的步骤。在此基础上,你就可以继续练习其他各种例子了。
【C++】第1章 在VS2015中用C++编写控制台应用程序的更多相关文章
- 在VS2015中用C++编写可被其它语言调用的动态库DLL
转自:http://blog.csdn.net/songyi160/article/details/50754705 VS2015用C++创建动态库DLL步骤如下: (1)启动VS2015>文件 ...
- 在VS2015中用C++编写可被C#调用的DLL
VS2015用C++创建动态库DLL步骤如下: (1)启动VS2015-->文件-->新建-->项目,按图二进行选择,选择Win32项目,弹出创建窗口,如第二张图.注意.net版本根 ...
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
from:http://m.blog.csdn.net/article/details?id=51075023 在VS2015中先创建C#项目,然后再创建要编写的动态库DLL项目,这样做的好处是整个解 ...
- 在VS2015中用C++创建DLL并用C++调用且同一时候实现对DLL的调试
一:用C++创建DLL 依照[在VS2015中用C++编写可被其他语言调用的动态库DLL]提示创建C++编写的DLL.或參考[在VS2015中用C++创建DLL并用C#调用且同一 ...
- VS2015使用C++编写DLL,并在C#环境中调用【转】
说明:本文是本人在学习封装DLL时看到的,觉得说得很清楚,为了防止忘记,特意复制下来学习用,原文链接:https://blog.csdn.net/songyi160/article/details/5 ...
- 第 3 章 编写 PAM 应用程序和服务
Solaris 开发者安全性指南 Previous: 第 2 章 开发特权应用程序 Next: 第 4 章 编写使用 GSS-API 的应用程序 第 3 章 编写 PAM 应用程序和服务 可插拔验证模 ...
- 使用vs2015编写c语言程序
使用vs2015编写c语言程序 转载Yanky--博客园 http://www.cnblogs.com/yankyblogs/p/7058036.html 编写c语言程序的软件有很多,当年刚开始学 ...
- vs2015 编译时项目出现NuGet程序包还原失败,找不到xxx.xxx.xxx版本的程序包,怎么解决这个问题?
vs2015 编译时出现这个NuGet程序包还原失败问题,项目还是运行得了,就是每次看到错误列表中有很多个错误,就感觉不舒服. 总算被我找到解决方法了 问题截图:
- 《css3实战》读书笔记 第一章 基于CSS需求而编写的HTML.
笔记说明 <CSS3实战手册第3版(影印版)>可以消除Web设计工作的痛苦,并且带给你:HTML--重新入门.如果你是HTML新手,你会学到如何以CSS友好的方式进行基本页面构造.若你是H ...
随机推荐
- 解析Myeclipse项目下的.classpath文件
<classpathentry kind="src" path="src"/> <classpathentry kind="con& ...
- ASP.NET 4.0 forms authentication issues with IE11
As I mentioned earlier, solutions that rely on User-Agent sniffing may break, when a new browser or ...
- 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包。
最近在升级 Visual Studio 2015 Update 3 的过程中,等了很长时间都没一点进展,于是就强行终止了升级程序,但VS也因此出了问题. 后来经过修复,不行,卸载再重装,仍然提示这个错 ...
- Android中AutoCompleteTextView的使用
1.http://blog.csdn.net/FX_SKY/article/details/9326129 此博客讲解了auto组件如何使用baseAdapter来扩展功能,推荐参照此博客写demo ...
- ViewHolder模式超简洁写法
ViewHolder是什么就不解释了.大家通常怎么写ViewHolder呢? ViewHolder holder = null; if (convertView == null) { convertV ...
- Ubuntu14.04手动创建桌面快捷方式
如果是系统自带的程序,默认的桌面图标放在 /usr/share/applications/下面,可以直接将对应的图标放到当前用户的~/Desktop/目录下即可 如果是从网上下载已编译的二进制文件(e ...
- Java的wait(), notify()和notifyAll()使用小结
wait(),notify()和notifyAll()都是java.lang.Object的方法: wait(): Causes the current thread to wait until an ...
- IPFS搭建分布式文件系统 - 访问控制
IPFS 一个内容可寻址.对等的超媒体分发协议. IPFS网络中的节点形成分布式文件系统. 为什么要用IPFS? “IPFS and the Blockchain are a perfect matc ...
- JS/React 判断对象是否为空对象
JS一般判断对象是否为空,我们可以采用: if(!x)的方式直接判断,但是如果是一个空对象,比如空的JSON对象,是这样的:{},简单的判断是不成功的,因为它已经占用着内存了,如果是JQuery的话, ...
- Apache2.4中开通HTTP基本认证
Apache2.4中开通HTTP基本认证,需要在Apache的配置文件中增加如下代码 WSGIPassAuthorization On 否则则无法认证