栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C Primer Plus 第一章

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C Primer Plus 第一章

        一、C语言特点

        1)设计特性

        C语言融合了计算机科学理论与实践的控制特性。C语言的设计理念让用户能够轻松地完成自顶向下的规划,结构化编程和模块化设计。因此,C程序更易懂,更可靠。

        2)高效性

        C语言在设计上充分利用了计算机的优势。C程序相对更紧凑,运行速度很快。C语言具有微调控能力,可以根据需求微调程序以获得最大的运行速度或最有效地使用内存。

        3)可移植性

        C语言是可移植的。这意味着在一种系统中编写的C程序,稍作修改或不做修改就能在其它系统中运行。

        主要得益于C语言有着诸多针对不同系统的编译器。

        4)功能强大而灵活

        适用范围管阔,几乎可以被用于任何领域

        5)面向程序员

        C语言是为了满足程序员的需求而设计的,拥有丰富的运算符和数据类型,让程序员能够简洁地表达自己的意图。

        大多C实现都有一个大型的库,包含众多有用的C函数。

        二、计算机结构简述

        几乎所有的现代计算机都具有【冯诺依曼结构】,主要包含五个部分:

        1)运算器

        2)控制器

        3)存储器

        4)输入设备

        5)输出设备

        其中,运算器和控制器就是CPU(中央处理单元,Central Processing Unit)的组成部分。所以,在计算机中,CPU承担绝大部分运算工作。

        存储器可分为RAM、ROM和永久内存存储设备

        1)RAM:随机存取内存,可以高速读写数据,但断电后,其存储的内容会全部丢失

        2)ROM:只读存储内存,只能读出,不能写入

        3)永久内存存储设备:磁盘(机械硬盘),闪存(固态硬盘)

        三、CPU工作原理简述

        控制器模型

        1)指令寄存器IR(Instruction Register):存储正在执行或即将执行的指令

        2)程序计数器PC(Program Counter):存放下一条指令的地址,具有自动增量计数的功能

        3)存储器地址寄存器MAR(Memory Address Register):在访问内存时存放内存单元的地址

        4)存储器数据寄存器MDR(Memory Data Register):访问内存时,存分对内存写入或从内存读出的数据

        5)控制电路:产生控制信号,控制计算机的各个部件的动作

        6)指令译码器:对IR中存放的指令进行译码,以确定指令的内容

        运算器模型

        1)核心部件ALU:算术逻辑单元,用于完成算术运算和逻辑运算

        2)通用寄存器:一般含有n个,用于临时存放数据。一个通用寄存器中的数据可能来自内存,也可能来自其它通用寄存器,或者来自ALU的输出

        3)ALU的输入寄存器:一般有两个寄存器作为ALU的输入

        4)ALU的输出寄存器:用于接收ALU的运算结果

        5)Flag:也是一个寄存器,用于存放状态值(0、正负、进位、溢出等)

        CPU执行指令的步骤

        取指——译码——执行——回写

        1)取指:PC存储下一条指令的地址,并将此地址通过MAR送给存储器,在控制电路的操控下,存储器读取接收到的地址,并将地址用对应数据通过MDR送给IR。最后,PC中的指令地址自动更新

        2)译码:IR中的指令被送入译码器

        3)执行:明确指令内容后,执行指令

        4)回写:将执行结果写入通用寄存器或内存

        四、编译器

        编译器是一种将高级语言编写的程序翻译成机器语言指令集的程序

        使用合适的编译器或编译器集,就可以把一种高级语言程序转换成供不同类型CPU使用的机器语言程序

        五、编程机制

        C程序的编译过程:源文件——目标代码文件——可执行文件

        1)源文件:以.c结尾的存储C代码的文本文件

        2)目标代码文件:通过编译器将源文件的内容翻译成二进制指令,就形成了目标代码文件

        3)可执行文件:目标代码文件中只包含由源文件翻译的内容,还缺少启动代码和库函数。通过链接器将启动代码、库代码和目标代码合并到一起,形成可执行文件

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/296999.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号