分享

visual studio新手使用教程(要写代码就需要新建工程并添加源文件)(编译一闪而退的问题getchar()函数等待从从键盘获取一个字符串在前面加上fflush(stdin)就确保万无一失)

 山峰云绕 2022-04-18

   (要写代码就需要新建工程并添加源文件)(编译一闪而退的问题getchar()函数等待从从键盘获取一个字符串在前面加上fflush(stdin)就确保万无一失)


https://blog.csdn.net/Vickers_xiaowei/article/details/82755942?utm_source=app&app_version=5.3.0&code=app_1562916241&uLinkId=usr1mkqgl919blen 



目录

1.下载安装Visual Studio

2.新建工程

3.新建项目

4.添加源文件

5.编译一闪而退的问题

6.使用scanf函数报错问题

7.VS常用调试程序快捷键

8.VS的调试窗口

9.工具->选项



对于刚刚接触编程的新手来说,最先需要熟练掌握的当然是语言之祖——C语言,而C语言IDE,首当其冲的必然是visual studio ,小编入门使用VC6.0,现在看来VC6.0这一“骨灰级”的工具漏洞百出,早该被淘汰。

1.下载安装Visual Studio

首先,你可以去这里下载最新版的VS,选择正确的安装路径,进行默认安装。

2.新建工程

进入VS之后,点击左上角文件->新建->项目(也可以直接点击起始页面的新建项目)这是新建一个工程的操作,而我们要写代码就需要新建工程。

3.新建项目

可以看到小编选择了Visual C++->空项目,可以自定义工程名称(建议命名规范化,意思就是说,写一个你一看到工程名称就知道是做什么的代码),自定义工程存储位置(一定要把你的代码放在你想放的位置,方便后续维护)然后点击确定。

4.添加源文件

视图->解决资源管理器,接下来开始双击源文件,添加->新建项,这里可以看到下图,我们可以对源文件名称进行重命名:比如以test为例,建立一个名为test的C语言代码,就要命名为test.c,如果命名为test.cpp则为C++程序,如果命名为test.h则为头文件程序。

5.编译一闪而退的问题

小编创建了test.c,插入了如下代码,点击本地Windows调试器,没错,你看到了屏幕一闪而过,这是程序完成了调试执行。

#include<stdio.h>int main(){printf('hello,world\n');return 0;}

要想看到输出结果有以下方式:

a、将代码改成如下样子:

getchar()函数等待从从键盘获取一个字符串,如果不输入一个字符串,getchar()函数就阻塞等待,这个方法并不完全适用于所有情况。getchar函数,阻塞等待一个字符串,如果此时缓存区有字符的话,那么这个getchar函数就不能解决程序一闪而过不停下来的问题。那么在getchar();之前最好加上fflush(stdin),就确保万无一失了。

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(){int num;scanf('%d', &num);printf('%d\n', num);fflush(stdin);getchar();return 0;}

b、不建议使用上述a方式,需要考虑的因素太多,建议在return 0;之前加下面这段代码

system('pause');

上述这句代码是调用了系统接口,让编译器暂停下来,需要添加头文件stdlib.h。

6.使用scanf函数报错问题

scanf函数是从标准输入去获取数据,C语言中默认用空格为界限去控制输入的长度。比如scanf('%d%d',&a,&b);当执行到这句代码时候,你需要在显示屏输入两个数字,用空格分割开。比如你输入了10 20。系统会识别到这是两个字符串,将其存储指定位置。

可是今天我想输入的是scanf('%s%s',&s1,&s2);我要输入的s1是I am Bob!,s2是What is your name?

系统很难识别那部分是s1,那部分是s2,很容易造成越界访问的问题,所以visual studio会提示不安全的函数。visual studio 在解决这个问题时候实现了一个scanf_s的函数。这个函数有三个参数第三个参数是从标准输入获取的数据长度的长度。

scanf('%s',&s1,10);这个函数并不是C语言标准的函数,只是vistual studio 平台的函数,如果你使用scanf_s这样的函数,你的代码不能再其它平台跑。所以不建议使用scanf_s函数。

建议使用#define _CRT_SECURE_NO_WARNINGS将这个错误规避掉。(这句加粗必看,前面可以不看)

接下来给大家介绍一种偷懒方法:我们在平时学习过程中经常会用到scanf函数,为了不让它再出现这类问题,由于

我的VS安装在D盘,所以我打开了它,找到了如上路径,在VC->newc++file中加入#define _CRT_SECURE_NO_WARNINGS

,保存退出。以后我每次新建一个新项目,就会有这么一句话。

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>//标准库头文件#include<stdlib.h>//包含system()函数的头文件int main(){int a = 0;scanf('%d', &a);system('pause');return 0;}

7.VS常用调试程序快捷键

调试:编译程序F7
调试:运行程序ctrl + F5
调试:打断点F9
调试:运行到断点位置F5
调试:单步执行F10
调试:单步进入函数F11
调试:结束调试shift+F5
VS常用编辑快捷键 编辑.注释选定内容Ctrl + K,Ctrl + C
编辑.取消注释选定内容Ctrl + K,Ctrl + U
编辑.删除行Ctrl + Shift + L删除所有选定行;如果没有选定行,则删除当前行。

8.VS的调试窗口

在F10单步调试状态下,打开调试->窗口,调试窗口中有监视(可用来监视变量等),内存,线程,堆栈,寄存器,反汇编等窗口用来帮助调试程序。可以通过这些窗口配合逐步调试,查看程序中的运行状况,分析bug可能产生的原因。最常用的就是监视窗口来查看变量的变化情况。有时候监视窗口会和内存窗口显示结果不一致,那肯定要相信内存窗口,监视窗口数据可能来自于寄存器。

9.工具->选项

除此之外,小编还会对编译器设置,方法是打开工具->选项,进行各种设置,比如字体大小、颜色、格式等等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多