C语言学习的碎碎念

C语言学习的碎碎念

Coladuck

When learning C, what am I learning?

Don’t read only, use it

当初学C语言的时候,最为重要的是

一开始很多代码的真正意思,初学是不懂的,但至少要熟悉,怎么熟悉?

无论是照着别人的代码抄,还是自己尝试重构复现,都算是写,这个过程能让你去思考,就算想不出所以然,也可以在这个过程中锻炼打字速度(笑)

How to run it?

I Don’t give a fuck, just run it in a way whatever you like
这个随你,因为每个人的基础和需求不同。

下面用我自己的亲身经历来现身说法:

Case 0:高中纯小白的我
照着教程下载VS,结果被庞大笨重的IDE留下的阴影,转去用VSCode学了点python

Case 1:刚上大学的我,只接触过Windows下的VSC+python
那时的我用的就是Windows下的VSCode + MinGW,实话讲,用来练习语法足够了

(足够应付学校难度较低且水到要死的C语言课程,

真的只教语法,其他什么的一点也没讲,C语言的灵魂指针也一点没讲)

Case 2:看了一个学期的《C Prime Plus》并且学的还行,然后开始用Linux的我
在花了近半个月熟悉Linux的基本操作,并且熟悉C语法的基础上,用Bash的vim + gcc + gdb写C语言和编译调试。

相比起在Windows照着教程还可能出错的体验,Ubuntu下输入

1
$ sudo apt-get install gcc vim

然后就能开写的体验真的很爽(前提时忽略像婴儿学步一样痛苦的Linux系统的学习过程)

还有Makefile这些高端操作,只能说C语言的最佳的学习体验必须要在Linux下才能获得

what to learn?

铺垫了这么多,终于开始点题了:学习C语言到底是在学什么?

从底层上来讲:

  • 编程思维(一开始计算机被发明出来的用途)
  • 工程思维(尤其时以后面对别人留下的屎上)
  • 系统思维(优雅的”包装“概念)
  • 全面的思考方式(在测试和debug的时候尤为重要)

从计算机这门学科上来讲:

  • 计算机的构造(你直接要操纵硬件,特别是内存)
  • 计算机的运行原理
  • 操作系统(Windows和Linux都很大一部分都是C语言写的)

如果把计算机的世界比作魔法世界,那么C语言就是对魔力最细微、最基础、最具体的使用,一切诸如操作系统、计算机网络、数据库、图形学等等高级法术,追根溯源都是C语言。

换言之,学习C语言,才是开始从0学习计算机

一些推荐

yue!傻逼二次元!滚啊!

Cute C

Cute ICON: VTuberized Logos (vtuber-style-logos.vercel.app)

Author of it: SAWARATSUKI (SAWARATSUKI) (github.com)

  • Title: C语言学习的碎碎念
  • Author: Coladuck
  • Created at : 2024-09-08 16:28:19
  • Updated at : 2024-09-08 22:15:35
  • Link: https://blog.coladuck.top/2024/09/08/C-笔记-1/
  • License: This work is licensed under CC BY-NC-SA 4.0.