C/C++ 语法教程(0)——开始之前
Contents
在系列开始之前
为什么会写这个教程
其实写这个第 $0$ 章的时候,后面的教程基本已经完成了。
所以这个第 $0$ 章有点像是命运石之门·零的感觉。
最开始这个只是写给我们班内部看看就好的,因为当时看了下电子系课程的一些课件、教材,感觉没有点明其中的重难点。
当初一个调查问卷的结果显示,有些同学处在根本不知道为什么要这么写的情况下被灌输了大量知识的状态。
所以这个教程的第一目的就是为了让大家搞清楚哪些是必要的,哪些是用的比较少的,甚至于一些写法为什么要规定成那样。
后来我也希望通过同学们看这个系列的教程并完成一定练习就可以达到至少是程序设计基础的课程要求。
当然我本人更希望大家可以从中发现写程序和程序性思维的一些乐趣。
一些前置知识
两大组成
计算机系统首先是分为硬件系统和软件系统两大方面。
硬件系统简单来说就是一台计算机的配置,像是 cpu、内存、存储设备等,以及各种输入输出设备,像是鼠标、显示器、键盘。
软件系统理论上是由系统软件、支撑软件和应用软件组成,当然了解这么多也没啥用,反正基本上你安装的各种软件、你写的各种程序基本都算在这个范畴。
存储程序原理
这个就是我们伟大的冯·诺依曼提出的利用计算机存储数据的一个基本原理。
其中主要需要知道几个基本思想:
- 采用二进制形式表示数据和指令。
- 程序和数据事先都是存储在主存储器中,计算机工作时按顺序从存储器中取出顺序执行。
另外五大基本部件我觉得倒是不那么关键。
这里主要是需要抛弃平常思维,记住计算机只看得懂二进制。
以及所有的数据(包括程序本身)是需要存储的,也就是需要被分配一定的存储位置和空间,这个也是理解指针的基础。
怎么学习——如何食用本教程
首先要知道一个事情,学习程序设计,并不是像其他一些课程看看书,或者听听讲,或者看看教程就能学好的。
用我们老师的话说就是,这门课的最终目的是希望你能会写程序,会写好程序。
无论是哪种考查形式,最终目的都是为了检验这个能力,当然一些不合理的学习模式我们就不讨论了,也没办法改变。
所以切记,在食用本教程时,千万要自己找点题目或者写点程序验证所学知识。
至于练习来源,可以是教程之后配套的不靠谱习题,或者自己找的作业,当然我个人觉得还可以配合数算教程套餐食用,毕竟没有数据结构和算法怎么称得上一个程序嘛。(当然目前那个套餐还处在咕咕咕以及入门难等一系列困境中难以自拔)
学完这个系列能获得什么
说实话,光是这个语法教程,以及 C++ 这个语言,你可能真的干不了什么大事。(所以我一直不懂很多工科就学个程设想干啥)
当然,首先你收获的是程序性思维,前提是你真的好好学了。这应该是极大的收获,我个人感觉至少在可以理性分析的事情上,它还是能帮助你减少很多麻烦的。
然后,你可能会获得对于某些程序相关方向继续学习的动力,或许是因为你真的来了兴致,当然也可能是类似于看番不看到完结就很不爽的感觉希望学到透(当然这有点难)。
除此之外,emmm,可能没了?
所以也不要对此(仅仅此系列)抱有太大的期望就是了。
后续的选择
理论上,我计划最近一段时间(一年?)边学边写一点 oop(面向对象编程)、python 语法与使用案例、PHP 等网页语言、数据结构与算法的相关教程,大概也就数算教程算是有那么几篇了,其他的还是咕咕咕现在(我肯定是被某猫传染的)。所以如果你学的不快的话,说不定可以做到无缝衔接。(然而你还是低估了我的咕咕咕程度)
关于教程内容
因为我极有可能在之后不知道什么鬼时间发现,自己前面写的什么鬼玩意,然后拉回去回炉重造,所以指不定什么时候,你发现前后两天看的完全是两个玩意,这实在太正常了。
除此之外,毕竟几乎全程手打,里面出点错简直更正常了,希望各位阅读时如果发现错误,及时评论指出,虽然我不一定能及时更正,但应该还是会更正的。
在完成这些内容的阅读之后,就可以开始这个系列的阅读学习辣!
No Comments