C 语言简介
C语言是很多人学习编程的第一门语言,很多人在学习过程中,往往会有这样的疑惑:C语言黑屏白字,没有绚丽的界面,看起来还有点low,能搭建一个电商网站吗?能写爬虫吗?能写一个好玩的App吗?能编写吃鸡游戏吗?能找到一份月薪上万的工作吗?光靠C语言能升职加薪赢取白富美么?现在互联网和人工智能这么火,大家都在学习Java、Python、Ruby……,都2020了,C语言是不是已经过时了?
C语言过时了吗?
C语言其实并未过时。C语言自问世50多年来,一直广泛应用于各个行业、各个领域,多年来一直霸占着编程语言排行榜前三甲。只不过最近几年随着移动互联网的兴起,被Java语言抢去了风头,从头把交椅挤到了老二的位置。几十年风风雨雨,各种新的编程语言如过江之鲫,风云变幻,C语言作为一名“上古语言”,依然老当益壮,宝刀未老,自有他存在的道理:C语言一种“可上可下”的编程语言,兼具高级语言和低级编程语言的特点,上可通过软件工程、模块化编程构建几千万行的超大型项目工程,如Linux内核,目前已经超过2000万行了。下可通过指针直接操作寄存器和内存,直接控制CPU和硬件电路的运行,正是由于这种特性,目前市面上的绝大部分操作系统都是使用C语言编写的,如Linux、UNIX、FreeRTOS、uC/OS……
很多基础软件,如编译器、数据库、虚拟机、多媒体库、图形库等,都是使用C语言实现的。很多流行的编程语言也是使用C语言实现的,如Lua脚本语言,最初版本大约是由10000行C语言代码实现的,包括目前流行的Python语言、shell等,都是使用C语言实现的。
在目前的嵌入式开发中,尤其是固件、BSP、内核驱动开发中,除了少量的汇编代码,大部分都是使用C语言开发的。如果你打算以后从事嵌入式开发,或者是Linux下的C开发,学好C语言是非常重要的。
C语言要学到什么程度?
很多同学往往会有这样的疑问:C语言到底要学到什么程度,才能找到一份嵌入式开发的工作呢?自己书也看了不少,代码敲了不少,但还是感觉心里没底,到底后续该如何学习?
-
一般来讲,不同的行业领域、不同的 C 语言开发岗位,对 C 语言的要求也不一样。如果你是在校的学生,学习 C 语言仅仅是为了应付期末考试、考证过二级,那么你只要把 C 的基本语法掌握好,基本上就可以轻松过关,稍微用点心,说不定还能拿个优秀。如果你想从事 C 语言桌面软件、网站服务器开发,你不仅要学习 C 的基本语法,还要对特定行业领域的专业知识、软件工程、项目管理等有所涉猎。这可不像过计算机二级那么简单,计算机等级考试其实压根就不是为程序员准备的,它是非计算机专业学生的终极目标,而对于一个立志从事软件开发的工程师来说,它仅仅是一个起点。如果你想以后从事嵌入式开发、Linux内核驱动开发,那对 C 语言的要求就更高了:你不仅要掌握 C的基本语法、项目管理、软件工程,还要对硬件电路、CPU、操作系统、编译原理等底层机制有一个完整的了解,需要对 C 语言进一步的强化学习和编程训练。
本教程定位
本教程主要是面向C语言初学者、新手,在Linux环境下分享C语言的基本语法和编程技巧。通过本教程的学习,能让你快速对C语言有一个整体的认知框架,能熟练使用C语言进行编程。
如果你打算以后从事嵌入式开发、Linux开发,或者立志从事基础软件开发,还需要继续学习C语言进阶课程。