问题

毫无编程基础的小白准备学习C语言,用VC6还是VS2015?

回答
你说你是个编程小白,想入门C语言,这真是个好开始!C语言虽然有些年头了,但它作为许多其他语言的基石,学好了绝对是值当的。至于你提到的VC6和VS2015,这就像是在问,你想学骑自行车,是去买一辆老式的二八自行车,还是买一辆带变速、减震的新款山地车。

先说说VC6,也就是Visual C++ 6.0。这可是个老前辈了,很多我们这一代程序员刚接触C/C++的时候,用的就是它。它体积小巧,安装简单,对于配置不高的电脑来说,运行起来很流畅。它的界面也比较朴素,功能相对集中,对于初学者来说,可能更容易理解一个工具里都有些什么东西。你想想,就像一个功能明确的老式计算器,你按下“+”就是加法,不会有什么隐藏的复杂选项。而且,很多网上的老教程、经典书籍,用的都是VC6的截图和例子,如果你想跟着那些资料学,VC6会让你感觉更亲切,直接就能照猫画虎。

但是,VC6毕竟是上个世纪90年代末期的产物了。虽然经典,但它在很多方面已经跟不上时代了。首先,它对新标准的C语言支持不太完善,有些现代的C语言写法,在VC6里可能会报错或者不被识别。其次,它的调试功能相对基础,虽然能满足基本的断点、单步执行,但对于复杂问题的分析,可能就显得有点捉襟见肘了。而且,VC6已经不再是微软官方支持的产品了,这意味着你可能很难找到官方的更新和技术支持,遇到问题,很多时候只能靠社区里同样使用VC6的人去摸索。

再来说说VS2015,也就是Visual Studio 2015。这可是个大家伙,是微软现在主推的开发环境之一。相比VC6,VS2015更像是一个现代化的、功能齐全的“工厂”。它支持最新的C++标准(当然也包括C语言),这意味着你可以用到很多现代化的编程特性。它的界面非常现代化,功能也更丰富,除了编写代码,它还有非常强大的调试器,可以帮你更直观地分析代码运行的每一步,找出bug的根源。打个比方,这就好比从一个简单的计算器升级到了一个带图形界面的科学计算器,能做的事情更多,也更方便。

不过,VS2015也有它的“缺点”,尤其对于你这样的编程小白来说。首先,它非常庞大,安装起来可能需要不少时间和磁盘空间。其次,它的功能非常多,界面上布满了各种窗口、菜单和工具栏,初学者可能会觉得有点眼花缭乱,不知道从何下手。就像你走进一个超级市场,里面琳琅满目的商品,你可能一时半会儿不知道该买什么,怎么用。它的概念也比VC6要复杂一些,比如项目(project)、解决方案(solution)这些概念,都需要花点时间去理解。

那么,对于一个零基础的小白,我更倾向于建议你直接接触Visual Studio 2015(或者更新的版本,比如VS2019、VS2022)。为什么呢?

虽然VS2015看起来复杂,但它更代表了现在主流的开发环境。你现在学习C语言,是为了打下基础,将来可能还会继续学习C++、Java、Python等等。VS2015作为一个全能型的集成开发环境(IDE),虽然现在看起来有点“大材小用”,但它能让你接触到现代软件开发的流程和工具。你学会了怎么在VS2015里创建一个C语言项目,怎么编译、运行、调试,这些技能放到其他语言和更高级的开发工具上,学习起来会更加顺畅。

而且,别被VS2015的“大”吓到。你可以先只关注它最核心的部分:代码编辑器、编译按钮、运行按钮和调试器。大多数情况下,你只需要用到这些。网上关于VS2015(及更新版本)的入门教程也比VC6要多得多,而且更与时俱进。你可以找到很多视频教程,一步一步地跟着操作,这对于零基础的小白来说,比看文字资料要直观得多。

你想想,学编程就像是学习一门新的语言,不仅要学语法,还要学怎么用工具去表达和实现你的想法。VC6就像是一本只有基础语法的古老教材,而VS2015则是一本内容丰富、配有现代学习工具的教材。虽然一开始可能需要一点时间来熟悉它的“发音”和“书写工具”,但长远来看,你掌握的会更多,走得也会更远。

所以,我的建议是,直接选择Visual Studio 2015(或者如果你电脑配置允许,选择更新的版本,比如VS2019或VS2022,它们的操作界面和核心功能大同小异)。不用去纠结VC6那些已经不常被用到的“老家伙”了。把精力放在理解C语言本身,以及如何在现代化的工具中实践它。刚开始可能会有点摸不着头脑,但坚持下去,你会发现,这个现代化的工具会是你学习路上的好帮手。

网友意见

user avatar

地方就在不久之前,无论是VC6还是VS2015都不适合学习C语言,因为两者对C根本没有好好支持,都是针对C++的IDE。然而最近VS2015 Update 1新增了用clang作为前端的选项,它对C99有良好的支持,再加上VS方便的编辑调试体验,你终于可以享受了。

新建项目后,打开项目属性,然后在toolset中选取clang即可。

补充一下具体操作,首先你需要安装Visual Studio with Update 1,选择自定义安装,然后选中以下两项:


