程序语言
hjx5200
这个作者很懒,什么都没留下…
展开
-
scheme代码
//删除表lat中的itme元素,其他元素位置保持不变(define (rember item lat) (cond ((null? lat)'()) (else (cond((eq? item (car lat)) (cdr lat)) (else (cons (car lat)(rember item (cdr lat)))))))原创 2014-04-24 20:53:18 · 46480 阅读 · 0 评论 -
王垠:如何掌握程序语言
学习程序语言是每个程序员的必经之路。可是这个世界上有太多的程序语言,每一种都号称具有最新的“特性”。所以程序员的苦恼就在于总是需要学习各种稀奇古怪的语言,而且必须紧跟“潮流”,否则就怕被时代所淘汰。作为一个程序语言的研究者,我深深的知道这种心理产生的根源。程序语言里面其实有着非常简单,永恒不变的原理。看到了它们,就可以在很短的时间之内就能学会并且开始使用任何新的语言,而不是花费很多功夫去学转载 2014-04-23 16:02:37 · 1560 阅读 · 1 评论 -
scheme序对与表的进阶
在上一篇博客中介绍了序对与表的内在关系,只是qing原创 2014-04-12 12:58:15 · 928 阅读 · 0 评论 -
《计算机程序的构造与解释》(一)
之前看过《SICP》之后写了两篇博文,主要解释过了过程抽象和数据抽象,原创 2014-05-12 22:48:27 · 4928 阅读 · 3 评论 -
scheme中序对与表的联系与区别
序对(pair)是scheme基础中的基础概念,在构造复合数据结构中xu原创 2014-04-10 21:21:46 · 2635 阅读 · 0 评论 -
《计算机程序的构造和解释》学习笔记——过程抽象
这篇博文里说到程序=数据+过程,原创 2014-04-07 14:42:30 · 3169 阅读 · 0 评论 -
《计算机程序的构造和解释》学习笔记——数据抽象
世界是复杂的,由简单的元素经过复杂的变化或者组合而成。原创 2014-04-09 22:21:21 · 1092 阅读 · 0 评论 -
程序语言的类型系统
程序语言的类型系统为静态类型和动态类型:静态类型语言和动态类型语言的最重要区别是何时确定变量和对象的类型。静态类型语言要求程序员在编程时必须为变量指定类型integer,string,character,定义函数时为函数参数、返回值指定类型等等。这样在编译阶段就可以进行类型检查。例如两变量相加“+”操作,一个变量是int型,另一变量是string型,编译时报错。因为“+”操作要求两个参原创 2014-05-13 15:22:15 · 1208 阅读 · 0 评论 -
lambda calculus语言解释器
lambda calculus语言解释器,阐述了解释器的一般工作原理。原创 2014-05-04 00:25:22 · 2509 阅读 · 0 评论 -
Where are the local, global, static, auto, register, extern, const, volatile variables are stored?
local variables can be stored either on the stack or in a data segment depending on whether they are auto or static. (if neither auto or static is explicitly specified, auto is assumed)global vari原创 2021-06-15 16:45:11 · 98 阅读 · 0 评论 -
Python语言学习(七)字符编码
操作系统是win7,Python版本是2.7,研究字符编码。>>> a = "高山流水">>> a'\xb8\xdf\xc9\xbd\xc1\xf7\xcb\xae'>>> print type(a)>>> b = r"高山流水">>> b'\xb8\xdf\xc9\xbd\xc1\xf7\xcb\xae'>>> len(b)8>>> type(b)上面建立了两个变量原创 2021-06-15 16:42:48 · 193 阅读 · 0 评论 -
程序的编译链接过程
什么是编译?什么是链接?为什么需要编译和链接?原创 2021-06-15 16:41:52 · 135 阅读 · 0 评论 -
对象的困惑
类、继承、多态等概念带来的困扰,比带来的便捷大的多!大多数程序的目的是为处理数据,以函数为主线,接收数据,处理数据,然后返回处理后的值非常符合人的正常思维。在引入类、对象概念后,有了“方法”,它被包裹在类里面,处理内部数据,同时接收外部的调用,在逻辑上套了框框,思维开始难以清晰。怎么办呢?还是得适应。不再明显区分域和方法,而更多把它们都当做成员,只不过成员有别,那个叫做“方法”的成员,可以原创 2016-03-08 22:14:48 · 553 阅读 · 2 评论 -
java 初始化和构造函数
Java中,类域的初始化在调用构造函数之前进行。如果没有显示的初始化,那么编译器会给一个默认值对其进行初始化,然后再调用构造函数,此时也可以对其再次复制,改变第一次初始化时的值。Int型被默认初始化为0,string为空字符“”,其他类的对象引用为null等等。当类中包含静态域时,其首先被初始化,然后是非静态的域,最后调用构造函数。静态域只在Class对象首次加载时被初始化一次,当再次构建对象时静原创 2014-03-11 17:32:57 · 2141 阅读 · 0 评论 -
java final的用法
在任何一门计算机语言中,总有一个关键词来向编译器表示某块区域是不变的。在java中这一关键词是final,下面就讨论final的用法。 当用final修饰基本类型时表示这一域的值是编译时不变或者运行时不变的。所谓编译时不变就是用javac命令编译*.java文件时,用值替换掉final修饰的符号。并且在每次运行程序时这一变量的值都一样。其实是可执行文件中不存在这一变量了。 运行原创 2014-03-11 14:11:20 · 572 阅读 · 0 评论 -
《王爽——汇编语言》P206 实验室10第三个问题的答案
assume cs:code, ds:data, ss:stackdata segment db 10 dup (0)data endsstack segment db 16 dup (0)stack endscode segmentstart: mov ax, 123 mov bx, data mov ds, bx mov bx, stack mov ss,原创 2015-11-11 21:52:04 · 657 阅读 · 0 评论 -
《王爽——汇编语言》P172答案
assume cs:codesg, ds:datasg, es: table, ss: stackdatasg segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','原创 2015-11-06 20:21:20 · 624 阅读 · 0 评论 -
程序函数与数学函数的区别
函数y=f(a)表示一系列数的运算规则(例如㏒(a)对变量a求对数)。而函数中的自变量(这里用a表示),是运算过程中的占位符,表明未来运算时,具体的数字应该存在的位置。同时,运算规则与数(a)的类型相关的,因此对自变量a应该有一个类型的约束,比如整数、字符串等等。在上例中的y=㏒(a)函数,a的类型应该是实数而不能是字符串或者其他不能进行对数运行的类型。...原创 2018-03-26 10:27:28 · 902 阅读 · 0 评论 -
Python变量作用域
变量的作用域整这么复杂,而且都是隐含的表达。变量的作用域是程序员几乎每行代码都会涉及到的概念,定义的这么隐晦。相比起来Java人性了许多,严肃了许多。原创 2016-03-08 19:15:19 · 401 阅读 · 0 评论