欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段

程序员文章站 2022-07-14 09:30:15
...

很多学校在工科学生的C语言学习阶段会介绍VC++ 6.0给学生使用,但是当一些学生开始尝试在Visual Studio 2017学习C++时遇到了一些不适应,这里作个记录,帮助工科学生尽快适应VS2017.

注:使用C语言考PAT的同学编译器可以选择C(gcc)或C(clang).

阶段一:怎样在VS2017中新建项目写代码

首先去微软官网下载免费的Visual Studio 2017 Community(社区版)并安装打开,家里有矿的有钱同学可以选择其他版本。

1.1 文件-新建-项目

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
文件-新建-项目

 1.2 左边点选Visual C++,右边选择Windows 控制台应用程序,自己修改名称、位置,确定。

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
Windows控制台应用程序

1.3 在左边的“解决方案资源管理器”中源文件-添加-新建项,弹出窗口中选择Visual C++内的C++文件(.cpp)

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
源文件-添加-新建项

 

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
C++头文件(.cpp)

1.4 VS2017中一定加上这行代码

#include "stdafx.h"

否则VS2017调试不通过你的入门阶段的C代码!

 

#include "stdafx.h"

然后就像过去那样以C的风格写一个hello world,以后会对怎样过渡到C++风格作介绍。

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
C风格的hello world

1.5 生成解决方案,不带调试的运行

生成-生成解决方案

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
生成解决方案

调试-开始执行(不调试) 

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
开始执行(不调试)

1.6 运行效果如下

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
运行效果图

阶段二 以浙大PAT Basic 1001题目“害死人不偿命的3n+1猜想”为例介绍向C++风格的过渡(本文编译器C++(g++)),选用C++(clang++)也是可以的。

2.1 题目内容

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
害死人不偿命的3n+1猜想

2.2 VS2017中的调试和解说

解说版:

//害死人不偿命的(3n+1)猜想
#include "stdafx.h" //VS2017中必加的一行代码
#include<iostream> //引用VS2017中的输入输出流头文件的第一行代码
using namespace std; //引用VS2017的输入输出流头文件的第二行代码,这两行代码都是必不可少的
int main() //浙大PAT考试C++强制要求使用int main{return 0;}组合,不可以使用void main()
{
	int n;
	cin >> n; //输入:C语言用scanf() C++用cin>>
	int i = 0;
	while (n != 1)
	{
		i = i + 1;
		if (n % 2 == 0)
			n = n / 2; //C++整除用/,//是注释;python整除是//
		else
			n = (3 * n + 1) / 2;
	}
	cout << i; //输出:C语言用printf() C++用cout<<
	return 0;
}

注意C++风格的输入输出流引用方式!

#include<iostream> 
using namespace std; 

简洁版:

//害死人不偿命的(3n+1)猜想
#include "stdafx.h"
#include<iostream> 
using namespace std; 
int main() 
{
	int n;
	cin >> n; 
	int i = 0;
	while (n != 1)
	{
		i = i + 1;
		if (n % 2 == 0)
			n = n / 2; 
		else
			n = (3 * n + 1) / 2;
	}
	cout << i; 
	return 0;
}

2.3 浙大PAT服务器(编译器C++(g++))中的调试

PAT不需要#include "stdafx.h",请去掉这句话!

//害死人不偿命的(3n+1)猜想
#include<iostream> 
using namespace std; 
int main() 
{
	int n;
	cin >> n; 
	int i = 0;
	while (n != 1)
	{
		i = i + 1;
		if (n % 2 == 0)
			n = n / 2; 
		else
			n = (3 * n + 1) / 2;
	}
	cout << i; 
	return 0;
}

测试成功!

从VC++ 6.0 MSDEV到Visual Studio 2017的过渡阶段
PAT(c++(g++))成功效果图