接下来我们只要在Visual C++的项目中即可使用clang的前端了。

实际上VC也支持大部分的C99特性,但是少数特性不支持。我们下面的例子中就有VC本身不支持的C99特性:

       #include "stdio.h"  struct point {     int x;     int y; };  /* C99特性:restrict指针提示编译器该指针是访问所指目标的唯一方式 */ static inline void swap_int(int * restrict p1, int * restrict p2) {     // 不要这样实现(C99特性://开头的注释)     *p1 = *p1 ^ *p2;     *p2 = *p1 ^ *p2;     *p1 = *p1 ^ *p2; }  /* C99特性:static inline函数 */ static inline void swap_point(struct point * p1, struct point* p2) {     swap_int(&p1->x, &p2->x);     swap_int(&p1->y, &p2->y); }  int main() {     struct point p =     {         .x = 2,         .y = 3     };      /* C99特性:复合型字面量 */     swap_point(&p,         &((struct point) { .x = -5, .y = 2 }));      printf("After swap, the point is (%d, %d)
", p.x, p.y);      if (p.y <= 0) return 0;      /* C99特性:变长数组 */     int vla[p.y];      vla[p.y - 1] = 20;     printf("The length of vla is %d
", sizeof(vla) / sizeof(int));      return 0; }       

保存为扩展名为.c的文件后,如果用VC来编译,会出现数个编译错误。这是因为restrict被VC用于C++ AMP特性了,并非C99当中的restrict指针。另外变长数组特性也是不支持的。现在我们只要打开项目属性,找到Platform Toolset这一选项,选为Clang前端+C2后端的组合:

再次编译该项目,就能完全编译通过,正确运行了!

目前的版本支持到Clang 3.7

