前言
Computer是一个自控制机器,通过不断的执行指令来工作,是没有思维的,而人是有思维的,所以能用几十个指令编制各种各种样的程序,编制的程序只不过是N个指令,是具体,而程序的编制,是有科学的,有技术、方法的,是抽象,编制程序就是把抽象的程序编制成具体的N个指令.
具体
Computer的CPU,是运算和执行合在一起控制器,CPU的运作就是等待(也就是循环)->译码->运算->执行,另外,还有指令流水线,就是把指令分成N份, 分份并行执行.CPU有译码,人也有,人的译码就是把抽象译成具体,Computer的具体就是指令,人的具体就是Code.
抽象
program的书籍,有理论,技术,人的思维,有分析,编制,program的组成是code,和指令一样,只是code更接近人的抽象,所以不是用指令编制,而是code.抽象是虚拟的,是可以用code实现的构想,抽象也是复杂的,porgram的抽象要涉及理论、技术,人的抽象涉及分析、编制.其实编程序也就是这样无聊却必须的.
分析
要编制一个程序,先要分析,分析程序要做什么工作,怎么实现,要用什么编制,程序的正确性、错误的处理、失败率的分析、扩展、易用、高效等等,用一个最简单的程序说明:
/* hello.c */
#include<stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}
这里就是以打印一个字符串为目标,所以,第一步重要的就是正确的完成目标,第一步实现了,就该第二步了,第二步是分析错误(分析各种意外情况下的错误),那这个程序有什么错误,这个程序就是第5行,正确的做法是先const char c[13]={"hello world!"},常量的内容为要打印的内容,然后在prinf("%s\n",c);,这个错误不是编制错误,而是因为不这样做,编制出来的程序就会声明变量、打印,虽然是一样,但在编制时是不可控制的,要做到错误少,就要能在编制时控制.
/* hello.c */
#include<stdio.h>
int main()
{
const char c[13]={"hello world!"};
printf("%s\n",c);
return 0;
}
现在的程序错误少了,可以忽略了,继续第三步,高效,基本上,虽然程序表面上已经最高了,但将在后面讨论,第四步,扩展,也将在后面讨论.
更深入的错误
错误最基本的就是编制错误,而编制错误易检查,易修改,就忽略不讲,现在就讲执行时错误,执行这个程序,也许内存不够不能执行,也许执行到一半内存够,那么针对这个问题,就对程序修改一下
/* hello.c */
#include<stdio.h>
int main()
{
const char fname[2]={"s"};
char c;
FILE *f;
f=fopen(fname,"r");
for(;;)
{
if(feof(f))
{
break;
}
c=getc(f);
printf("%c",c);
}
fclose(f);
return 0;
}
正文
电脑2007-12-02 13:34:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/hujing/31231.html
阅读(1672) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论