VS 2019的新手指引教程(敲代码前的调试工作及使用技巧)(简单易懂)_vs2019-程序员宅基地

技术标签: c语言  html  

目录

前言

一、VS2019的安装

二、解除“scanf”的警报及“懒人”头文件包的添加

三、多个程序文件的创建与运行

四、VS2019的常用快捷键


前言

在开始接触编程学习时,我们最先接触的编译软件大概就是vc 6.0 & Dev-c ++ ,它们的界面相似,使用起来是有诸多不便的,vc 6.0就不必说了,打个括号还得先左后右,Dev-c ++有时需要手动缩进也让人头疼(有的版本debug程序还会出错)。

这时,有一款VS 2019(Visual Studio 2019)“杀”了进来,它的自动缩进,对齐,准确报错……都碾压了前两者,给我们的编程学习带来了极妙的体验。但有些同学在自行安装使用的过程中“走进了大牢”,被各种陌生选项给劝退。其实很多难以看懂的地方是不需要了解的,我们只需要使用2019的部分内容就已足够。别慌放心,请和笔者一起不费脑子地学会如何使用VS2019吧。

一、VS2019的安装

 首先我们直接在百度中寻找VS2019.

   接着,我们找准其中的Community 2019下载 

当下载好以后,2019会要求你确认下载位置,默认下载在C盘,其实倒像是“强制安装”在C盘,当我们选择其他盘的时候,2019总会提示错误。所以我们直接按照默认下载地址点击确认就好。

 接下来,确认工作负载,我们只需要点击“使用C++的桌面开发”即可,已能满足日常编程学习的需求(毕竟2019其实是一个办公使用的开发软件),勾选其他选项将下载一些暂时用不上的内容,且内存占用较大。(若有其他需求可自行勾选)

(中间还有一步确认主题颜色的设置,黑色yyds)

安装好以后,运行VS 2019,我们将看到如下界面,点击创建新项目。 

 点击空项目。

写下一个你喜欢的项目名。 

当我们点击创建以后,本以为可以像Dev-c++ 一样开始敲代码了,但出现的界面确是空空如也,找不到一个可以敲代码的地方。

这时,我们找到界面上方的“视图” →“解决方案资源管理器”并点击。

在界面的右方便会出现管理器,接着我们找到其中的“头文件”→“添加”→“新建项”。

选择“C++文件(.cpp)” ,在底下创建你喜欢的文件名称。

 这时,可以敲代码的界面就生成啦!

 

接着,让我。们来敲一段简单的输入a,并输出a的值的程序。

点击“本地Windows调试器”进行编译与运行。 

这时我们发现程序无法运行,并没有跳出熟悉的小黑框,而是在底下发出了错误警告。

我们一起来看一看这段错误说明,它说“scanf”也许不安全,应该考虑用“scanf_s”进行替代,那么我们将scanf改成scanf_s便应该行得通,那么这时我们可能就有疑问,为什么scanf不安全?如果每次输入的时候都要多敲一个“_S”岂不是特别麻烦?

解释一下,scanf是标准的C语言的输入,但是对于不同的编译器,输入操作是会存在不同的表示形式的(其实大部分相同)。VS2019的输入便特殊为“scanf_s”,所以当我们只敲scanf时,编译器是会发出警报的。

那么每次多敲一个“_S”的麻烦有没有办法解决呢?

有!

下面我们进入一个简单的添加设置。

二、解除“scanf”的警报及“懒人”头文件包的添加

  在我们初学C语言的时候,每一个程序都要在开头加上一句

#include<stdio.h>

有的时候还会使用到<math.h>头文件以及其他头文件,重复无脑的码在开头,也许会让珍惜时间的我们感到枯燥。通过添加设置,我们既可以解除警报,又能使创建的每一个新文件都在开头自动生成这些头文件。

操作如下。

首先,右击你的VS2019图标(桌面,任务栏都行),点击属性。

在属性中,打开文件所在位置。

在界面右上方的寻找处输入以下文件名:

newc++ file.cpp

并寻找。
 

接着,先左击选中它,再右击查看→“打开方式”→“记事本”。

我们的大致流程是将解除警告的一行字符,及我们需要添加的头文件写入记事本中,并保存就能达到效果了。但是当我们进行保存操作时,它会提示你未有管理员权限。 

 这时我们的“支线任务”是用管理员模式打开记事本

对于任意一个应用,我们基本都能通过右击它,来寻找打开它的管理员模式。

但对于有的电脑(比如笔者的联想),我们会发现怎么找不到“记事本”这个应用? 

 这时我们可以这样做,先以正常的操作右击“newc++ file.cpp”文件以记事本形式打开,这时,在我们电脑的底栏里就会出现记事本图标,右击它,便能找到管理员身份。

 这时候,我们又打开了一个新的记事本窗口(可以把原来开的那个不是管理员身份的关掉)

复制粘贴以下代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>