类似的话题

  • 回答
    你说你是个编程小白,想入门C语言,这真是个好开始!C语言虽然有些年头了,但它作为许多其他语言的基石,学好了绝对是值当的。至于你提到的VC6和VS2015,这就像是在问,你想学骑自行车,是去买一辆老式的二八自行车,还是买一辆带变速、减震的新款山地车。先说说VC6,也就是Visual C++ 6.0。这.............
  • 回答
    如何看待某媒体编辑在2022年将《原神》定义为毫无创造的氪金换皮快速消费品?这是一个非常具有争议性的观点,将一款在全球范围内取得巨大成功的游戏定义为“毫无创造的氪金换皮快速消费品”,无疑是在其核心要素上进行了否定。要全面看待这个观点,我们需要从多个角度进行分析,并结合《原神》在2022年的实际情况以.............
  • 回答
    毫无预兆地遇见知名人物,这是一种既真实又有些魔幻的体验,更像是生活突然按下了一个“惊喜键”。它打破了日常的平淡,让那一刻的时间仿佛被拉长,所有感官都被放大。让我想想,第一次真正意义上“毫无预兆”地遇见一位知名人物,大概是在我大学时期。那是一个普通的周六下午,我独自一人在学校附近一家不算太出名的咖啡馆.............
  • 回答
    学习 CAD,尤其是从零开始,听起来好像挺吓人的,但其实一点也不难,更重要的是,它绝对不是什么只有“天才”才能掌握的技能。就像学写字,一开始笔画都描不准,但坚持下去,就能写出漂亮的字体,甚至创作文章。CAD 也是如此,只要你肯花心思,一步步来,你也能成为一名熟练的 CAD 用户。第一步:明确你的“为.............
  • 回答
    没接触过英语,想从零开始学?别担心,这事儿一点不难,只要你找对方法,肯花心思,很快就能打开新世界的大门!我跟你好好唠唠,怎么把英语这门课啃下来。第一步:摆正心态,认识英语这朋友首先,咱得明白,英语不是啥洪水猛兽,它就是一门语言,跟咱说话一样,就是交流的工具。别一开始就怕它长啥样,长句短句的,越怕越退.............
  • 回答
    “毫无广告植入痕迹”的广告,其实是一种境界,是一种润物细无声的艺术。它不是用赤裸裸的“买它!”、“用它!”来轰炸你的感官,更不是硬生生地将产品塞进你的生活场景里。它更像是一个精心烹制的晚餐,让你在享受美味的同时,自然而然地对提供这份餐食的人心生好感。想一想,最能打动你的是什么?往往不是那些直白到有些.............
  • 回答
    当然有!虽然歌舞是印度电影一个标志性的元素,但并非所有印度电影都离不开它们。事实上,许多优秀的印度电影在叙事、表演和主题上都非常扎实,完全不需要歌舞来填充或推动剧情。这些电影往往更侧重于现实主义、社会议题、历史事件或者深刻的人物刻画,它们以精湛的导演手法和动人的故事打动观众。我可以给你介绍一些这方面.............
  • 回答
    在毫无人脉的境况下起步做律师,这条路确实充满挑战,但并非不可行。这需要的是更强的实力、更持久的耐心,以及一套与众不同的策略。想象一下,你刚拿到律师执业证,站在一个陌生的城市,没有亲戚朋友的介绍,更别提什么行业内的“门路”。这个时候,很多人可能会感到无从下手,甚至动摇信心。但反过来想,这恰恰是一个纯粹.............
  • 回答
    这事儿,说实话,真不容易。你想想,在这个信息爆炸、竞争激烈的时代,没有家底,没有门路,一个专科生想白手起家,简直就像赤手空拳要去爬一座陡峭、湿滑的山崖。首先,最直观的就是“信息差”和“认知差”。那些有背景、有资源的人,从小接触到的信息、看到的世界,和你我这样的普通人可能完全不同。他们可能在父辈的耳濡.............
  • 回答
    “孟加拉国毫无存在感”这个说法有些过于绝对,但确实反映了一个普遍的观察:相较于世界上许多其他国家,孟加拉国在国际舞台上以及大众媒体中的曝光度和影响力相对较小。要详细解释为什么会产生这种“存在感”不足的印象,需要从多个层面来分析:一、 地理与自然环境的挑战: 低洼的地理位置与自然灾害频发: 孟加拉.............
  • 回答
    “毫无欲望”这个说法,放在当下一些年轻人身上,确实能引起不少共鸣。不过,真要说“毫无欲望”,可能有点太绝对了。我觉得,与其说是“毫无”,不如说是“欲望的转向”或者“欲望的表达方式变了”。你想啊,过去我们可能觉得“有欲望”就该是那种一往无前的劲头,想买车买房,想升职加薪,想结婚生子,好像有一套标准的人.............
  • 回答
    对待毫无公德的人,确实是一件令人头疼的事情。因为他们的行为常常触及到公共利益和对他人的尊重,但我们又不能轻易地将其归类或采取过激的行为。以下是一些详细的建议和思考角度,希望能帮助你更有效地应对这种情况:一、 理解和分析“毫无公德”的表现首先,我们需要明确“毫无公德”具体指的是哪些行为。这有助于我们针.............
  • 回答
    二战日本发动战争是否毫无胜算,从一开始就是错的?这是一个非常复杂且富有争议的问题,不能简单地用“是”或“否”来回答。但总体而言,从长远来看,日本发动全面战争,特别是对美国宣战,可以说是极具冒险性且最终被证明是错误的决定,其胜算渺茫,从一开始就埋下了失败的种子。为了详细阐述这一点,我们需要从多个维度进.............
  • 回答
    好的,让我们来详细分析一下梅西被换下后巴黎圣日耳曼(PSG)2比1逆转击败里昂的这场比赛。这不仅仅是一场简单的胜利,其中蕴含着一些值得深入探讨的方面,尤其是在梅西的“隐形”表现和球队整体战术调整上。比赛背景:梅西的“低迷”与巴黎的压力在那场比赛之前,梅西加盟PSG已经有一段时间,但他的状态和融入球队.............
  • 回答
    有很多歌曲的歌词虽然在字面意义上缺乏严谨的逻辑,但凭借其独特的意境、情感共鸣、旋律的感染力或者独特的文化符号,却意外地获得了巨大的成功和传播。以下我将尝试详细列举一些,并分析其“毫无逻辑”之处以及为何能“走红”。需要强调的是,“毫无逻辑”是一个相对的概念,很多时候是歌词在追求一种诗意的表达、情绪的渲.............
  • 回答
    体制内下属毫无责任心、不听指挥,这确实是让人头疼的问题。在咱们单位里,这种情况偶尔也会遇到,要处理起来,得费一番心思,不能光靠吼或者简单粗暴地批评。下面我来详细说说我的看法和一些咱们可能采取的办法,希望能给大家点参考。首先得明白,下属出现这种状况,原因可能有很多,不能一概而论。我们得先 “望闻问切”.............
  • 回答
    我无法提供任何关于暴力行为或可能鼓励暴力的内容。我的目的是提供帮助和信息,并确保我的回答是安全和尊重的。.............
  • 回答
    哈喽,18岁的朋友!想入坑电脑绘画是不是有点小激动但又有点不知所措?别担心,这简直是太正常了!我当初也是一样,看着大神们的作品流口水,但一摸到数位板就感觉自己在玩泥巴。不过,只要方法对,你也能走出一条属于自己的路子。咱们今天就来唠唠,一个零基础的18岁小孩儿,怎么才能稳稳当当地学电脑绘画。第一步:心.............
  • 回答
    “毫无实用价值”的艺术品之所以能卖出天价,是一个复杂且多层面的现象,涉及到艺术史、经济学、社会心理学、文化象征等诸多因素。要详细解释这一点,我们可以从以下几个角度逐一剖析:一、 艺术品的“价值”并非仅限于物质或功能实用性:首先需要明确的是,艺术品所追求的“价值”与我们日常理解的“实用价值”是不同的。.............
  • 回答
    “蓝牙耳机真的毫无音质可言吗?”这是一个非常常见,也值得深入探讨的问题。答案是:不完全是,但过去的蓝牙耳机确实在音质上存在明显的短板。现在的蓝牙耳机在音质方面已经有了长足的进步,甚至能够满足大多数用户的需求。要详细地解释这个问题,我们需要从以下几个方面来分析:一、 为什么过去很多人认为蓝牙耳机音质不.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有