第一个:C与C++之间的关系
首先,要知道C语言的发展,它是由美国的贝尔实验室研制成功的,在当时是算是非常高级的语言,它本身很多新特性都让汇编程序羡慕不已,红极一时,后来很多语言都是采用C语言开发,包括Windows、Linux等。但是,随着计算机性能的飞速发展和提高,硬件配置与十几年前已经有天壤之别,软件规模也不断增大,很多软件的体积都超过了1G,例如VS等,用C语言开发这些软件显得非常困难。
最后,C++主要在C语言的基础上增加了面向对象和泛型的机制,提高了开发效率,能够适用于大中型软件的编写。
随着C++的快速发展,它的语法也越来越强大,C++的新特性也越发的显现出来,现就C++与C语言之间的关系列举如下:
第二个:学习C语言到底能实现什么功能?
随着时间的发展,大部分的编程语言不是针对某个特定领域设计的,它们可以完成的事情也很多,比较通用化。但是在长期的实践过程中,这些编程语言逐渐都找到了自己的位置。
例如:java可以用于网站开发,Android开发,PC软件开发,在大数据领域也可以使用。
Python主要用于系统维护,网站后台开发,数据分析,人工智能,云计算等领域。
Go语言可以用于服务器,通讯等较底层的开发,还用于网站后台开发。
今天的一个主角是C语言,并没有针对某个领域进行优化,就目前而言,C语言主要用于较底层的开发,例如:
1:Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发;
2:开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件;
3:单片机和嵌入式属于软硬件的结合,有很多使用C语言的地方;
4:开发系统组件或任务,用于支撑上层应用。
5:编写PHP扩展,增强PHP的功能。
6:如果对软件某个模块(例如算法和搜索部分)的效率要求较高,也可以使用C语言来开发。
在项目的实际开发过程中,C语言也可以用于PC软件开发,做出类似QQ,迅雷等带界面的程序,但是由于C语言开发效率低,第三方库较少,实际项目中已经没有人这么操作了,大家基本上都在使用C++。
第三个:初学者的疑问有哪些?
C语言只是一个工具,它的标准比较简单,只是提供了最基本的功能,如果希望开发出使用的程序,往往还需要学习其他方面的知识。
1、开发硬件驱动要学习数字电路,了解 Windows 或 Linux 内核,阅读硬件厂商的接口说明书;
2、从事嵌入式开发要学习数字电路、模拟电路、ARM、Linux、Qt等;
3、开发PC软件要学习Windows编程,了解 GTK。
第四个:如何学习底层知识
1、关于数据结构、算法、内存、线程、进程、通信、操作系统等这些基本的知识,重要的是理解概念,知道计算机是怎么回事,千万不要深入细节,把自己绕进去,耽误一两年的功夫,要尽早跳出来去做应用开发,找到兴趣点,获得成就感。
2、C语言主要是让你入门的,强化自己的编程思维,为以后的职业生涯打下坚实的基础,不是用来做开发的。真正学好C语言必须在实际的开发过程中,遇到问题,哪里理解不了,可以回来回顾这些知识,再深入学习。只有在实际开发过程中才能找到重点。
3、C语言主要的优势在于运行效率极高,这是底层开发最为看重的。有非常大的使用价值,加油。
总结:学好C语言是学习其他语言的基础,拓实自己的基本功,然后再学习其他的语言将会事半功倍。