24小时接单的黑客

联系黑客,怎么找黑客,黑客怎么找,黑客接单,破解系统

c语言编程我喜欢你(C语言我喜欢你)

从正式运营公众号开始

我每天都会收到C粉们

各种各样的问题

比方说像这样的

是的

很多C粉都在苦恼

VS怎么安装

虽然我一直觉得

安装挺方便的

展开全文

下载好解压即可安装

所以很建议大家用VS哈哈哈

IOS:苹果公司开发的移动操作系统

全称:iPhone Operating System

iso:符合ISO 9660标准的光盘镜像文件格式

文件扩展名通常为iso

下载完成后将镜像文件解压

双击它,稍等片刻,来到这个界面

不用修改安装目录,选择"自定义",点击"下一步",来到这里

只选择"编程语言"下的"Visual C++",点击下一步,来到这里

核对一下,点击"安装",看到这个界面后

就可以点击"最小化"玩别的了,安装过程大约要一个小时,期间需要保持网络畅通

完成了!看到那个巨大的"启动"了吗

快、点击!

在VS中建立一个C/C++程序项目

现在

我们就可以开启VS之旅了

打开VS2015,它可能会让你登录

这里可以如果你愿意,可以登录,我这里选择"以后再说"

这里的开发设置,我选择"Visual C++"

颜色我选择了酷炫的"深色

万事俱备

"启动Visual Studio"!

稍等片刻,你就会看到这个界面

点击菜单:"文件"-"新建"-"项目",会出现这个窗口

选择左侧的"Visual C++"之后,选择右侧的"空项目",项目名称填写"MyFristCPromgram",点击"确定"

(当然项目名你不必像我一样写这么长,随便打几个字母也是可以的)

之后,在左侧的"解决方案资源管理器"中

右键"头文件","添加","新建项"

(如果没有左侧的"解决方案资源管理器",可以点击菜单:"窗口"-"重置窗口布局")

在弹出的窗口中,修改新项的名称为"main.h"(你喜欢的话也可以用"main.c"或"main.cpp"或者随便起名字)

现在就可以书写你的代码了

让我们向这个世界问好,写下这些代码

点击工具栏上的那个三角形的绿色按钮("本地Windows调试器")来运行,或者更快捷的方式是直接按F5。

勾选"不再显示此对话框",点击"是"

一闪而过

"导演,剧本看起来不对啊!"

当你点击运行按钮或按F5后,程序一闪而过,怎么回事,VS2015的BUG

并不是,我们看看这段程序

这段程序只有一行printf,没有任何别的语句

计算机瞬间就能执行完,执行完不就结束了吗

这就是一闪而过的原因。

但是我要看输出的文字啊

怎么让它在printf后停住呢?

很简单只需要使用 system("pause");

命令即可,像这样

你会发现 system被画了红色的波浪线

将鼠标移上去发现VS告诉我们这是一个未定义的标识符

因为system所在的库我们没有包含,我们加上这行include:

按下F5

现在

你就已经学会如何使用Visual Studio来编写和运行简单的C/C++程序了

补充

如果你不想为使用system("pause");包含一个库

也可以使用scanf函数来等待输入,从而暂停程序

或者你可以在最后一个花括号那行

设置一个断点

这种方法我们将会在之后详细讲解

c语言编程我喜欢你(C语言我喜欢你)

教练,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.

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,便可以通过编译

它看上去工作良好

c语言编程我喜欢你(C语言我喜欢你)

"不行!我偏要用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个字符!使用VS自动调整代码缩进

经常我们从别处粘贴来的代码缩进不正确,或者很多不拘小节的人写代码可能从来不注意缩进,虽然缩进不是C/C++语法的一部分,但是十分影响程序的可读性。

就比如一个判断三角形形状的程序,有的小朋友就能写成这样

别笑,这正是我见过的。这确实对编译器并没有什么障碍

但是如果你要修改这样的代码,你得比平常多花起码三倍精力。就比如我问你

倒数第二个else搭配的是哪个if

你能一眼看出来吗

现在我们使用VS的自动格式化代码的功能

选择要被格式化的代码,这来我们选择全部(Ctrl+A)

按住Ctrl,按一下K,按一下F,神奇吗

那么现在我再问你,倒数第二个else搭配的是哪个if

使用VS的断点与单步跟踪功能

经常,为了找出程序的问题点

我们可以在VS中设下断点并且一步一步跟它着执行

观察各个变量的变化情况,来找到错误的地方

回到本文之前的那个计算完全平方的程序

右键for循环的那一行,"断点"-"插入断点"

(或者先将光标移动到这一行,然后按F9,再或者直接点击行首空白处)

在本行的首部将出现一个红圈,点击这个红圈可以取消断点

F5运行程序,为scanf_s输入"10"回车

窗口会自动跳转至VS,光标自动定位到断点行

这时将鼠标移动到任意一个变量名上

就可以查看这个变量的值。我们移动到i这个变量上

看到它拥有一个诡异的值

"不对,啊,我不是给i赋值0了吗?就在这行

是的,但断点断下的时刻是这行执行之前,也就是现在的i还没被定义以及初始化,它的值自然是不确定的

我们点击这个大头针,将固定显示i的值

你可以将它拖动到舒适的位置,甚至你还可以手动修改它的值

添加注释,但这里我们不需要这样做

我们按F10让程序向前走一步

立即发现i的值变成了0,并且VS还用红色显示给我们

同时光标自动移动到了if语句,左边的黄色箭头表面当前程序运行到的位置

再按F10

因为i满足开方后仍然是整数的条件,所以进入了if分支,准备输出这个i

一路F10,你就可以观察清楚整个程序i是何时增加,何时输出

当你不想再跟踪的时候,点击左边的红圈取消断点,按F5,让程序自己跑便是

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.