The C Programming Language
K&R的神书,一直以来只是泛泛的阅读,自以为对C语言掌握了,但是实在是浮于表面,太过浮躁了。春节期间打算重新阅读,完成上面的测试。
自从C语言和UNIX诞生以来,两者就以不同的形式不断影响着人类社会。
一个C语言的发展图大致如下:
-----> |BCPL|------->|B|-------->|New B|------->|C|
(上图来自Expert C Programming)
最初C语言的发明就是为了避免用汇编语言来写UNIX系统,所以UNIX诞生的时间要早于C。
进入正题,第一个C程序。
#include <stdio.h>
int main(void)
{
printf("hello,world\n");
return 0;
}
注意,printf是一个库函数调用,说道C语言的库,我最早的想法是以为它是实现在某些文件(库)中,将这些文件拷贝来拷贝去,就实现了C语言的可移植性。但实际上不是这样的,库的接口是可移植的,但是其实现随不同的系统不同而不同,要以来于不同系统的系统调用,表面上我们是调用printf函数,但是在实际上是printf又调用了很多系统函数,从而实现从控制台的输出。

浙公网安备 33010602011771号