以下是今天的研究成果,记在博客里,免得忘了。有异议的尽可以发表评论。
1)把函数的参数看做输入,返回值看做输出。例如,编写一个计算m÷n的程序:
printf(“输入被除数、除数:”);
scanf(“%d,%d”,&m,&n);
if(n==0)printf(“除数不能是零”);
else printf(“%d÷%d=%f”,m,n,(double)m/(double)n);
程序的执行采用询问机制,例如上面的程序看做一个函数,它的参数列表就可以看做是“提前写好答案的询问”。
Div();
Div(m,n);
如果参数不足,就必须在运行时询问,如果参数满足,就没必要询问了。
2)大系统的编译原理
“这个帽子是红的”
“这个帽子的颜色相等于红色”
hat=red;
hat.color==red
后者不是很自然,但却是C语言的流行语言共同的选择。当系统足够大或很敏感时,这种做法行不通。
3)弄清思维的本质,先要弄清语言的本质。
语言是思维的产物,它可以记录思维的状态和过程。
计算机语言应该包括语言层和实现层,语言层表示语言本身,实现层表示思维本身。
(未完,待续)