您的位置 首页 IC

学习C言语基本思路与参阅书本【强烈推荐】

计算机行业发展非常快,大学里的教育基本都跟不上实际的社会需求。如果你所在的学校还在指定大家使用谭浩强的教材,或使用VC6.0来教大家上机实验,那你不妨看看本文,这里有一些建议可以帮助你不会脱离社会

  计算机职业开展十分快,大学里的教育根本都跟不上实践的社会需求。假如你地点的校园还在指定我们运用谭浩强的教材,或运用VC6.0来教我们上机试验,那你无妨看看本文,这里有一些主张能够协助你不会脱离社会太远。

  考虑到这是一个过来人感觉很根底,可是关于初学者又觉得困难重重的问题,我想假如这篇文章要想写得不让你觉得专业名词扎堆,内容不可捉摸,读完仍是不知所云,那最好的方法或许是,我们经过交流的方法把整个「C言语应该怎样学」的问题由小及大的打开,慢慢来谈。

  在开端之前,我们先来做一个小测验。

  一、小测验,你准备好学习C言语了吗?

  1. 你是否听说过二进制数,他们是怎么进行运算的?(根本的数的进制常识)

  2. 你能说出一个最小的计算机体系由哪些部分构成吗?(根本的计算机结构常识)

  3. 计算机是怎么存储图画的? (数字化原理)

  上面这三个问题,能答复的同学举手。假如你举手了,那么我们进入下阶段的评论,不然,我将告知你,你现在最重要的作业,是赶忙找一本《计算机科学导论》把准备常识弥补好。

  由于——

  C言语说究竟是一门以内存为中心的编程言语,你能不能学懂它,其实很大程度上不是取决于你智商凹凸,而是你是否具有厚实的计算机结构、存储、运算原理方面的常识!!

  在这里,我想侧重,任何新常识的学习都是有必定的前提条件的。C言语学习的前提条件便是,对计算机体系要有一个全体的,科学的根底知道。脱离了这个根底知道,全部都很困难。

  所以,有些同学学不会C言语,不是由于他们智商不可,而是由于他们没有准备好。

  我花时刻写这篇文章来给我们讲C言语的学习,当然是期望我们真实的学会、学懂C言语,并能够真实感觉到它的用途,所以很抱愧我不会像训练组织那样,告知你“零根底”就能够开端学。但假如你真的依照我说的去做,那么至少从现在起,你的确是开端有点“学院派”的仔细了。

  在这篇文章的最终,我引荐了一本我从前读过的《计算机科学导论》。这本书能够说是我的启蒙书,我读过,诚心觉得好,所以引荐给需求的同学。

  好了,接下来我们进入C言语的学习进程。

  二、学C言语究竟学些什么—— 「语法」和「函数库」

  C言语学习的要害,是要先搞理解,学C言语究竟是在学些什么?

  我这么一问,有的同学就要翻开讲义,指着目录说,我知道我知道,有变量,数据类型,循环句子,函数,哦哦哦,还有指针等等!

  很惋惜,假如你以为学习C言语便是学习这些东西,那你得赶忙纠正一下观念,不然接下来的学习会困难重重。由于我从前便是这么掉到坑里的,这种狭窄的观念让我浪费了很多的时刻去学习琐碎的细节,又让我迟迟不能接触到更重要的常识,结果是眼高手低——知道许多他人不知道的无用常识,可是又写不出什么真实像样的程序来。

  所谓「语法」,便是入门教材里最侧重解说的内容。也便是那些所谓的变量、数据类型、分支判别、循环、函数、指针等等。

  这些内容比较单调,可是好音讯是这些内容并不难,都是一些格局化的东西。只需你多操练,就会主动的刻在你的脑子里,成为一种下意识的习气。

  可是 「语法」自身其实没什么用。由于它仅仅一种格局规范,你学得再好,也不能引导你写出凶猛的程序。由于在软件设计中,实践上最中心的部分仍是在于其 「函数库」部分。

  什么是 「函数库」?

  简略来说,函数库便是他人编写好的C函数,直接供给给你用,你只需调用里边的函数,就能完成必定的功用。例如 printf() 函数,你必定知道,只需调用这个函数,你就能够在那个黑乎乎的窗口里显现一段文字。你并不理解 printf() 的内部作业原理,可是你知道你只需依照阐明去调用,就能够完成对应的功用。

  这便是函数库——他人写好的,打包送到你面前,你能够自在调用来做各式各样的作业的函数调集。

  我来说几个来自函数库的函数,例如 CreateWindowEx() 函数能够用来创立一个窗体(这个函数由微软供给),例如 GaussianBlur() 函数能够用来对一个图画进行高斯含糊处理(这个函数由 OpenCV 供给),再比方 evhttp_new() 函数能够创立一个 HTTP 服务程序(这个函数由 libevent 供给)……

  其他还有什么库函数?太多了。从操控网络通信,到截取视频画面并剖析其间的人脸方位,到加解密本地文件,乃至包含微信收发音讯,抓取淘宝商品信息……库函数的数量和有用程度远远超乎我们的幻想。

  诶?你从来没听说过还有这些东西?讲义里也没说到?

  那是由于你看的是入门教材,侧重解说语法,顺带说到了少量的 C 言语自带的库函数罢了。事实上 C 言语包含的库函数自身就有不少,可是更多更强壮的仍是许多第三方库函数,例如我上面说到的这些。

  重点是在于,我想告知你,库函数才是你学习C言语并将其使用于实践的要害!!

  学会调用他人的库函数,乃至写出自己的库函数,都是极其重要的。由于一个函数,本质上便是一个功用单位。你具有的根底设施越多,你的发挥空间越大。道理便是这么简略。这便是我需求向我们侧重的第二个观念,要想写出有用的C程序,一大要害便是研讨并学会运用各种库函数。

  你看见近邻王二写了个三维程序能让一个五颜六色的立方体在空中旋转?快找 OpenGL 库函数来用。什么?刘大宝写了个网络软件能在局域网里谈天?快找 Socket 库来用。

  看见了吗?库函数有多重要?

  可是,函数库的学习并不是孤立的。许多库函数背面需求必定的范畴常识支撑。相同如我第一个观念所述,需求准备常识。学懂一个函数库,代表的不仅仅是理解怎么调用那么简略,而更反映了我们对一个特定范畴——网络、数字图画、密码学、操作体系等的知道。

  三、根本的学习进程与一般规则

  如我前面所述,C言语学习首要是以语法入门,然后到函数库。再详细一些来说,包含以下阶段:

  1. 学习根底语法

  2. 学习简略的少量几个C言语自带的函数

  3. 学习一些程序设计的根底常识(数据结构,算法)

  4. 学习更多更强壮的C言语自带的函数

  5. 学习一些特定使用范畴的根本理论常识(操作体系,数据库,网络,图画……)

  6. 使用上一阶段学习的到常识进一步学习其他人供给的函数库(网络处理、操作体系管理、图画、密码学等等)

  关于本科阶段的同学来说,侧重学好1-4,有挑选的学习一下5-6,做一些小著作出来,就现已十分十分不错了。这便是一般的学习规则。说得很简略,可是要做到真的很不容易。

  四、参阅书本

  首要第一本,也是我以为最重要的书,是这本《计算机科学导论》。能够说,这本书是对我人生影响最大的两本书之一。这本书通俗易懂,常识面广,但又具有必定的深度。真是由于读了这本书,才让我建立了对计算机科学合理的根本知道。在不触及太多的数学原理的情况下,这本书明晰的提醒了包含计算机的根本构成,CPU运算的原理,内存、硬盘、光盘是怎么存储数据的,编程的根本原理(机器言语、汇编言语,结构化编程言语,面向对象编程言语),以及网络、数据压缩等。

  说白了,便是一本科普书。可是是一本巨大的科普书。入门者的福音书。

  

