C语言一面世就以其简洁紧凑、灵活方便。运算方便、数据结构丰富、适用范围广、执行效率高等特点在全世界迅速推广。c语言也是其他众多高级语言的鼻祖语言,所以学习c语言是进入编程世界的必修课。
c语言入门自学方法
C语言既有高级语言的特点,又有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像Java就不能编写Windows病毒。
一句话概括:如果要利用编程来做一些windows优化工作的话,建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言
▌需要掌握哪些技能才能满足企业用人需求?
C语言常规岗位职责:
1、服务器软件开发;
2、负责项目架构设计,TCP/IP协议定义;
3、负责系统的架构设计、性能瓶颈分析、性能调优工作;
4、负责技术难点的攻破。
C语言常规岗位任职要求:
1、3年以上服务器相关开发经验,熟悉TCP/IP协议,及制定和规范协议;
2、熟练TCP、UDP协议编程,熟练socket网络通讯编程;
3、熟练C语言编程,熟悉C++编程;
4、熟悉Linux系统编程,多线程和多进程编程;
5、熟悉epoll、select等服务器端异步高并发模式,libevent或者libev等应用;
6、熟悉Mysql数据库,及API编程。熟悉SQL语言;
7、能处理数据库连接池性能瓶颈优先考虑。
▌零基础学习C语言,怎么入门?
能接受枯燥学习法的初学者,啃书效果肯定是奏效的,基础入门书籍吃透一本,收获颇丰。
推荐几本入门书籍:
1、《C程序设计语言》
推荐理由:全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。对于计算机从业人员来说,《C程序设计语言》是一本必读的程序设计语言方面的参考书。
零基础学习C语言如何入门(内附工具书推荐+视频教程)
2、《C primer plus》
推荐理由:本书全面讲述了C语言编程的相关概念和知识。适合希望系统学习C语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。
零基础学习C语言如何入门(内附工具书推荐+视频教程)
3、《C陷阱与缺陷》
零基础学习C语言如何入门(内附工具书推荐+视频教程)
推荐理由:结合自己的工作经验,创作了这本对C程序员具有珍贵价值的经典著作。出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。
c语言入门自学零基础
1、C语言适合当第一门编程语言学习
①、C语言语法相对简单,但又比较完整和严谨,包含该有的各种元素。学完C语言语法,要学习其它编程语言就很容易了。
②、C语言接近底层,可以了解内存和计算机的基本原理。
③、许多基础课程比如算法与数据结构教材都是以C语言为例子的,特别是中国版的书籍。
如果你是大一刚开始学习编程,建议选择C语言做入门。
2、C语言学习的步骤
学习语法和基础算法 ---> 了解C语言应用领域 ---> 确定是否从事C语言相关工作 ---> 深入学习基础课程 ---> 学习领域相关的课程
3、C语言语法学习
①、书籍推荐:
1)C语言中文网——C语言入门教程
既适合对计算机一窍不通的小白,也适合有编程基础的读者,还可以用来进阶。
这是一套网络教程,发布在C语言中文网,由站长亲自编写,这套教程最大的特点是通俗易懂,深入浅出,既适合小白入门,也适合后期进阶。本人就是读了这套教程以后才对C语言有了天翻地覆的认识,觉得以前学得都是垃圾。
这本书至今还在不断更新,我认为这是C语言入门的首选教材,吐血推荐,经典中的经典!!!
2)《啊哈C语言》
适合对计算机一窍不通的纯小白,有编程基础的读者请忽略。
这本书语言幽默,生动形象,通俗易懂,给人耳目一新的感觉,但是这本书非常浅显,并不深入,所以适合纯小白入门,找到门以后也就扔了。
这本书着重于语言艺术,针对纯小白下足了功夫,小学生坐在马桶上都能学会编程。说实话,我非常欣赏作者的创意和用心,国内像这样写书的少之又少,入门的书就应该是这个样子。
3)《明解C语言》
适合对计算机一窍不通的纯小白,有编程基础的读者请忽略。
日本人的作品,最大的特点是插图很多,生动有趣,让人一目了然。
其实真正的《明解C语言》一共有三部,分别是《明解C语言·入门篇》《明解C语言·中级篇》《明解C语言·实践篇》,遗憾的是图灵公司目前只翻译了入门篇和中级篇,还没有翻译实践篇。中级篇网上还没有PDF下载资源,这里我只能给出入门篇的下载地址。
4)《C Primer Plus》
适合有编程基础的读者,对计算机一窍不通的纯小白请忽略。
畅销30余年的C语言入门经典书籍,至今无人能撼动它的地位,它是最符合C语言标准的书籍,作为一名C语言程序员,不收藏一本都觉得自己很水。
但是对于没有计算机基础的小白,这本书就有点蛋疼了,信息量大,涉及的知识面广,书也比较厚,得有耐心才行。
如果你是纯小白,还是推荐阅读《C语言小白变怪兽》《啊哈C语言》《明解C语言》这几本书,等有了一点C语言基础,知道C语言大概讲了什么东西了,再来读《C Primer Plus》收获就非大了,你会感受到满满的干货。
5)《C程序设计语言,The C Programming Language》
C语言创始人丹尼斯·里奇(Dennis MacAlistair Ritchie)的著作,和《C Primer Plus》并驾齐驱,很难分出伯仲,这两本书都是一样的优秀,都是C语言程序员必须收藏的。
但是,《C程序设计语言》也不太适合纯小白,还是推荐阅读《C语言小白变怪兽》《啊哈C语言》《明解C语言》这几本书,等有基础了再回来看。
《C程序设计语言》和《C Primer Plus》的难度差不多,信息量也差不多,有很多人纠结读哪一本,我的建议是任选其一即可,或者,看了一本以后,另外一本大概浏览一下。
6)《C专家编程》
适合已经具备C语言基础、想进阶的读者。
这貌似是一本吐槽C语言的书,基本上介绍了大多数C语言的坑,有不少精髓,在C语言界久负盛名,想进阶的一定要看。
②、学习建议
视频结合书籍,把书籍上的代码都一个个自己敲出来运行,做到每段小程序都熟悉记忆。
不要一直在那边背语法,多写代码,多演化代码,验证语法。
建议以Linux为学习环境,掌握Linux下的相关工具,比如GCC
③、验证结果
《C程序设计语言:习题解答》里面的题目不用看书可以自己敲打实现出来就差不多了。
可以用计算机等级考试二级(C语言)的历年试题验证学习结果。也可以自己报名考试看看,以95分做目标。
④、进阶学习
4、C语言应用领域
是不是有些同学学完C语法后都不知道做什么项目。因为单纯学会C语法开发不了什么项目,你需要掌握C语言应用领域,然后学习周边相关知识。
相对于PHP、Java,C语言的开发效率较低,没有框架甚至没有库。数据结构要自己写,对操作系统底层要很熟悉,代码很容易出现内存相关的错误。
C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、路由器等网络设备的开发。
如果你想要会用C语言开发项目,就需要掌握相关领域知识。
5、方向选择
学完语法和了解C语言应用领域后,就要面临着选择。三个方向:①、选择从事C语言相关的工作;②、选择继续学习C++,C++主要应用领域游戏服务端开发、图形图像、C/S客户端界面开发、中间件;③、选择其它方向的学习,比如Java
6、深入学习基础课程
选择从事C/C++语言相关的工作,就需要深入学习基础课程。因为从事C++相关工作,往往对性能有要求,需要理解操作系统和计算机组成原理。
以下课程在从事C++相关工作是应该要掌握的:
《算法与数据结构》
《计算机组织与体系结构》
《编译原理》
《操作系统原理》
有能力的可以学习《Linux内核结构》
具体每个基础课程的学习就不展开了,以后谈。学习书籍建议,可以参考清华北大计算机系相关课程指定的教程,返回上一级,搜索数字 0001 查看北京大学和清华大学 计算机专业本科完整课程表。
7、学习领域相关的课程
这个就比较广泛,根据希望从事的领域有选择性的学习。比如,你想从事嵌入式开发,那你就要学习 嵌入式操作系统等。
8、项目实践
学完理论,找项目尝试练习。
哪里找项目呢?
①、找培训教程,别人培训班的实践题目或者看网上培训教程的实践题目
②、找高年级或老师帮忙布置实践题目
③、通过Google、GitHub等程序猿社区,去找找实践题目
找到题目后,看看自己一个人或者组织几个人能不能搞定。如果搞不定,再根据所缺的知识去补充知识。