上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 一个典型的CPU由运算器、控制器、寄存器等部件组成,部件之间靠内部总线连接。运算器进行信息处理,寄存器进行信息存储;控制器控制各部件进行工作,内部总线连接各部件以进行数据的传输。不同的CPU寄存器的个数和结构都是不尽相同的。2.1通用寄存器以8086为例,其内部所有寄存器都是16位的,即两个字节。其中AX、BX、CX、DX这4个通常存放一般性的数据,称为通用寄存器。AX的低8位(0~7位)构成一个8位寄存器AL,高8位(8~15位)构成一个8位寄存器AH,其他也类似。若:AX=8000H;对于指令add ax,8888H后ax的值是多少?8000H+8888H=10888H,但AX只能保存16 阅读全文
posted @ 2013-07-28 22:14 tsembrace 阅读(2232) 评论(0) 推荐(0) 编辑
摘要: *检测点1.1(1)1个CPU寻址能力为8KB,那么它的地址总线宽度为(13根)。(2)1KB的存储器有(1024)个存储单元,编号从(0)到(1023)。(3)1KB的存储器可以存储(8K)个bit,(1K)个Byte。(4)1GB、1MB、1KB分别是(2^30,2^20,2^10)Byte。(5)8080、8088、80286、80386地址总线分别为16根、20根、24根、32根,则它们寻址能力分别为:64KB、1MB、16MB、4GB。(6)8080、8088、8086、80286、80386数据总线宽度分别为8根、8根、16根、16根、32根,则它们一次可以传送的数据分别为:1B、 阅读全文
posted @ 2013-07-25 16:17 tsembrace 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 一、目标描述:1、建立一个通讯录,按姓名字母排序存储联系人信息。2、可显示菜单提供显示、新增、删除、修改等功能。3、显示:(1)显示联系人数量及全部联系人信息;(2)提供特定条件查询指定联系人信息。4、新增:逐步提示对应信息输入。5、删除:删除指定联系人信息。6、修改:提供特定条件修改指定单个联系人信息:先显示原先信息,再提供选项修改对应条目。7、通讯录信息保存在文件中。二、目标分析:1、项目需要排序、新增,则考虑使用二叉搜索树来建立数据堆模型。2、该模型须提供以下具体功能模块:(1)初始化(2)新增项目(3)删除(4)查询有无(5)修改3、信息要保存到文件中,每一次更新信息都要对应到文件中; 阅读全文
posted @ 2013-07-21 19:48 tsembrace 阅读(10599) 评论(0) 推荐(0) 编辑
摘要: 7、编写一个程序,能打开、读入一个文本文件并统计文件中每个单词出现的次数。用改进的二叉搜索树存储单词及其出现的次数。程序读入文件后,会提供一个有三个选项的菜单。第一个选项为列出所有单词连同其出现的次数。第二个选项为让您输入一个单词,程序报告该单词在文件中出现的次数。第三个选项为退出。断断续续编写代码、测试,花了差不多两天时间,总算告成。*建立该问题的二叉树节点模型//BST Model--START------------------typedef struct node{ char word[15]; int times; //出现的次数 struct nod... 阅读全文
posted @ 2013-07-17 12:58 tsembrace 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 1、修改程序清单17.2,使其既能以郑旭又能以逆序显示电影列表。一种方法是修改链表定义使其可以双向遍历;另一种用递归//双向链表#include#include#include#define TSIZE 45struct film{ char title[TSIZE]; int rating; struct film *prev; struct film *next;};int main(void){ struct film *head=NULL; struct film *temp,*current; char input[TSIZE]; puts("Ent... 阅读全文
posted @ 2013-07-17 12:48 tsembrace 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 1、定义一个数据类型包含什么?包含数据本身的定义及其操作的定义。2、为什么程序清单17.2中的链表只能沿一个方向遍历?怎样修改struct film的定义才能双向遍历链表?每个节点只记录了下一个节点的地址。strcut film{ char title[TSIZE]; int rating; struct film *previous; //指向前序节点 struct film *next;}3、什么是ADT?抽象数据模型,用户自定义的数据类型,包括数据的存储、组合方式以及可实现的操作。4、QueueIsEmpty()函数以一个指向队列的指针为参数,但它本可以编写成接受一个queue结... 阅读全文
posted @ 2013-07-15 19:31 tsembrace 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 第十七章 高级数据表示四、二叉搜索树先梳理一下链表和数组方式对几种操作的利弊特点:a.访问:链表形式,必须从首节点开始找起,直到要访问的节点为止,这个称为顺序访问。而数组方式则方便的多,可直接定位到某个元素,这称为随机访问。b.插入/删除:对于链表形式,插入或删除操作仅需要修改前续和后续节点就可以完成;而数组方式需修改被增加或删除元素后面所有的元素。c.查找/搜索:其实也是一种访问形式。一般情况,对于顺序排列的“数据堆”,可以通过"折半查找法”非常效率的进行查找。可折半查找,首先得定位到中间的元素,对数组而言,因为有下标,很容易定位;而对于链表定位中间元素,首先要知道数据堆里总共有多 阅读全文
posted @ 2013-07-12 20:59 tsembrace 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 第十七章 高级数据表示 三、队列ADT 前面通过一个单链表形式来构建一个数据堆,单链表是通过在结点中设置一个指向下一节点的指针成员来实现组合。对于队列形式,有几个特点:1、依然是线性序列;2、只能在队尾部增加节点;3、只能在队首部删除节点。 1、队列ADT的定义描述 2、队列ADT的操作描述及实现 阅读全文
posted @ 2013-07-12 16:09 tsembrace 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 第十七章 高级数据表示(一)一、抽象数据类型抽象数据类型(abstract data type:ADT)是指由用户依据实际需求所创建的某种数据类型,它可以是C语言中的任何数据类型,甚至是基本类型,或数组,复杂的就会用到结构。为何说是抽象?是因为ADT并不会是固定某种数据类型,而是依据实际应用需求中提炼出来的某种数据类型的表达方式。那么,如何定义一种ADT呢?在C语言里,定义一种数据类型,包括两方面:一方面是数据存储方式的描述(对取值的限定),另外一方面是对该类型的可使用的操作的定义。比如:定义一个int型数据a,则表示a取值范围是-32768~32767中的整数;同时a可以使用所有对整型数据的 阅读全文
posted @ 2013-07-12 12:51 tsembrace 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 1、编写一个程序。请求用户键入日、月和年。月份可以是月份号,月份名或月份缩写。然后程序返回一年中到给定日期的总天数。(1)只考虑月份的数字输入:#include#includevoid eatline();int count_days(struct date p);struct date{ int day; int month; char year[4];};int main(void){ struct date yourday; int days; printf("please input yourday's date:\n"); scanf("%d&q 阅读全文
posted @ 2013-07-03 20:21 tsembrace 阅读(1812) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页