从头学起Expert C Program 1

C语言多么久远的语言,离我们又这么近,它的存在时间之长,让人不得不重新认识它,一个语法灵活,编程自由的语言,而且有着高效率,怎能不让我们不断去探索它呢。苹果之父的离世,让人们对乔布斯更加的崇拜了,但是在计算机语言的世界中,丹尼斯里奇的离世才是值得编程人们感到非常痛心的。下面简单介绍下C语言之父——丹尼斯里奇。


丹尼斯·麦卡利斯泰尔·里奇Dennis MacAlistair Ritchie,1941年9月9日-2011年10月12日[3]),著名的美国计算机科学家,对C语言和其他编程语言、MulticsUnix等操作系统的发展做出了巨大贡献。

里奇在哈佛大学学习物理学应用数学,毕业后于1967年进入贝尔实验室工作,他亦曾是朗讯技术公司系统软件研究部门的领导人(2007年退休)。1983年他与肯·汤普逊一起获得了图灵奖,获奖理由是他们“研究发展了通用的操作系统理论,尤其是实现了UNIX操作系统”。1999年两人因开发C语言和Unix操作系统一起获得了美国国家技术奖章

好了,不多说了,现在开始学习Expert C Program。从我们开始学习事物开始,都是通过例子来学习的,因为例子能够给我们深刻的感官认识,举一反三,就是通过例子来实现的。if(i=3)和if(i==3)是我们初学c语言时经常犯的错误,为什么这样的错误总是不停地出现呢,其实我们只要掌握了方法,这种问题只会错一遍,以后决不会再出现,为什么干这么肯定的说,因为只要我们把上面的式子改写一下if(3==i)这样的话,即使我们少写了一个=。不用我们自己发现,编译器就会帮我们发现了,所以以后遇到错误的时候一定要想想为什么自己会出错,怎么才能让自己更真实的去体会到本质。


接下来,书中介绍了time_t这个结构体,怎样得到系统支持的最大时间。

#include <stdio.h>  
#include <time.h>  
 
int main() { 
 time_t biggest = 0x7FFFFFFF;  
 
 printf("biggest = %s \n", ctime(&biggest) );  
 return 0;  


biggest = Mon Jan 18 19:14:07 2038 

这就是 得到最大时间的方法。但是不同地点的人们的得到的确有时间差,这就是时区问题。


 
#include <stdio.h>  
#include <time.h>  
 
int main() { 
  time_t biggest = 0x7FFFFFFF;   
 
  printf("biggest = %s \n", asctime(gmtime(&biggest)) ); 
  return 0;  

This gives a result of:  
 
biggest = Tue Jan 19 03:14:07 2038 

通过 gmtime这个函数就能够把日期和时间转换为格林威治(GMT)时间的函数asctime把日期转换成字符串。这样大家都得到相同的格林威治时间了。


c语言 命名也很讲究,当我们写小程序时,我们习惯用fruits做变量名,这样更能体现关键字,我们也能够很好滴理解变量,2个水果就可以来相互比较。


第一次 ,就写这么多了,以后再增加更多的后续篇章。

posted @ 2012-08-28 18:36  梦回丶故里  阅读(122)  评论(0编辑  收藏  举报