第一章
计算机和数据的存储
第一节
了解计算机
很奇怪的一件事,现在的
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语言的必备基础知识" 本文概述了学习C语言的基础知识,包括计算机和数据存储、计算机组成部分、指令和数据、程序和编译、存储器分类、操作系统等重要概念。 首先,学习C语言需要了解计算机的组成部分,包括...
学习C语言的基础知识不仅仅是关于语法和编程技巧,更重要的是理解计算机的工作原理,因为C语言是直接与硬件交互的高级语言。以下将详细阐述C语言学习中的关键知识点。 首先,了解计算机的基本构造至关重要。计算机...
详细列举计算机二级C语言公共基础知识知识点,并且在后面附有模拟题。计算机二级考试必备资源~
C语言学习必备_基础知识点总结 C语言是计算机科学领域中的一种通用高级编程语言,自20世纪70年代以来,它一直是计算机科学和信息技术领域中的一种经典编程语言。学习C语言是计算机科学和信息技术领域中的一种必备...
C++与C语言高度兼容,C是学习C++的基础,通过熟悉C语言的语法,可以更轻松地理解和掌握C++的面向对象编程思想。 C源程序的结构: C语言源程序由预处理指令、函数定义等组成。预处理指令如`#include`用于包含头文件...
标题中的"tc20 学习c语言必备"暗示了这是一个关于使用TC(Turbo C)2.0版本学习C语言的资源集合。Turbo C是Borland公司推出的一款经典的C编译器,尤其在早期的个人计算机编程教育中非常流行。这个压缩包可能包含了...
总的来说,学习C语言需要掌握计算机的基础知识,包括计算机结构、内存管理、指令系统以及程序执行的概念。这些知识不仅是C语言学习的基石,也是理解和使用其他编程语言的关键。通过深入理解这些概念,程序员可以更...
C语言学习必备-基础知识点总结 C语言学习必备-基础知识点总结是指学习C语言的基础知识点的总结,涵盖了C语言的基本概念、变量、数据类型、运算符、控制结构、函数、数组等方面的知识点。 一、常量: * 在C语言中...
无论是对于C语言的基础知识,还是特定领域的深入学习,如函数查询和图形编程,这份合集都提供了丰富的素材。通过深入阅读这些教程和参考资料,学习者不仅可以掌握C语言的核心技术,还能学会如何利用函数库扩展功能,...
C语言作为经典的编程语言,其基础知识是学习计算机科学的基础,也是理解其他高级语言的关键。下面将详细阐述C语言的基础知识及其在考试中的重要性。 C语言是一种结构化编程语言,由贝尔实验室的Dennis Ritchie在...
它表明,无论你是刚接触编程的新手,还是希望复习C语言基础知识的人,这款软件都能提供有效的学习工具。 从标签"c语言"我们可以推断,这个压缩包的内容与C语言编程紧密相关,可能会包含C语言的教程、示例代码、练习...
ppt课件,c语言的基础知识,学习C入门的必备课件,内容详尽,配有简单的源程序。
这个名为“C语言基础知识及必备程序经典代码”的资料包,显然是为了帮助学习者深入理解C语言的核心概念并掌握实战技能。 首先,C语言的基础知识包括以下几个方面: 1. **数据类型**:C语言提供了多种基本数据类型...
这篇PPT学习教案主要涵盖了C语言的基础知识,包括数据结构、数制转换、整数的原码、反码和补码表示,以及C语言的词法单位。 首先,基础是非常关键的,正如《C语言程序设计》一书作者谭浩强所强调的,学习C语言需要...
这里提供的“C语言必备学习资源,珍藏很久”的压缩包,包含了四个重要的学习资料,它们分别是《C和指针》、《C指针详解(经典,非常详细)》、《c语言_谭浩强》和《C语言深度解剖》。接下来,我们将详细探讨这些资源中...
### C语言学习必备基础知识点总结 #### 一、常量 在C语言中,常量是指在程序执行过程中其值不会发生变化的量。常见的常量包括数字常量、字符常量、字符串常量等。 ##### 数字常量 1. **普通数字**:如`1`, `35`,...
总之,"C语言学习必备工具"不仅仅是指VC6.0这个软件,更涵盖了学习C语言所需的知识体系和实践环境。通过这个工具,配合合适的教材和实践项目,初学者可以系统地掌握C语言,并逐步成长为熟练的程序员。
在计算机编程领域,C语言是一种基础且至关重要的编程语言,尤其在国家计算机等级考试中,二级C语言的公共基础知识部分是每位考生必须掌握的核心内容。本资料“二级C语言公共基础知识考点精讲”旨在帮助考生深入理解...
"学习C语言必备大全(很好)"这个标题暗示了这是一个全面的资源集合,可以帮助初学者或进阶者深入理解C语言的各项概念和技术。 C语言的核心知识点包括: 1. **基本语法**:C语言的语法严谨,包括变量声明、数据...
这些代码示例涵盖了C语言的各个方面,从基础语法到高级应用都有所涉及,是学习C语言的重要参考资料。 C语言是一种广泛应用于计算机编程领域的编程语言,具有语法简单、执行效率高等优点,被广泛应用于操作系统、...