这里解释说明一下,第一行是用于解除scanf的报错警告的,我们可以回看前面我们所看到的报错说明,里面就有这一串解决问题的代码。而接下来的几行都是我们常用的头文件(有些你可能还没学到,以后会涉及)。

接下来,只需保存。右击右上方的“文件”→“保存”。

我们应该保存在newc++ file.cpp里,此处大概会出现不同的保存界面内容。

 我们为统一步骤,防止有些同学找不到,用一点笨的办法。

 在界面上方输入粘贴复制以下内容并回车转过去

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7

接着,我们将界面下方的保存类型“文本文档”换成“所有文件”

 并重新在右上方搜索:

 我们就成功找到了它!单击选择它,此时我们离成功只差两小步:

点击保存,

完成替换(点“是”啊,别傻乎乎)。

 当你完成以上操作时,你可以重新根据开始的步骤新建一个VS2019写程序的文件,你就可以在界面里惊喜的发现:这些内容已经自动生成了!

 这意味着,我们不需要担心scanf在2019里报错了,而且以后每一次写程序都可以不用敲头文件了。(偷懒真舒服.doge)

这里再另外补充一点,有些同学可能会有疑问,自己写的程序常常不需要那么多头文件,而且做题网站上不是VS2019的编译器,不需要解除“_S”报错的代码,那这些东西加上去会出问题吗?答案是完全不会的,头文件和第一行说明都是需要的时候才调用,不需要的时候也是并不影响程序运行的,大可放心使用。

三、多个程序文件的创建与运行

  在我们写好一个程序希望保存它,并开始写下一个程序的时候,肯定不希望按照我们开始所讲的创建新项目那一步重新来一遍吧?那样实在是太麻烦了。此时,我们可以简单在解决方案资源管理器中解决这个问题。

如图,我们写好了一个输入a的值,输出hello world的简单程序,现在我们打算动手写另一个程序。

我们可以在右方找到该条蓝色的“解决方案”。(如果你前面关了,需要手动打开)

右击它→“添加”→“新建项目”。

 接下来对大家来说,应该属于熟悉的操作了。

 在新的项目里我们继续开头讲过的操作。

 此时,新的一页已经建好,我们来写一段新的代码,输入a,输出a的值。并运行它。

我们在小黑框里随意输入一个数并回车,发现怎么是我们第一个程序的运行结果?并没有如愿出来a的值。

 此时我们需要注意:

在边栏里,两个项目对比一下,第一个项目标题“Upping love KDA1”是被加粗的。这说明2019默认是执行第一个程序文件的,当我们需要运行第二个程序文件“Upping love KDA2”时,简单来说,应该更改加粗的项目标题。

我们可以右击你需要运行的新项目,将它设为启动项。

 这时候,运行的才是我们想要的项目程序。

总结一下:当我们发现自己运行的结果跟自己所写的程序似乎牛头不对马嘴的时候,记得看一眼解决方案资源管理器,看看加粗的、编译器默认执行的是哪一个项目。

(补充:有些时候,题目网站要求我们上传代码文件,此时要注意,我们所写的项目文件默认是.cpp类型,需要“另存为”.c类型的文件再上传)

四、VS2019的常用快捷键

  vs2019拥有丰富的快捷键来方便我们的使用,作为“新手程序员”,我们应该掌握一些基本的“光速”操作(不只是为了装逼.doge)

1.最常用的便是Ctrl+Z,撤销操作,回到你的上一步操作。

2.Ctrl+C,V不谈

3.因为你的不良习惯和奇怪操作,可能导致一段代码没能正确的缩进对齐,这是可以使用Ctrl+K+D来进行全局对齐(前提代码没有语法上的错误)

4.选中一段代码后,Ctrl+K+C,将所选代码全部注释(前面加\\),你会慢慢感受到注释的妙用。

5.Ctrl+K+U,删除所选代码的注释。

以上为笔者安装使用2019的一些心得和收获,很高兴能与你分享!

感谢你能看到这里,希望你有所收获,祝好!

(注:部分参考b站鹏哥c语言课上内容及csdn其他大佬博客,无意侵权,请联系我。)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/heiyu13498269232/article/details/120807505

智能推荐

迷宫最短路径求解_迷宫寻路求解最短路径-程序员宅基地

文章浏览阅读2.2k次。上节中只是提到了如何找到迷宫的通路,但是很显然有些迷宫不止一条通路,所以怎样才能求得迷宫最短路径呢?要找到最短路径,那必然需要知道所有的路径,才能找出最短路径。所以最重要的还是利用栈和回溯法,同时和递归结合起来。思路:首先从入口点开始,查找下一个结点的时候要与当前结点进行比较,因为所有路过的结点都是被标记的,表示的是从入口点到当前点所走的长度,而且都是递增。所以有可能被比较的对_迷宫寻路求解最短路径

2020最新Java面试题-程序员宅基地

文章浏览阅读2.7k次,点赞3次,收藏14次。@TOC1、面试题模块汇总面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示:可能对于初学者不需要后面的框架和 ...

Apache Dubbo讲义_apach dubbo讲义-程序员宅基地

