学习C语言的必备基础知识 - 笔记 - 徐名峰 - CSDN学生大本营 - Powered...

来源:百度文库 编辑:神马文学网 时间:2024/04/28 15:01:33

这个是我自编的C语言教材的第一章,主要分两个部分,一个是计算机组成及工作原理,一个是信息的数字化.有什么不足的,大家可以补充,也可以提些建议.

 

第一章计算机和数据的存储    第一节 了解计算机很奇怪的一件事,现在的C语言教材,一上来就是变量,表达式,一点也不提计算机原理方面的事,把C语言当作语言,数学来学,只是生硬的列出一些语法规则,学生们难以理解,只好死记硬背,没有把握住本质的东西,也就无法随心所欲,其实C语言是一门非常好学的语言,核心的语法规则是非常少的,而且都是和计算机息息相关,所以必须要学习好计算机的一些基础,掌握好计算机的基础知识对学习C语言至关重要,对将来其它语言的编程都极其有益,C语言还有一个优点,就是写法非常简洁明了,和c++,java,C#,javascript等语言有着非常相似的书写方式,所以学好C语言,可以轻松的过渡到大量其它编程语言。讲完C以后,将陆续推出java ,C#,C++,javascript,ruby,python等,不过都是在此教程的基础之上进行,所以C语言乃基础之基础,想要学编程,强烈建议从C语言开始。下面开始了解计算机。按照冯诺依曼的理论,计算机含有5个部分,运算器、控制器、存储器、输入和输出设备。现在我们通常把运算器、控制器和在一起,称为CPU(中央处理器),存储器就是我们说的内存和硬盘,输入设备就是鼠标,键盘等,输出设备主要是显示器、打印机、绘图仪等。其中CPU内存最关键,CPU是执行指令的部件,内存是一些连续的存储单元,用来存储指令和数据,每个单元可以存8位二进制数,也称为1个字节,计算机里存储器都是以字节为单位的,在描述网络速度的时候通常以位为单位,大家注意区别。CPU要执行的指令就存在内存里,CPU按照指定顺序连续地执行内存中的指令,这就是冯诺依曼体系的基本工作原理。什么是指令,就是一些二进制的数,比如10010001是一条加法指令,10011011是一条存储指令,CPU遇见不同的指令就会完成不同的操作,CPU能够执行的指令是生产厂家生产时就设计好的,比如8086基本指令有70条,那么CPU就只认识这70条指令,CPU在不断升级,除了运行速度加快还会增加一些新的指令,CPU的指令分三大类:传送,计算,跳转,其实我们的编程语言也就能完成这些功能。其中传送主要是管理存储器,管理数据如何存储,是最重要的,计算比较简单,主要是数学计算,跳转让计算机有了智能。什么是数据,数据可以是要计算的数字,也可以是一篇文章,一幅画,一首歌,这些东西必须先存到内存里,才能让CPU传送到显卡,声卡,我们才能听见看见。在内存里指令和数据是分开存放的,我们在编写程序时用到的内存通常是指存储数据用的数据区,在一条指令里,往往也分操作码和操作数,操作数也是一种数据,只不过它是指令的一部分,存储在指令区,这种数据称为操作数,以后也会用到。什么是程序,程序就是由一批指令和数据组合在一起构成的二进制数据集。但如果要用二进制来写程序,那估计肯定有人骂街了,我们通常用能看懂的字母和阿拉伯数字来写程序,第一种被发明的编程语言叫汇编语言,它给每个二进制指令都给起了一个英文名字,叫做助记码,我们用助记码写起程序来要好看多了,但是CPU是看不懂的,我们必须把它重新翻译回二进制的才行,我们管这个叫编译,这个工作起初是手工完成的,后来有人发明了软件可以自动翻译,就出现了编译器,用汇编语言写程序比起用二进制进步了一大步,可效率还是很低,于是新的语言--高级语言出现了,据说是先有了A语言,又有了B语言,最后出现了C语言,由于其优秀的品质,PK掉了同时代的众多语言,直到现在还广为流传。有些人还有些迷惑,三大件之一的硬盘怎么还没出场,其实已经出场了,我们写好的源程序都要存储到硬盘上,编译好的可执行程序也要存储到硬盘上,内存是RAM,掉电就内容没有了,与之对应的是ROM,永久保存,存储器还有另一种分类方法:随机存储和线性存储,随机存储就是我们在访问的时候没有搜索的过程,只要说出地址,立即访问,线性存储有一个查找的过程,告诉哪个柱面,扇区,磁道,通过电机旋转找到后才能访问数据,CPU只能访问随机存储器,所以内存必须是随机存储器,光盘,硬盘都属于线性存储,只能用来做外部存储器,现在比较流行的闪盘属于随机存储器,可它还是ROM,既可以当内存,也可以当外存。硬盘上保存的有一个非常重要的程序,叫做操作系统,其实,操作系统是由众多的程序文件和数据文件组成的,没有操作系统我们是很难与电脑沟通的,操作系统负责管理整个内存,把系统需要执行的程序加载到内存里并执行,这就是机器启动的过程,用鼠标双击一个可执行程序,操作系统就会到硬盘将其取出,加载到内存,这就是程序加载过程,我们上边说的程序就是这样被加载到内存中,才能由CPU来执行,除了管理内存,操作系统还监视着每个程序的执行情况,出现异常情况结束程序,如果内存不够了,操作系统会先把一部分内存里的东西搬到硬盘上,等用的时候再搬回来,硬盘上的这块地方被称为虚拟内存,使用虚拟内存来回移动数据本来就浪费时间,再加上硬盘的读取速度较慢,所以就机器就显得很慢,加大物理内存,少使用虚拟内存对计算机的性能有很大的提高。除此之外,操作系统的另一项重要功能就是硬盘上文件的管理,不同的操作系统对硬盘进行管理的方式都不一样,这个管理方式叫做文件系统,按道理说一台Linux的机器,挂了一块Windows系统下使用的硬盘,是无法对它进行读取,但是已经有人开发了Linux下访问Windows文件系统的软件,因此可以识别,并进行读取,但是反过来就不行了,除非有人开发了相应的软件才可以。 总结:1.      计算机的核心部件:CPU和内存2.      CPU执行指令,内存中存储二进制的指令和数据3.      可执行程序由指令和数据构成,写程序时使用高级语言,经过编译,连接后生成可执行的程序。4.线性存储与随机存储,ROM和RAM,硬盘,操作系统
学习C语言的必备基础知识 - 笔记 - 徐名峰 - CSDN学生大本营 - Powered... 如何有效地记忆与学习 - 笔记 - 编程之美 - CSDN学生大本营 - Powered ... 关于程序控制逻辑的讨论 - 笔记 - 肖舸 - CSDN学生大本营 - Powered b... 当“友元”遇到“虚函数” - 笔记 - 南郁 - CSDN学生大本营 - Powered ... 设计,是一种态度 - 笔记 - 斌斌 - CSDN学生大本营 - Powered by U... 学习编程需要什么英语基础? - 笔记 - 南郁 - CSDN学生大本营 C语言学习笔记 职场随笔-走好那段路! - 笔记 - 李天平 - CSDN学生大本营 - Powered by UCenter Home [转]VC _T的用途 - 笔记 - summer - CSDN学生大本营 - Power... 6.3.4 使用MFC::CArchive - 笔记 - 白乔 - CSDN学生大本营 -... C语言学习笔记(链接) C语言宏的学习: - henry19850318的专栏 - CSDN博客 C语言宏的学习: - henry19850318的专栏 - CSDN博客 就要离开人人网的工作了,总结来北京的这两年! - 笔记 - 迟宏泽 - CSDN学生大本营... 我还会再回来的——计算机达人成长之路(19) - 笔记 - 朱云翔 - CSDN学生大本营... 探讨C 中对象的“浅拷贝”与“深拷贝” - Chris_Magic的学习笔记 - CSDN博客 jiushi世情熟,则人情易流; 世情疏,则交情易阻。 - 笔记 - 潘勇 - CSDN学生大本营 C语言字符串函数大全 - amossavez的专栏 - CSDN博客 Spring事务管理 - Java - 课堂 - 话题 - 迟宏泽 - CSDN学生大本营... PE学习笔记 - winer632的专栏 - CSDN博客 单片机C语言学习 单片机C语言学习 C语言学习要点 C语言 学习随笔