第〇章 C语言预备知识
欢迎打开C语言的大门!在这里,需要你像数学家一样思考,掌握对问题建模使其易于处理的思维方式,从而实现“只有想不到,没有做不到”的境界。
本文内容来自C语言入门书籍、大学课程及笔者自己感悟所得,若有不足请指出。
0.1 进制
0.1.1 常见的进制及表示
十进制:0~9 逢十进一 D/d 如:123D=123d
二进制:0~1 逢二进一 B/b 如:11001B=11001b
八进制:0~7 逢八进一 O/o、Q/q 如:456O=456o=456Q=456q
十六进制:0~9、A~F 逢十六进一 H/h 如:5AH=5Ah
0.1.2 非十进制转为十进制(按权展开)
把二进制数(或八进制数、十六进制数)写成2(或8、16)的各次幂之和的形式,然后按十进制计算结果。
0.1.3 十进制转为非十进制
整数作除法,取余倒排序;小数做乘法,取整正排序。
0.2 ASCII码:美国信息交换标准码
计算机中常用的基本字符包括十进制数字符号0~9,大小写英文字母A~Z,a~z,各种运算符号、标点符号以及一些控制符,总数不超过128个,只需要7位二进制就能组合出128(27)种不同的状态。在计算机中它们都被转换成能被计算机识别的二进制编码形式,这样计算机就可以用不同的二进制数来存储英文文字以及常用符号了,这个方案名称叫做ASCII(American Standard Code for Information Interchange)编码,于1967年定案。
①字符在计算机内部的表示。
②采用7位二进制进行编码。
③0000000B~1111111B 0~127共128个编码。
④8位ASCII码分为标准与扩展,各128个;扩展ASCII码用来表示框线、音标和其它欧洲非英语系的字母。
0.3 计算机发展历史
(1)帕斯卡与帕斯卡机——第一台机械计算机
Blaise Pascal(1623-1622)1642年研制成功一种齿轮式计算机器。
帕斯卡研究了机器运转的各种传动机构,他根据数的进位制(10进制)想到了采用齿轮来表示各个数位上的数,采用一组水平齿轮和一组垂直齿轮相互啮合转动,解决计算和自动进位,组成了一台计算机。帕斯卡发明的钟表式齿轮计算机是机械式计算机的初级阶段。
帕斯卡机的意义在于告诉人们“用纯机械装置可代替人的思维和记忆”,开启了自动计算的道路。
以下为帕斯卡机图片:
(2)1834年:巴贝奇(Charles Babbage)分析机——可执行程序的机器。
(3)1805年:杰卡德(J.Jacquard)打孔卡——解决了输入手段问题。
(4)1854年:布尔代数——为数字计算机的电路设计提供了理论基础。
2.图灵机模型——电子计算机的设计模型
艾伦·图灵(Alan Turing):现代计算机的理论奠基者。
1936年,图灵的论文《论可计算数及其在判定问题中的应用》从理论上介绍了机器模型——现代电子计算机理论和模型基础。
以下为图灵机模型:
3.冯·诺依曼思想——电子计算机的设计理论
. 冯·诺依曼(J.VonNeumann):美籍匈牙利数学家,电子计算机之父。
1945年冯·诺依曼在《电子计算机逻辑结构初探》奠定存储逻辑式计算机的理论基础,后参与研制世界上第一台通用电子计算机ENIAC。
4.现代计算机的发展发展阶段
(1)第一代:电子管计算机(1946-1957年)
逻辑元件为电子管,运算速度在几千至几万次每秒。体积庞大、耗电惊人、速度低、寿命短。主要应用在科学计算领域,代表产品有EDVAC。
(2)第二代:晶体管计算机(1959-1964年)
逻辑元件为晶体管,运算速度在几十万次每秒。体积较大、耗电较大、速度较高。主要应用在科学计算、数据处理领域,代表产品有IBM 7090、CDC 7600。
(3)第三代:集成电路计算机(1965-1970年)
逻辑元件为集成电路,运算速度在几百万次每秒。体积较小、耗电较小、速度高。主要应用在科学计算、数据处理、事务管理、工业控制领域,代表产品有IBM 360。
(4)第四代:(超)大规模集成电路计算机(1971至今)
逻辑元件为(超)大规模集成电路,运算速度在几千万次每秒。体积小、耗电小、速度高。广泛应用在各个领域,代表产品有CARY-1、IBM-PC、Pentium CPU。
5.未来发展——脱离冯·诺依曼体系的计算机
0.4 数据的存储
0.4.1 计算机系统的组成
下图为计算机系统的组成图:
下图为计算机硬件系统的组成及其间数据的传输:
CPU只和内存实现数据传输原因:内存传输速度快,外存慢,如果外存直接和CPU连接则浪费CPU资源。
0.4.2计算机的内部存储器
1.元件:半导体存储器
2.分类:
(1)随机存取存储器(RAM:Random Access Memory)
RAM信息可读可写,断电后内容立即消失。进一步划分可分为静态随机存取存储器(SRAM:Static RAM)和动态随机存取存储器(DRAM:Dynamic RAM)。
(2)只读存储器(ROM:Read Only Memory)
ROM信息只能读,不能写入和修改,断电后不丢失。ROM用来存放专用固定的程序、数据和系统配置软件(如磁盘引导程序、自检程序、驱动程序等)
(3)下图为计算机内存条图案:
3.存储设备的存储容量的基本单位:字节B(Byte)
(1)下图为字节在内存地址中的表示:
(2)存储单位转换:
1B=8bit
1KB=210B=1024B
1MB=210KB
1GB=210MB
1TB=210GB