
计算机
自学C语言时最让人头疼的一点在于,光埋头学C语言本身,是永远学不好C语言的,也无法触及到C语言的精华所在。市面上那些主流的C语言教材,都没办法把C语言完完全全地教给你。C语言是一门直接和硬件、操作系统交互的
计算机底层语言,若想掌握C语言,至少得再学两门课程:一是
计算机组成原理,二是操作系统。甚至,还得学习汇编语言。可以说,C语言的奥秘在其自身之外。要是只学C语言,最多就只能写个像Hello World或者猜数字游戏这种简单又没什么实际用途的程序。想要用C语言开发有实际价值的程序或者组件,就绕不开上述几门课程。这就是C语言和其他主流高级语言的最大差异。像
Java、
Python这类高级语言,它们不直接与硬件或操作系统打交道,将硬件和操作系统层面的东西都屏蔽掉了。学习这些编程语言不需要掌握
计算机硬件和操作系统相关知识,一个不懂
计算机组成原理和操作系统的人也能把这些高级语言学得很好,用它们开发应用软件也不会有阻碍。当然,这里说的只是达到能够使用这些语言做开发的水平。要是想精通这些编程语言,像
计算机组成原理和操作系统这样的基础课程也是不可或缺的。但C语言就不行,没有足够的
计算机组成原理和操作系统方面的知识,单纯学C语言基本什么都做不了。