我的C语言

0x00-C语言前续工作

正所谓,工欲善其事,必先利其器,把握住当下最强大的工具,能让我们在学习的道路上少走许多弯路,多吸取前人的失败经验,能让自己快速成长,因为成长总是在消耗我们的耐心以及生命。

入门或者精通或者应用,不管哪一方面,对于一个编程语言而言,最方便的还是使用一个IDE作为你的有力助手,什么事IDE?通俗而专业的说叫做集成开发环境,这个通过字面就能理解到了,就是所有其他的事情都不需要程序员操心,你需要操心的就是写出代码,至于代码完成之后的一系列工作,都不需要你来管,IDE一键帮你搞定。

当然,会有许多前辈告诉你,如果你想理解C语言,那你一定要使用最基层的东西来写,比如XXX编辑器配上XXX编译器,晕头转向之后更加茫然,本来就支离破碎的小心肝,又被粉碎了一次,撇开那些与当下不符合的幻想,活在现实中,选择一个适合你的IDE,逐渐适应它。

  • 讲几个著名的IDE,并给出建议,利器第一步:

    1. 宇宙级的IDE: Visual Studio(2010~2017),之所以说宇宙级,因为这是市面上最强大的集成开发环境,由微软公司出品,但是放在开头不是为了推荐他,而是为了警示大家不要使用它作为C语言的集成开发环境,因为它使用的是微软公司自己定制的C++编译器,也就是说,你的C语言代码会在C++的标准下编译运行,这就是一个十分不好的现象,即便是C++我依旧不喜欢使用Visual Studio,因为它的C++编译器总是和普通的标准有所出入。

      原归正传,Visual Studio的确不是一个好的C语言学习IDE,所以请另外选择一个。

    2. 老牌IDE: DevC++,这又是一个大家耳熟能详,经常能在老师手里看见的C语言教学利器,但是,它是C++的IDE,记住C于C++完全是两个世界的人,虽然C++宣称能全面兼容C程序,但是有些东西依旧是有所区别,体现在语法的兼容性上,后文会有提及。那为什么大学老师喜欢使用它呢?因为一本由清华大学出版社出版的《数据结构》,让无数人为之折服,其中赫然写着由于性能我们不能拘泥于小细节,故对于C++的特性&引用,我们可以将其使用在C语言的语法中,就是这句话,让无数无知的学子扑向其中,再也分不清C与C++,看成谭浩强之后的,清华大学出版社又一诲人不倦的力作。

      所以,真爱编程,远离清华大学出版社,也请大家注意,不要使用DevC++这个IDE进行C语言程序的开发以及练习。

    3. 知名IDE: Code::Blocks,是一款非常优秀的开源跨平台集成开发环境,体积并不大,适合作为C语言的IDE,并且功能齐全,有兴趣的人可以深究,这是几个首推的C语言开发环境选择。

    4. 知名IDE: CodeLite,是一款非常优秀的开源跨平台集成开发环境,体积并不大,适合作为C语言的IDE,并且功能齐全,有兴趣的人可以深究,这是次推的C语言开发环境选择,因为使用起来稍微也有些额外的工作要做。

    5. 著名IDE: Xcode,是一个苹果电脑上的史诗级集成开发环境,虽然脱胎于C语言,但是由于某些原因,并不太建议使用其作为C语言的开发环境。

    6. 实用的 IDE: CLion, 是一款收费软件,但是对于学生教师免费,你只需要使用教育邮箱进行一些验证步骤就能得到它,有条件的推荐这个IDE,缺点就是使用Java编写,实在是有些慢。

    7. 知名的 IDE: Qt Creator 是一款免费的集成开发环境,跨平台,且有远程调试功能,十分推荐使用!但是初学者可能对项目工程没什么概念,会比较麻烦。

    8. 不知名 IDE: Kdevelop5 尚处于测试阶段,容易崩溃,但却是一款开源的集成开发环境!等稳定下来说不定又是一把利器。

  • IDE的基本配置
    利器第二步是对所选的IDE进行一些基本的配置,以及小科普。

    1. 对于一个练习C语言的开发环境来说,选择合适的标准和编译器是很重要的,在Windows以及Linux操作系统下,我们还是使用GCC这个家伙比较多,开源,免费,且极其强大。当然你也可以选择clang,当然整个计算机领域中支持C语言的编译器并不止这两个,只不过这两个是开源免费,而且功能强大,十分适合作为个人开发以及无特殊需求的企业开发的选择。

      选择了编译器,我们开始讲标准:

      对于GCC 5.1以下的所有版本,都默认对C语言使用C89标准,但是我建议使用C99两者的差距,有一个极其明显的地方,便是for循环的使用

      1. /*C89:*/
      2. int i;
      3. for(i = 0;i < 10;++i)
      4. /*...*/

      1. /*C99*/
      2. for(int i = 0;i < 10;++i)
      3. /*...*/

      这只是其中的一种差别,但是C99需要人为手动的开启,但是很多人有疑问,为什么有时候没有配置什么也能使用后面的语法?吴老师告诉你,这是因为你用了C++的文件进行C语言的开发,就像挂羊皮卖狗肉的道理。

    2. 开启C99

      一般IDE的顶部都是一系列的标签,找到工具/设置,因为不同的IDE可能有不同的标签,总之在其中找到一个叫(编译器)Compiler之后,在其中的other option中加入以下:-std=c99,这便是开启C99的选项代码,完事之后保存即可。虽然说我们是中国人,但是毕竟这东西的外国人发明的,我们能看英文就看英文吧。

    • 至此,利器成功配置。

    • 当然最重要的还是内在,所以加油吧,虽然是一门很古老的语言,但是存在既有其道理。

    1. 以上所说均为ISO标准,还有一些标准称为 GNU扩展集,gnu99之类的,有兴趣的可以上维基百科自行查询。