文章浏览阅读90次。分布式RPC框架Apache Dubbo1. 软件架构的演进过程软件架构的发展经历了由单体架构、垂直架构、SOA架构到微服务架构的演进过程,下面我们分别了解一下这几个架构。1.1 单体架构架构说明:​ 全部功能集中在一个项目内(All in one)。架构优点:​ 架构简单,前期开发成本低、开发周期短,适合小型项目。架构缺点:​ 全部功能集成在一个工程中,对于大型项目不易开发、扩展和维护。​ 技术栈受限,只能使用一种语言开发。​ _apach dubbo讲义

聊聊zero-shot learning 和 one-shot learning-程序员宅基地

文章浏览阅读778次。Palatucci, Mark, et al. "Zero-shot learning with semantic output codes."Advances in ..._one-shot/zero-shot learning:

webSocket入门小案例(搭建实时交互的群聊+点对点的交流)_websocket入门案例-程序员宅基地

文章浏览阅读2.9k次。​WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。​_websocket入门案例

【HDU - 3308】 LCIS 【线段树+单点更新+区间合并】_given n integers. you have two operations: u a b: -程序员宅基地

文章浏览阅读304次。Given n integers. You have two operations: U A B: replace the Ath number by B. (index counting from 0) Q A B: output the length of the longest consecutive increasing subsequence (LCIS) in [a, b]._given n integers. you have two operations: u a b: replace the ath number by

随便推点

强化学习在电商环境下的若干应用与研究-程序员宅基地

文章浏览阅读538次。背景随着搜索技术的持续发展,我们已经逐渐意识到监督学习算法在搜索场景的局限性:搜索场景中,只有被当前投放策略排到前面的商品,才会获得曝光机会,从而形成监督学习的正负样本,而曝光出来的商品,只占总的召回商品中的很小一部分,训练样本是高度受当前模型的bias影响的。监督学习的损失函数,和业务关注的指标之间,存在着不一致性用户的搜索、点击、购买行为,..._电商 算法 reward

【NLP】什么是语义搜索以及如何实现 [Python、BERT、Elasticsearch]-程序员宅基地

文章浏览阅读3k次,点赞6次,收藏14次。语义搜索是一种先进的信息检索技术,旨在通过理解搜索查询和搜索内容的上下文和含义来提高搜索结果的准确性和相关性。总体而言,NLP 语义搜索提供了更复杂和上下文感知的搜索功能,使其在各种应用中都很有价值,包括网络搜索引擎、企业搜索、电子商务、聊天机器人和虚拟助理,在这些应用中,理解和满足用户的意图至关重要。与传统方法相比,BERT 的上下文理解可以显着提高搜索结果的质量。自然语言处理(NLP)上下文中的语义搜索是指应用NLP技术通过理解搜索查询和正在搜索的内容的含义和上下文来增强搜索结果的准确性和相关性。_语义搜索

NFT项目成功的底层逻辑是什么?非蓝筹NFT项目怎么破局?_nft底层逻辑是-程序员宅基地

文章浏览阅读650次。一.背景4月,随着moonbirds 短时间破纪录交易额引爆市场,bayc土地即将发行带领yuga club家族蓝筹猛涨,村上隆花和NBA在科学家们几百万份邮件和漏洞攻击中无法抵挡,pass通证类项目也在细分赛道中逐渐真香, NFT市场整体迎来了一波小行情。但蓝筹市场的火热,也加剧着NFT市场本就严重的马太效应,就如那句老话,金钱往往流向不缺钱的人,苦难往往流向能吃苦的人,对应到NFT市场中,优质项目的入场券流向了不缺钱的鲸鱼和顶尖科学家口袋,破发归零土狗项目流向了没钱希望暴富但被割的韭菜._nft底层逻辑是

认识MyBatis与Mybatis-plus及两者的区别_mybatis和mybatisplus的区别-程序员宅基地

文章浏览阅读2.3w次,点赞41次,收藏264次。一、认识Mybatis MyBatis 是持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。1、功能架构Mybatis的功能架构分为三层_mybatis和mybatisplus的区别

50个最常用的UNIX / Linux命令(示例)_xp24g top-程序员宅基地

文章浏览阅读807次。This article provides practical examples for 50 most frequently used commands in Linux / UNIX.This is not a comprehensive list by any means, but this should give you a jumpstart on some of the com_xp24g top

hybrid app初体验,和react-native一起飞_hybrid能用react吗-程序员宅基地

文章浏览阅读1.7k次。第一次启动了react-native的示例,今天主要把其中遇到的坑与解决的办法分享给大家。如有疏漏、错误还望指正。首先还是要从hybrid app这个概念说起(如果对于这个过程不感兴趣的同学,可以直接往下翻,从开始配置react-native看起)。hybrid app就是混合应用。从我个人的理解,本以为就是在原生的app里面嵌入一些网页(webview),直到最近去体会了一把ionic,以及rea_hybrid能用react吗

推荐文章

热门文章

相关标签