阐明: http://pic1.zhimg.com/e12a7dfd9919f8411f43eeb4152f8610_b.jpg

 

  然后,第二本,便是关于C言语语法的书本了,说实话这部份我现已没有印象看的什么书了。由于我这个人有个缺点,便是喜爱东翻翻,西翻翻,哪里不明白就处处找书。可见这个部分其实没有我们幻想的那么固定,你只需找到一本自己看得懂的书,便是好书!不用太过于拘泥于书与书之间的好坏比较。

  最经典的C言语入门书本许多人必定要说是 K&R 的那本。可是其实这本书对大多数初学者来说仍是略难,假如有爱好也能够读一读。但我更主张你了解一些C言语之后再转过来看看会更好。

  柴田望洋的《明解C言语》最近是一本广受欢迎的亲热的C言语入门书。昨日我专门到书店翻了一下,这本书的确很不错,亲热,谦善,易懂。但我想也未必合适一切人。假如你是期望学习曲线陡峭一些的,能够考虑看看。

  

阐明: http://pic2.zhimg.com/a86f52cb9d043e1b38389c8e3510a971_b.jpg
啊,差点忘了,还有一本我们国内的赵岩先生写的《C言语点滴》也有不错的反应,或许我们也能够找来看看。 

  

阐明: http://pic2.zhimg.com/71415eb8211777be63311ebe5a23f269_b.jpg
        根本上,上面这些书就能协助你比较轻松的入门了。其他书本引荐,我会连续也写出来。今日真实写不了这么多了。

  可是,再弥补一本,假如关于那些现已学得差不多的同学,必须得看看下面这本,这是我的至爱之一啊!^_^ 那便是吊炸天的《C Standard Library》,china-pub链接:C规范库(C规范库“圣经”)

  好好看看这本书,它是真实的尖端教材,由于——里边包含了规范库完成的完好源码,以及作者在完成时的思路解说。是一本值得保藏的超级力作。让我们一睹尖端程序员的思想创作。(吐嘈:这本书的翻译仍是有一些值得批改的当地,所以能收英文版的同学就直接纳英文版了)

  

 

  这几本书其实并未包括C言语学习的一切重要方面。稍后我会再放上一些来。今日打字打到手疼,就不持续了。

  五、晋级——通向更高境地之路

  学无止境。更专业的学习至此其实才刚刚开端。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/116233.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部