好啦,接着让我们进到c语言的學習过程。

好,那我们就进入c语言的学习过程。

二、学c语言到底学了什么——“语法”和“函数库”

c语言学习的核心是先搞清楚什么是学习c语言?

当我问这个问题时,有的同学会打开课本,指着目录说,我知道我知道,里面有变量c语言程序设计上机指导与习题选解答案,数据类型,循环语句,函数,哦哦哦,还有指针等等!

不幸的是,如果你认为学习c语言就是在学习这些东西,那么你必须立即纠正你的观点,否则接下来的学习会很困难。因为过去就是这样掉进坑里的,这种狭隘的思维让我浪费了很多时间去学习琐碎的细节,也让我接触不到更重要的专业知识。- 知道很多别人不知道的无用专业知识,但写不出真正像样的软件程序。

说白了,“语法”是新手入门教材的主要内容。也就是那些所谓的变量、数据类型、分支判断、循环、函数、指针等等。

内容枯燥乏味,但好消息是它并不难,都是格式化的东西。如果你多练习,它会自动铭刻在你的脑海中,成为一种无意识的习惯。

但是“语法”本身并没有真正的用处。因为它是一种格式规范,不管你学得多好,它都不能正确地指导你写出优秀的软件程序。因为在编程设计中,其实最关键的部分就是它的“函数库”部分。

什么是“函数库”?

简单来说,函数库就是别人写的C函数,直接提供给你。只需要调用里面的函数就可以实现某个功能。比如 printf() 函数,你必须知道c语言程序设计上机指导与习题选解答案,只要调用这个函数,你就可以在那个黑暗的窗口中显示一段文字。你不了解printf()的内部工作原理,但是你知道只要按照说明调用就可以实现相应的函数。

这就是函数库——别人写的函数的集合,封装在你面前,你可以自由调用来做各种事情。

先提几个函数库中的函数,比如 CreateWindowEx() 函数可以用来创建表单(这个函数是微软提供的),比如 GaussianBlur() 函数可以用来对图像进行高斯模糊(这个函数由OpenCV提供),另一个例子是创建HTTP服务程序的e链接功能(该功能由libevent提供)…

学习从来都不是一个人的事情。有必要有一个互相监督的伙伴。因工作需要学习C/C++或以进入或转行为目的而学习C/C++的小伙伴可以私信小编“学习”领取全套免费C/C++学习资料、视频

还有哪些其他库函数?太多了。从控制网络通信,到截取视频图像并分析其中的人脸位置,再到加密和解密本地文件,甚至包括在微信上发送和接收消息,以及捕获淘宝产品信息……图书馆功能的数量和有用性都是远远超出所有人的想象。.

诶?你从来没有听说过这些事情吗?课本上没有提到?

那是因为您正在阅读一本介绍性教科书,专注于语法,并提到了 C 语言附带的一些库函数。事实上,C语言包含了很多库函数,但是还有很多更强大的第三方库函数,比如我上面提到的那些。

重点是,我想告诉你,库函数是学习 C 并付诸实践的关键!!

学会调用别人的库函数,甚至编写自己的库函数,都是极其重要的。因为函数本质上是一个功能单元。您拥有的基础设施越多,您可以玩的空间就越大。事实就是这么简单。这是我需要向你强调的第二点。编写一个实用的C程序,其中一个关键是学习和学习使用各种库函数。

你看到隔壁的王二写了一个3D程序让一个彩色立方体在空中旋转吗?快速找到要使用的 OpenGL 库函数。什么?刘大宝写了一个可以在局域网内聊天的网络软件?快速找到要使用的 Socket 库。

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

然而,图书馆学习并不是孤立的。许多库函数背后需要一定的领域知识。同样正如我在第一点中提到的,需要预先了解。学会理解一个函数库,不仅意味着知道如何调用它,还反映了我们对特定领域——网络、数字图像、密码学、操作系统等的理解。

三、基本学习过程和一般规则

图片[1]-好啦,接着让我们进到c语言的學習过程。-老王博客

前面说过,C语言学习主要是语法介绍,然后是函数库。更具体地说,它包括以下阶段:

学习基本语法 学习C语言自带的几个简单函数 学习一些编程基础知识(数据结构、算法) 学习C语言自带的越来越强大的函数 学习特定应用领域(操作系统、数据库)的一些基础理论知识, network, image…) 应用上一阶段学到的知识,进一步研究别人提供的函数库(网络处理,操作系统管理,图像,密码学等)

对于本科生来说,专注于学好1-4,选择性地学习5-6,做一些小作品,是非常非常好的。这是学习的一般规律。很短,但是做起来真的不容易。

四、书籍推荐

基础知识(C 语言简介、初学者、编程基础知识)

1. C 编程:现代方法,第 2 版,KNKing

2. Understanding Computer Systems in Depth (Revised or 2nd Edition)(Computer Systems: A Programmer’s Perspective, Randal E. Bryant et al),推荐阅读

3. C 编程语言,第 2 版(C 编程语言,Brian W. Kernighan 和 Dennis M. Ritchie)

4. 务实的程序员:从熟手到大师,Andy Hunt 和 Dave Thomas

内核/驱动程序

1. 《Linux 内核设计与实现》(第 3 版)(Linux 内核开发,第 3 版,Robert Love)

2. Linux 设备驱动程序,第 3 版(Linux 设备驱动程序,第 3 版,Jonathan Corbet 等人)

3. 《专业 Linux 内核架构》(专业 Linux 内核架构,Wolfgang Mauerer)

应用

1. UNIX 环境中的高级编程,W. Richard Stevens

2. Unix 网络编程,W. Richard Stevens

先进的

1. C 陷阱和陷阱,Andrew Koenig

2. Peter van der Linden 的专家 C 编程

3. ARM 系统开发人员指南:设计和优化系统软件,Andrew Sloss 等人

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论