一 启动 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最详细的使用教程(有图)相关推荐

  1. 函数调用关系图如何画_彩铅画入门植物教程 | 如何用彩铅画一株多肉?多肉彩铅画教程步骤图详细...

    画画不难,难的是不拿起手中的笔去画. 彩铅画入门植物教程 | 如何用彩铅画一株多肉?多肉彩铅画教程步骤图详细 多肉的质感如何表达呢?还是那句话:艺术来源于生活,要仔细观察.拿我们今天画的多肉来说,首先 ...

  2. 超详细超快的免费图床设置教程

    [已失效:Gitee已禁止用户搭建图床]超详细超快的免费图床教程 新的图床设置方案:https://blog.csdn.net/qq_44430911/article/details/12514235 ...

  3. [转](转载+整理)超详细的cmake教程

    cmake教程 参考 什么是cmake cmake 常见语法罗列 CMake可用变量 入门案例 单个源文件 多个源文件 同一目录,多个源文件 多个目录,多个源文件 进阶案例 自定义编译选项 指定安装和 ...

  4. win7开机卡在正在启动_手把手教你大白菜PE启动盘安装win7最详细的图解教程

    一.准备工作,制作好PE启动盘U盘一个,把所需要的文件提前复制到U盘里: 2,把启动盘插到电脑USB插口上: 3-1,按下电脑主机开机按钮: 3-2,如果电脑是打开的请重启电脑: 4,设置从U盘启动: ...

  5. 苹果,U盘越狱iPhone绕ID最新教程及各种坑解决,吐血之作(超详细超简单教程)-balenaEtcher-Checkm8-bootra1n

    U盘越狱iPhone绕ID最新教程及各种坑解决,吐血之作(超详细超简单教程)-balenaEtcher-Checkm8-bootra1n 这是安装多个苹果版本及虚拟机版本后成功的教程,由于资源上传到百 ...

  6. 非常详细易懂的法线贴图(Normal Mapping)

    翻译:非常详细易懂的法线贴图(Normal Mapping) 本文翻译自: Shaders » Lesson 6: Normal Mapping 作者: Matt DesLauriers 译者: Fr ...

  7. MobaXterm 详细安装使用教程 官网

    MobaXterm 详细安装使用教程 官网 MobaXterm 详细安装教程 官网 详细安装教程 1.下载 MobaXterm 访问 https://mobaxterm.mobatek.net/dow ...

  8. 惠普打印机驱动服务器系统安装教程,Hp打印机驱动怎么安装,详细图文版教程...

    图一 一.许多惠普打印机是网络共享的,我们把电源线插入我们的计算机. 为了获得更好的办公性能,您可以将网络电缆连接到共享打印机,以便网络上的计算机可以使用打印机. Hp打印机驱动怎么安装,详细图文版教 ...

  9. (一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程

    Ubuntu安装详细教程(从下载镜像到安装NVIDIA驱动) 1.下载镜像文件 2.制作硬盘镜像 2.1 安装UltraISO并打开ISO文件 2.2 制作硬盘镜像 2.3 检查是否成功 3.划分磁盘 ...

最新文章

  1. 7. Vulnerability exploitation tools (漏洞利用工具 11个)
  2. poi设置单元格格式为文本_身份证号乱码?日期显示不对?都是单元格格式的锅...
  3. UA MATH567 高维统计专题1 稀疏信号及其恢复3 Coherence与RIP简介
  4. 无线研究 破解分享
  5. 每周一起读 × 招募 | WWW 2019:基于层次化强化学习的多源搜索展示优化
  6. python(5)- 基础数据类型
  7. .NET Core 2.0 开源Office组件 NPOI
  8. 银行贷款(洛谷P1163题题解,Java语言描述)
  9. UIScrollerView当前显示3张图
  10. 【转载】通往性能优化的天堂-地狱 JOIN方法说明
  11. Python打包成exe,pyc
  12. python相机拍照显示_Python无法从Raspberry Pi相机以最高分辨率拍照
  13. Linux vi命令详解与使用教程
  14. 如何将Photoshop图层复制到其他文档
  15. matlab怎么把scop图形用plot,怎么把ulink出来的数据导出来
  16. 论文笔记:Parallel Tracking and Verifying: A Framework for Real-Time and High Accuracy Visual Tracking...
  17. commander、ora、chalk、inquirer使用
  18. 湖北计算机技术以考代评,目前有哪些专业技术资格即职称实行“以考代评”?...
  19. Fiddler使用介绍
  20. java给图片加水印_java中怎么样将水印加在图片的上面或者下面

热门文章

  1. Burpsuite 使用教程
  2. 数据挖掘十大经典算法个人总结
  3. 让整个页面从iframe中跳出来
  4. 证券交易金融知识学习(1)
  5. dispatch emit broadcast
  6. 知识图谱-生物信息学-医学顶刊论文(Bioinformatics-2022)-SGCL-DTI:用于DTI预测的监督图协同对比学习
  7. 美化滚动条的一个插件 vue3-perfect-scrollbar
  8. java short字面量_进一步研究字面量(转)
  9. pytorch实现风格迁移 style transfer
  10. 企业数据备份,需要多少容量和性能满足?