《C专家编程 前言》2013.3.18
C专家:多年历练,耗时甚巨,C语言是写出来,不是看出来的!
1、if(2 == x)养成这个习惯,积少成多,如果一直留心这些小技巧,迟早会对你有所帮助的。
2、x == 2;这个语句“居然”能编译接受。
3、Winxp+VC6的编译命令行:G:\study\c\ExpertC>cl newsland.c /Fa
4、前言里面的程序:
#include<time.h>
printf("biggest = %s \n",ctime(&biggest));
printf("biggest = %s \n",asctime(gmtime(&biggest)));
执行结果:
biggest = Tue Jan 19 11:14:07 2038
biggest = Tue Jan 19 03:14:07 2038
实话实话,我不知道这个是啥意思。。。是不是告诉我们2件事:1、Unix系统时间开始于1970年1月1日;2、这种计时方式,只能到2038年;3、时区需要考虑。再补充一点,我非常讨厌不识数的人。。
《C专家编程 第一章》2013.3.18
迷雾中的大猩猩。
1、C语言的起源
1969年,GE+MIT+Bell--》失败的multics。Thompson这个天才发明了BCPL语言。1970年克尼汉命名了UNIX。
极高的效率和可移植性,和硬件关联大,C和Unix相辅相成,获得了巨大的成功。
2、C语言的早期特性
数组下标从0开始,这是由于偏移量的概念根深蒂固了(和内存地址相关)。
C的基本数据类型,和硬件关联,硬件系统有了浮点数后,才增加了对浮点的支持。
auto关键字是个摆设。
表达式的数组名可以看做指针:区别在于,指针可变,但是数组名是个常量。
float自动被扩张为double?
不允许在函数内部包含另外一个函数的定义:简化了编译器,本来C语言就是为了方便编译器设计者的。
register关键字:将经常使用的变量放入寄存器(以提高速度?未必!),简化了编译器,麻烦了程序员。
3、C的宏和预处理器
预处理器做的事情:替换字符、导入头文件、替换宏扩展模板。
空格会对宏扩展造成很大影响,不必拘泥于宏替换的使用、宏应适量使用、无需深入讨论。C++中有新的方法。
4、C语言的辉煌历史
1978年K&R C出版《The C Programming Language》,1994年出版150万册。在中国大陆,谭老师之类的书更是不计其数。windows、Linux、Andriond都是C书写的。。。。这是最成功影响最广的语言了。
5、ANSI C
1989年的ANSI C标准,这是值得铭记的一年。ANSIC标准售价130美刀,太贵了。
1999年,我所经历的第一个地球末日(另一个是2012,maya人不靠谱啊!),发布了另外一个ANSIC99,变化如下:(http://hi.baidu.com/gaojinshan/item/2ababb8ca52966c8b17154fc)
6、