vs2015最详细的使用教程(有图)
一 启动 visual studio 2015
稍等片刻,你就会看到这个界面:
点击菜单:”文件”-“新建”-“项目”,会出现这个窗口:
选择左侧的”Visual C++”下面的“win32”之后,选择右侧的”win32控制台应用程序”,项目名称随意填写,点击”确定”。
按照Win32应用向导完成设置,“下一步”即可
选择应用类型为“控制台应用程序”,附加选项为“空项目”,然后“完成”即可
此时在“解决方案资源管理器”中看到所创建的项目
之后,在”解决方案资源管理器”中,右键”源文件”,”添加”,”新建项”。(如果没有左侧的”解决方案资源管理器”,可以点击菜单:”窗口”-“重置窗口布局”)
二 开始书写代码
让我们向这个世界问好,写下这些代码:
点击工具栏上的那个三角形的绿色按钮(”本地Windows调试器”)来运行,或者更快捷的方式是直接按F5。
勾选”不再显示此对话框”,点击”是”。
一闪而过
当你点击运行按钮或按F5后,程序一闪而过,怎么回事,VS2015的BUG?
并不是,我们看看这段程序,这段程序只有一行printf,没有任何别的语句,计算机瞬间就能执行完,执行完不就结束了吗,这就是一闪而过的原因。
但是我要看输出的文字啊,怎么让它在printf后停住呢?
很简单只需要使用 system(“pause”); 命令即可,像这样:
你会发现 system 被画了红色的波浪线,将鼠标移上去发现VS告诉我们这是一个未定义的标识符,因为system所在的库我们没有包含,我们加上这行include:
按下F5,现在,你就已经学会如何使用Visual Studio来编写和运行简单的C/C++程序了:
三 补充
如果你不想为使用system(“pause”);包含一个库,也可以使用scanf函数来等待输入,从而暂停程序,或者你可以在最后一个花括号那行,设置一个断点,这种方法我们将会在之后详细讲解
scanf不能用?!
“VS的问题怎么这么多!连scanf都不能用还写C程序?”
等等,请你先冷静下来,打勾”不再显示此对话框”点击”否”,让我们仔细看看输出的这条错误信息:
error C4996: ‘scanf‘: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
VS告诉我们,这个函数可能不安全,应该考虑使用scanf_s来代替(到底哪里不安全,有兴趣的朋友可以看本节尾部的选读小节)。或者定义_CRT_SECURE_NO_WARNINGS宏来屏蔽这个警告。
所以第一种方式我们可以修改scanf为scanf_s,便可以通过编译
”不行!我偏要用scanf!我偏要用!偏要用!!”对于这种强迫症患者,我们可以通过定义_CRT_SECURE_NO_WARNINGS宏来关闭VS的安全警告:
这两种方法任选其一即可,同时在关闭VS安全警告后,scanf_s仍然是可用的。
三 不安全的scanf(选读)
当使用scanf通过%s读入字符串的时候,很多初学者会忽略用户输入的字符串长度的问题,导致缓冲区溢出后程序不稳定。观察下面这个程序:
首先程序开辟了5个字符的空间来接受输入,但问题是,你并不知道用户会输入多少。让我们运行起来这个程序,输入一个明显大于5个字符的文本,测试一下:
“哈哈!什么事情都没有,你根本在吓唬我!”
别高兴的太早,按任意键结束这个程序:
VS给我们提出了警告,告诉我们”str”这个变量的堆栈不正常,其实这就是之前我们提到的术语”缓冲区溢出”,当我们将长数据放入短位置的时候,多出来的部分就会覆盖程序的其它数据,有时被覆盖的东西不重要,程序正常工作,有时重要,程序崩溃,这就叫不安全。
“但是我用VC++6.0的时候可没出这个错啊?”
我想是因为VC++6.0太老旧,没有检查这种问题的能力。
这种问题还有一个比较隐蔽的发生形式:如果我们正好输入5个字符呢?比如”Hello”。
事实上仍然会缓冲区溢出,因为字符串是以‘/0‘字符结尾,其本身也占一个位置,所以”Hello”实际上是6个字符!
四 代码书写方式
经常我们从别处粘贴来的代码缩进不正确,或者很多不拘小节的人写代码可能从来不注意缩进,虽然缩进不是C/C++语法的一部分,但是十分影响程序的可读性。
就比如一个判断三角形形状的程序,有的小朋友就能写成这样:
别笑,这正是我见过的。这确实对编译器并没有什么障碍,但是如果你要修改这样的代码,你得比平常多花起码三倍精力。就比如我问你,倒数第二个else搭配的是哪个if?你能一眼看出来吗。
现在我们使用VS的自动格式化代码的功能,选择要被格式化的代码,这来我们选择全部(Ctrl+A):
按住Ctrl,按一下K,按一下F,神奇吗?
那么现在我再问你,倒数第二个else搭配的是哪个if?
vs2015最详细的使用教程(有图)相关推荐
- 函数调用关系图如何画_彩铅画入门植物教程 | 如何用彩铅画一株多肉?多肉彩铅画教程步骤图详细...
画画不难,难的是不拿起手中的笔去画. 彩铅画入门植物教程 | 如何用彩铅画一株多肉?多肉彩铅画教程步骤图详细 多肉的质感如何表达呢?还是那句话:艺术来源于生活,要仔细观察.拿我们今天画的多肉来说,首先 ...
- 超详细超快的免费图床设置教程
[已失效:Gitee已禁止用户搭建图床]超详细超快的免费图床教程 新的图床设置方案:https://blog.csdn.net/qq_44430911/article/details/12514235 ...
- [转](转载+整理)超详细的cmake教程
cmake教程 参考 什么是cmake cmake 常见语法罗列 CMake可用变量 入门案例 单个源文件 多个源文件 同一目录,多个源文件 多个目录,多个源文件 进阶案例 自定义编译选项 指定安装和 ...
- win7开机卡在正在启动_手把手教你大白菜PE启动盘安装win7最详细的图解教程
一.准备工作,制作好PE启动盘U盘一个,把所需要的文件提前复制到U盘里: 2,把启动盘插到电脑USB插口上: 3-1,按下电脑主机开机按钮: 3-2,如果电脑是打开的请重启电脑: 4,设置从U盘启动: ...
- 苹果,U盘越狱iPhone绕ID最新教程及各种坑解决,吐血之作(超详细超简单教程)-balenaEtcher-Checkm8-bootra1n
U盘越狱iPhone绕ID最新教程及各种坑解决,吐血之作(超详细超简单教程)-balenaEtcher-Checkm8-bootra1n 这是安装多个苹果版本及虚拟机版本后成功的教程,由于资源上传到百 ...
- 非常详细易懂的法线贴图(Normal Mapping)
翻译:非常详细易懂的法线贴图(Normal Mapping) 本文翻译自: Shaders » Lesson 6: Normal Mapping 作者: Matt DesLauriers 译者: Fr ...
- MobaXterm 详细安装使用教程 官网
MobaXterm 详细安装使用教程 官网 MobaXterm 详细安装教程 官网 详细安装教程 1.下载 MobaXterm 访问 https://mobaxterm.mobatek.net/dow ...
- 惠普打印机驱动服务器系统安装教程,Hp打印机驱动怎么安装,详细图文版教程...
图一 一.许多惠普打印机是网络共享的,我们把电源线插入我们的计算机. 为了获得更好的办公性能,您可以将网络电缆连接到共享打印机,以便网络上的计算机可以使用打印机. Hp打印机驱动怎么安装,详细图文版教 ...
- (一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程
Ubuntu安装详细教程(从下载镜像到安装NVIDIA驱动) 1.下载镜像文件 2.制作硬盘镜像 2.1 安装UltraISO并打开ISO文件 2.2 制作硬盘镜像 2.3 检查是否成功 3.划分磁盘 ...
最新文章
- 7. Vulnerability exploitation tools (漏洞利用工具 11个)
- poi设置单元格格式为文本_身份证号乱码?日期显示不对?都是单元格格式的锅...
- UA MATH567 高维统计专题1 稀疏信号及其恢复3 Coherence与RIP简介
- 无线研究 破解分享
- 每周一起读 × 招募 | WWW 2019:基于层次化强化学习的多源搜索展示优化
- python(5)- 基础数据类型
- .NET Core 2.0 开源Office组件 NPOI
- 银行贷款(洛谷P1163题题解,Java语言描述)
- UIScrollerView当前显示3张图
- 【转载】通往性能优化的天堂-地狱 JOIN方法说明
- Python打包成exe,pyc
- python相机拍照显示_Python无法从Raspberry Pi相机以最高分辨率拍照
- Linux vi命令详解与使用教程
- 如何将Photoshop图层复制到其他文档
- matlab怎么把scop图形用plot,怎么把ulink出来的数据导出来
- 论文笔记:Parallel Tracking and Verifying: A Framework for Real-Time and High Accuracy Visual Tracking...
- commander、ora、chalk、inquirer使用
- 湖北计算机技术以考代评,目前有哪些专业技术资格即职称实行“以考代评”?...
- Fiddler使用介绍
- java给图片加水印_java中怎么样将水印加在图片的上面或者下面