C

0. C语言教程-C语言介绍

0. Introduction to C Language

Posted by xuepro on October 30, 2017

“教小白精通编程”系列之“C语言教程” (版权所有,不得转载,擅自抄袭转载将承担法律责任)

C语言介绍

C語言最早由美国 AT&T 贝尔实验室的研究员丹尼斯·里奇(Dennis Ritchie)為了在PDP-11電腦上運行的Unix系統所設計出來的程式語言,由丹尼斯·里奇和肯·汤普逊在1969年到1973年之間完善。

TIOBE 编程语言排行榜,过去 30 年 90% 时间里 C 都是独领风骚的,仅偶尔被 Java 超越.

C语言不仅具有直接操作底层硬件(这些是Java、Python、PHP等其他语言无法做到的),而且C语言编程的程序执行要远远高于其他各种主流编程语言。 这就决定了C语言既能开发系统程序也能开发应用程序,特别是各种关键的系统程序和应用程序都需要用C语言来编写,如各种各种电脑、平板、手机的操作系统、工业控制系统, 大型的动漫制作图像处理软件如Maya, 3DMAx,PhotShop,各个著名的CAD软件如UG、SolodWorks、Pro\E、AutoCAD等都必须用C语言开发, 大型游戏也必须用C语言开发,即使如今用于大数据分析和人工智能的最火的Python语言,其底层工具人工智能平台如TensorFlow/Caffe等都是用C语言开发, 而Pyhton仅仅作为底层C语言API的包裹器。

各种流行的高级语言,如Java/Python的运行环境或者说沙盒也都是用C语言开发的,可以说C语言是其他语言之母!

C语言TIOBE 编程语言排行榜,过去 30 年 90% 时间里 C 都是独领风骚的,仅偶尔被 Java 超越。C 语言如愿成为了“2017 年度编程语言”的获得者。

几十年来,C语言也是大学里的首选教学语言,只有精通了C语言,才能真正理解程序是如何控制底层机器的,当然C语言也是各大软件公司面试软件研发人员的算法编程题的 几个主要编程语言之一。

C语言编程环境

C语言程序编程涉及:编写源代码程序即所谓的“C程序”,然后通过一种叫做“编译器”的工具将这种按照C语言语法编写的“c程序”编译为二进制的机器语言代码即“目标文件”。 一个大的程序可能包含多个以”.c“结尾的C程序,编译器会将它们分别编译成一个个的”.obj“结尾的目标代码文件。 我们的程序中可能需要用到别人已经写好并编译好的目标代码文件,这些目标代码通常放在不同的所谓“程序库”(如C语言标准库或第三方库)中, 还包含对其中的各种所谓“函数”或“类型”的说明性头文件(通常以.h结尾)。这些自己代码、生成的目标文件和各种调用的库的目标文件 会通过一种叫做“连接器”的工具连接成最终的“可执行文件”(如以”.exe“结尾的文件)

  编写源程序代码只要用任何一种文本编辑工具如记事本就可以,除此之外,还需要编译器、连接器工具。现代编译工具中通常会集成上面这些功能的工具,可以极大地提高我们的编程效率。因此,我们只要安装一个现代C语言或C++语言编程环境,就可以进行C语言的开发了。

  在Linux/Unix操作系统中,已经安装有著名的gcc编译工具,直接使用就可以了。具体可以网上搜索。当然我们也可以使用跨平台的集成开发环境(简称IDE)CodeBlocks等。

  在windows环境中,我们可以使用CodeBlocks,也可以使用微软的Visual Studio 最新版本(如Visual Studio 2017)其中包含了开发C语言、C++语言、C#等不同语言的编辑代码、编译程序、调试错误等工具。不要使用过时的VC6等工具啦!

  在windows环境下,有下面几种方式编译C语言程序

  1) 下载安装Visual StudioCodeBlocks就可以开始我们的C语言编程了!注意  :过程中,选择c而不是cpp。

  2) 也可以在windows系统上用mingW安装gcc编译器,然后用记事本编辑C语言程序,在widnows命令行编译C语言程序。

  3) 使用sublime文本编辑器及其自带的C语言编译器或配合上面的mingW安装的gcc。具体可以在我们的微博搜索编译运行第一个C程序的教学视频,也可以看看这篇博客文章:sublime配置MinGW搭建C/C++编程环境,并解决控制台汉字输出乱码问题

  关注“教小白精通编程”博客微博“教小白精通编程”  

  附历年年度编程语言:


支付宝打赏 微信打赏

您的打赏是对我最大的鼓励!