![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
tsembrace
这个作者很懒,什么都没留下…
展开
-
Java语言程序设计--基础篇(第八版)第一章概述
1、冲着Java的跨平台,一次编译,处处运行而来,可了解后才发现,还不是我理解的那样,平台得有JVM才能运行java程序。那我想着给某人做的小应用,还非得让他安个JVM?2、Java的编译,貌似跟C/C++都不一样,人家编译直接就是机器码了,而Java编译后是生成一个名叫“字节码”的东西。。。3、针对这本书的笔记只记录突出自己无法理解的重点。4、认真做每章后面的习题。-----原创 2013-09-26 22:37:00 · 455 阅读 · 0 评论 -
C Primer Plus(十七)高级数据表示 编程练习(二)
7、编写一个程序,能打开、读入一个文本文件并统计文件中每个单词出现的次数。用改进的二叉搜索树存储单词及其出现的次数。程序读入文件后,会提供一个有三个选项的菜单。第一个选项为列出所有单词连同其出现的次数。第二个选项为让您输入一个单词,程序报告该单词在文件中出现的次数。第三个选项为退出。断断续续编写代码、测试,花了差不多两天时间,总算告成。*建立该问题的二叉树节点模型//BST Mod原创 2013-08-22 13:08:22 · 294 阅读 · 0 评论 -
C Primer Plus(十七)高级数据表示 复习题
1、定义一个数据类型包含什么?包含数据本身的定义及其操作的定义。2、为什么程序清单17.2中的链表只能沿一个方向遍历?怎样修改struct film的定义才能双向遍历链表?每个节点只记录了下一个节点的地址。strcut film{ char title[TSIZE]; int rating; struct film *previous; //指向前序原创 2013-08-22 13:08:18 · 209 阅读 · 0 评论 -
C Primer Plus(十七)高级数据表示(二)
第十七章 高级数据表示三、队列ADT前面通过一个单链表形式来构建一个数据堆,单链表是通过在结点中设置一个指向下一节点的指针成员来实现组合。对于队列形式,有几个特点:1、依然是线性序列;2、只能在队尾部增加节点;3、只能在队首部删除节点。1、队列ADT的定义描述//依据实际需求定制Item内容typedef something Item;//对队列节点的描述与链表类似原创 2013-08-22 13:08:13 · 251 阅读 · 0 评论 -
汇编语言(王爽)第二章寄存器
一个典型的CPU由运算器、控制器、寄存器等部件组成,部件之间靠内部总线连接。运算器进行信息处理,寄存器进行信息存储;控制器控制各部件进行工作,内部总线连接各部件以进行数据的传输。不同的CPU寄存器的个数和结构都是不尽相同的。2.1通用寄存器以8086为例,其内部所有寄存器都是16位的,即两个字节。其中AX、BX、CX、DX这4个通常存放一般性的数据,称为通用寄存器。AX的低8位(0~7位)原创 2013-08-22 13:08:29 · 248 阅读 · 0 评论 -
C语言经典例题100(8~16)
八、输出9*9口诀。#includeint main(){ int r[9]={1,2,3,4,5,6,7,8,9}; int c[9]={1,2,3,4,5,6,7,8,9}; int i,j; printf("0\t1\t2\t3\t4\t5\t6\t7\t8\t9\n"); for(i=1;i10;i++)原创 2013-08-22 13:08:41 · 186 阅读 · 0 评论 -
C语言经典例题100(87~100)
八十七、回答结果(结构体变量传递)输出依然为3,a。函数f传递的是变量a的一个副本复制。#include "stdio.h"struct student{ int x;char c;} a;main(){a.x=3;a.c='a';f(a);printf("%d,%c",a.x,a.c);}f(struct student b){b.原创 2013-08-22 13:09:08 · 272 阅读 · 0 评论 -
汇编语言(王爽)--课程设计一
;程序目标为在屏幕指定位置显示数据;数据分为四项:年份、收入、员工数、人均收入;其中人均收入要通过计算得出;上述数据又分为两大类:字符类:如年份;数字类:(收入、员工数、人均收入);字符类不需要转换可直接存入显示缓冲区;数字类需要先转换为对应字符,再存入显示缓冲区;程序设计思路如下:;第一步:求出人均收入存入data指定区域(设计子函数1:避免溢出的dword/word型运原创 2013-08-28 16:31:25 · 298 阅读 · 0 评论 -
汇编语言(王爽)---实验10
1、显示字符串子程序;名称:show_str;;功能:在指定位置,用指定颜色,显示一个用0结束的字符串;;参数:(dh)=行号(0~24),(dl)=列号(0~79),(cl)=字符属性,; ds:si指向字符串首地址;返回:无assume cs:codedata segment db 'Welcome to masm!',0data ends原创 2013-08-26 19:40:03 · 411 阅读 · 0 评论 -
汇编语言(王爽)--第十三章
第十三章 int指令*int n引发n号中断过程,执行过程如下:(1)取得中断类型码n(2)pushf,TF=0,IF=0(3)push cs,push ip(4)(cs)=(0000:(4n+2)),(ip)=(0000:(4n))*用int 7ch实现loop指令功能的分析(1)loop实现的是指令跳转,属于短转移,即位移量在-128~127之间;同时,需要获得cx原创 2013-09-08 19:34:52 · 318 阅读 · 0 评论 -
汇编语言(王爽)-实验十五
assume cs:code,ss:stackstack segment db 32 dup (0)stack endscode segmentstart: mov ax,stack mov ss,ax mov sp,32 ;暂存原9号中断入口地址 mov ax,0 mov es,ax push es:[9*4] pop es:[200原创 2013-09-13 11:55:26 · 385 阅读 · 0 评论 -
汇编语言(王爽)--实验十四
assume cs:code,ds:data,es:info_numdata segment db '11/11/11 11:11:11$' ;预设字符串data endsinfo_num segment db 9,8,7,4,2,0 ;端口时间地址列表info_num endscode segmentstart: mov ax,data mov ds,a原创 2013-09-09 10:30:07 · 263 阅读 · 0 评论 -
汇编语言(王爽)-实验十二
assume cs:codecode segmentstart: mov ax,code mov ds,ax mov ax,0 mov es,ax mov si,offset do0word mov di,200h cld mov cx,offset do0end-offset do0word rep movsb mov ax,0 mo原创 2013-09-06 16:36:22 · 371 阅读 · 0 评论 -
C Primer Plus5(十二)复习题
1、哪一类存储类生成的变量对于包含他们的函数来说是局部变量?答:自动存储类。2、哪一存储类的变量在包含他们的程序运行时期内一直存在?答:静态存储类。3、哪一存储类的变量可以在多个文件中使用?哪一存储类变量只限于在一个文件中使用?答:外部链接的静态存储变量、内部链接的静态存储变量。4、代码块作用域变量具有哪种链接?答:空链接。5、关键字extern的用处?答:一种原创 2013-08-22 13:08:02 · 231 阅读 · 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原创 2013-08-22 13:08:27 · 205 阅读 · 0 评论 -
C Primer Plus5(十二)(2)
第12章 存储类、链接和内存管理(续)12.2存储类说明符本节主要为对前述的总结梳理:(1)auto说明符用于变量定义时候,表示变量为自动存储类型,并且只能用做代码块作用域的自动变量。(2)register说明符用于变量定义时候,表示变量为寄存器自动存储类型,只能用于代码块作用域的自动变量。并且被register定义的变量不能取得变量地址。(3)static说明符用于变量定义原创 2013-08-22 13:07:59 · 190 阅读 · 0 评论 -
C Primer Plus5(十二)(1)
第12章 存储类、链接和内存管理12.1存储类存储类,也可称为存储模型,即一个变量,它在内存中是如何存放,生存多久,以及作用范围。先说明几个名词的含义:12.1.1作用域作用域描述的是一个变量(标识符)可以在程序哪些区域被使用,包括:代码块作用域、函数原型作用域、文件作用域。int x; //此处x作用域为整个程序文件main(void)原创 2013-08-22 13:07:57 · 224 阅读 · 0 评论 -
谭浩强 C----函数
一、函数的定义1、无参函数类型标示符 函数名() //括弧内参数空缺,若无返回值类型标示符写为void{语句;..}2、有参函数类型标示符 函数名(参数及其类型说明列表) //若无返回值类型标示符写为void{语句;..}二、函数的参数及函数的值1、形式参数为函数定义时括弧内的参数,作用域为定义函数原创 2013-08-21 18:25:55 · 288 阅读 · 0 评论 -
谭浩强C-文件
一、概述1、通常把显示器定义为标准输出文件,把键盘定义为标准输入文件。2、从文件编码方式,可分为ASCII码文件和二进制码文件。ASCII码文件也称为文本文件,每个字符对应一个字节,存放字符对应的ASCII码。二进制文件则按二进制编码方式来存放。比如对于51,ASCII码文件存放的是5和1对应的ASCII值:53和49,即0011 0101和0011 0001。而二进制文件中存储的原创 2013-08-21 18:39:14 · 291 阅读 · 0 评论 -
C Primer Plus5(十)
要点记录:1、对于二维数组int a[2][3],如何使用指针变量指向该二维数组?二维数组本质上是一维数组的数组,对本例来说,a[2][3]实质上也可以理解为包含2个数组元素的数组,每个数组元素含3个元素。即:a[0]元素={1,2,3};a[1]元素={4,5,6};若声明一个整型指针变量int *p;能否使得p=a?p是一个指针,即地址;a是数组名,也为原创 2013-08-21 19:26:48 · 259 阅读 · 0 评论 -
C Primer Plus5(十一)
第11章 字符串和字符串函数11.1字符串表示和字符串I/O11.1.1在程序中定义字符串字符串定义:char s[10]="iamaboy!";//这是字符串char s[]="uareagirl";//这是字符串char *ps="heishandsome."; //这是字符串char s[3]={'A','b','x'}; //这是原创 2013-08-21 19:31:56 · 262 阅读 · 0 评论 -
C Primer Plus5(十四)结构和其他数据形式
第14章 结构和其他数据形式基础概念性的内容在谭浩强C的笔记里已经记录过,不再抄记。选出以下重点巩固:1、结构的指定初始化项目C99支持该功能;对于:struct stu{ char name[10]; int age; float score;}可以在定义其结构变量时候初始化该变量的某几项数据,如下:struct stu s1={.n原创 2013-08-22 13:08:06 · 257 阅读 · 1 评论 -
汇编语言(王爽)第四章第一个程序
4.1一个源程序从编写到执行的过程第一步:编写汇编源程序;第二步:对源程序进行编译和连接:编译器进行编译,生成目标文件,连接器对目标文件进行连接,生成可执行文件;第三步:执行可执行文件。4.2源程序汇编语言源程序中有两种指令:一种是汇编指令,一种是伪指令。汇编指令对应有机器码,可以被编译为机器指令;而伪指令是由编译器来执行的指令,是辅助编译工作的指令,并不转化成机器码,更不会被执行。原创 2013-08-22 13:08:34 · 285 阅读 · 0 评论 -
C语言经典例题100(1~6)
一、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#includeint main(){ int i,j,k; int number=0; for(i=1;i5;i++) for(j=1;j5;j++) for(k=1;k5;k++) {原创 2013-08-22 13:08:38 · 228 阅读 · 0 评论 -
汇编语言(王爽)第五章
第五章 [BX]和loop指令*Loop指令格式:loop 标号等同步骤:(1)(cx)=(cx)-1;(2)若(cx)!=0,跳转到标号位置继续执行。*Debug的相关命令及说明g命令:g 偏移地址;使得执行到cs:偏移地址处停止;p命令:使Debug程序自动重复执行代码中的循环指令,直到(cx)=0为止。用Debug中直接写入指令,[idata]可以表示((段地址)原创 2013-08-22 13:08:45 · 215 阅读 · 0 评论 -
汇编语言(王爽)实验4
(1)编程,向内存0:200~0:23f依次传送数据0~63.assume cs:codecode segment mov ax,20H mov ds,ax mov bx,0 mov cx,64s: mov [bx],bl inc bx loop s mov ax,4c00H in原创 2013-08-22 13:08:47 · 611 阅读 · 0 评论 -
汇编语言(王爽)第七章与实验6
第七章 更灵活的定位内存地址的方法7.1 and和or指令(1)and/or指令:按位的运算符。不能对内存单元直接操作,须借助寄存器中转。(2)and/or指令的应用:因为不管1还是0,和1进行与运算,都能维持原数不变;与1进行或运算,都能使原数置1.和0进行与运算,都能置0;和0进行或运算,都能维持原数不变。可利用上述特点,进行一些应用,比如转换大小写字母。一个字母的原创 2013-08-22 13:09:03 · 348 阅读 · 0 评论 -
汇编语言(王爽)第六章检测点与实验5
检测点6.1(1)依次用内存0:0~15单元中的内容改写程序中的数据,补全程序:assume cs:codesgcode segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hstart: mov ax,0 mov ds,ax mov bx,0 mov cx,原创 2013-08-22 13:08:59 · 410 阅读 · 0 评论 -
数据结构-线性表
一、线性表抽象数据类型的定义:ADT List{数据对象:D={ai,i=1,2,...n,n>=0}数据关系:Rl基本操作:InitList(List *L) //创建一个空的线性表LDestroyList(List *L) //销毁一个已存在的线性表LClearList(List *L) //把线性表L清空ListEmpty(List L)原创 2013-09-30 14:05:53 · 366 阅读 · 0 评论 -
Java语言程序设计-基础篇第六章--数组
*声明数组变量:数组元素数据类型[ ] 数组名;也可以用类C风格:数组元素数据类型 数组名[ ];*创建数组:声明一个基本数据类型变量时,就自动在内存中给该变量分配了空间;而仅仅声明一个数组时候并不分配空间,仅仅是创建了一个对该数组引用的存储位置。如果变量不包含对数组的引用,则这变量的值为null。仅仅声明而未创建的数组是不能分配任何元素的。创建数组的格式:数组名=ne原创 2013-10-03 14:00:38 · 429 阅读 · 0 评论 -
汇编语言(王爽)-第十四章
第十四章 端口*PC机中,和CPU通过总线相连的芯片除了各种寄存器外,还有以下三种芯片:1、各种接口卡(如网卡、显卡)上的接口芯片,他们控制接口卡进行工作;2、主板上的接口芯片,CPU通过他们对部分外设进行访问;3、其他芯片,用来存储相关系统信息,或进行相关的输入输出处理。上述三种芯片都有一组供CPU读写的寄存器,物理上可能处于不同的芯片中,但均具备以下特点:1、所在的芯片与CPU通过原创 2013-09-09 09:40:35 · 279 阅读 · 0 评论 -
C Primer Plus(十七)高级数据表示(三)
第十七章 高级数据表示四、二叉搜索树先梳理一下链表和数组方式对几种操作的利弊特点:a.访问:链表形式,必须从首节点开始找起,直到要访问的节点为止,这个称为顺序访问。而数组方式则方便的多,可直接定位到某个元素,这称为随机访问。b.插入/删除:对于链表形式,插入或删除操作仅需要修改前续和后续节点就可以完成;而数组方式需修改被增加或删除元素后面所有的元素。c.查找/搜索:其实也是一种原创 2013-08-22 13:08:15 · 254 阅读 · 0 评论 -
C Primer Plus5(十二)编程练习
6、编写一个产生1000个1到10范围内的随机数的程序。不必保存或打印数字,仅打印每个数被产生了多少次。让程序对10个不同的种子值进行计算。#include#includeint sides=10;static int a[10];void f1(int times);int main(void){ int times; int i; exte原创 2013-08-22 13:08:04 · 216 阅读 · 0 评论 -
汇编语言(王爽)第三章 寄存器(内存访问)
3.1内存中字的存储一个字(word)的长度为16位,即2个字节,而内存单元为单字节,所以要存储一个字长的数据,需要两个内存单元,并且字的高位存储在高地址单元,字的低位存储在低地址单元。比如数据:1188H,为16位数据,即一个字长,要将其存储在编号为0000H开始的内存中,那么编号为0000H的内存单元里存放88H,0001H的内存单元里存放11H。3.2DS和[address]80原创 2013-08-22 13:08:32 · 230 阅读 · 0 评论 -
C Primer Plus(十四)编程练习
1、编写一个程序。请求用户键入日、月和年。月份可以是月份号,月份名或月份缩写。然后程序返回一年中到给定日期的总天数。(1)只考虑月份的数字输入:#include#includevoid eatline();int count_days(struct date p);struct date{ int day; int month; char year[4原创 2013-08-22 13:08:09 · 307 阅读 · 0 评论 -
C语言经典例题100(68~82)
六十八、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。#includevoid move_array(int a[],int n,int m){ int i; int b[100]; if(m>n) { printf("input error(%d must less than %d).\n"原创 2013-08-22 13:09:06 · 220 阅读 · 0 评论 -
汇编语言(王爽)-第十二章
第十二章 内中断*四种引发内中断的情况(1)除法错误,如溢出;对应中断类型码0(2)单步执行;对应中断类型码1(3)into指令;对应中断类型码4(4)int N;对应中断类型码N*中断向量表当引发内中断时候,cpu转入执行相应中断程序,而各类中断类型码对应的中断程序固化存于内存中;这就需要通过不同的中断类型码以获取其对应的中断程序的入口地址,即有了中断向量表。原创 2013-09-06 16:01:46 · 250 阅读 · 0 评论 -
汇编语言(王爽)-第十一章
第十一章 标志寄存器一、各标志位说明1、ZF标志*名称:零标志位*位置:第6位*作用:记录相关指令执行后,结果是否为0.如果结果为0,则zf位为1;反之为0.2、PF标志*名称:奇偶标志位*位置:第2位*作用:记录相关指令执行后,结果所有bit位中为1的个数是否为偶数.如果为偶数,则pf位为1;反之为0.3、SF标志*名称:符号标志位*位置:第7位原创 2013-08-30 12:47:26 · 298 阅读 · 0 评论 -
汇编语言-笔记-第九章及实验8
第9章 转移指令的原理一、8086转移指令的分类1、无条件转移指令,如jmp;2、条件转移指令,如jcxz;3、循环指令,如loop;4、过程;5、中断二、几种转移指令的详解*基础知识:补码在计算机系统中,数值一律用补码来表示(存储)。正数补码与原码相同,如十进制17;原码为0001 0001;其补码也为0001 0001;负数的补码最高位取1,剩余原创 2013-08-25 16:52:56 · 340 阅读 · 0 评论 -
汇编语言-笔记-第八章及实验7
第八章 数据处理的两个基本问题一、寄存器*reg:表示寄存器。8086寄存器包括ax,bx,cx,dx,al,ah,bl,bh,cl,ch,dl,dh,ss,cs,es,ds,sp,bp,si,di;其中sreg表示段寄存器,包括ds,es,ss,cs.*只有bx,bp,si,di这四个寄存器可用来作为偏移地址寻址。且bx和bp不能同时使用,si和di不能同时使用,具体应用原创 2013-08-25 15:13:43 · 281 阅读 · 0 评论