学用C语言的过程与其他程序设计语言样,大致可以分为三个阶段。 第阶段 是理解这种谱言的语法, 至少需要达到编译器不再提示程序还有语法性错误的程度。第一阶段是理解编译器将赋子正确构造的语法结构什么含义。第三阶段则是形成一种适合这种语言的编程风格。其中第二阶段往往是C语言使用者不容易逾越的平台。
本书脱胎于贝尔实验室极受欢迎的内部培训资料。书中以一种卓有成效的、独一无二的方法讲授C语言编程,精选了许多典型习题,帮助广大读者迅速通过C语言学习过程中的第二阶段。这些习题不仅能够检验读者对C语言语法规则的掌握程度,还可以带领读者到达一些不为人熟悉的角落,学会避免些常见的陷阱, 从而更加深入地理解C语言的精髓, 迈上个新的台阶。
C语言并不大一如果以参 考手册的篇幅作为衡量标准的话,C语言甚至可以归为一种“小”语言。不过,这种“小”并不意味着C语言的功能不够强大,而是说明了C语言里的限制性规则比较少。C语言本身的设计非常简洁精妙,这一-点相信C语言的使用者早已有所体会。
不过,C语言的这种精妙对C语言的初学者来说,似乎是故作神秘。因为限制较少, C语言可以写成内容丰富的表达式,这可能会被初学者认为是输出错误。C语言的紧凑性允许以简洁凝炼的方式实现常见的编程任务。
学用C语言的过程,与学用其他的程序设计语言一样,大致可以分为三个阶段(这样的分段想必读者在其他的教科书里已见过很多次了)。第一阶段是理解这种语言的语法,这至少需要达到编译器不再提示程序存在语法性错误的程度。第二阶段是了解编译器将赋予正确构造的结构什么含义。第三阶段是形成一种适合这种语言的编程风格;只有到了这一-阶段,才能编写出清晰简洁而又正确的程序。
本书中的谜题是我们为了帮助广大读者迅速通过C语言学习过程中的第二阶段而准备的。它们不仅可以检验读者对C语言语法规则的掌握程度,还可以引导读者接触-些很少涉及的问题,绕过一些常规的限制,跳过几个打开的陷阱。(我们必须承认,C语言也有一-些需要一定的编程经验才能掌握的难点,在这方面与其他程序设计语言没有什么两样。)
请不要把本书的谜题视为优秀的代码范例,事实上,本书的某些代码相当不容易理解。但这也正是我们编写本书的目的之- -。编写失当的程序往往却能成为一个有意义的谜题:
表达含混,必须参照- - 本语法手册才能看懂;
结构过于复杂,数据结构和程序结构不够清晰,难以记忆和理解;口某些用法晦涩难懂,在运用某些概念的时候不遵守有关的标准。
本书中的谜题全部基于ANSI标准的C语言,涉及的某些功能可能有某些编译器不支持。
不过,因为ANSI C是绝大多数C语言版本的超集,所以即使你们的编译器不支持书中涉及的某项功能,它也很可能会以另外一种方式实现。
本书是标准C语言教材的绝佳配套读物。本书分为9章,每章探讨一个主题,各章均由C语言代码示例构成,分别对该章主题的各个方面进行探讨。在那些代码示例里有许多print语句,而本书的主要工作就是分析每段示例代码的输出到底是什么。书中的示例程序都是彼此独立的,但后面的谜题需要把前面的谜题搞清楚之后才容易理解。
每个程序的输出紧接在相应的程序代码的后面给出。这些程序都已经在“Sun工作站+Unix操作系统”和“PC + MS/DOS操作系统”环境下调试通过。少数例子在这两种平台上有不同的输出,我们分别给出这两种输出。
本书的大部分篇幅是一步 。一步地解释各类迷题的答案,相关的C语言编程技巧就穿插在解释内容里。
做谜题的一般顺序是这样的:
阅读C语言教科书里该主题的相关内容。
阅读本书与该主题相关的章节里的每--段示例程序:
一做各段示例程序相关的谜题;
一把你的答案与书中给出的程序输出进行对照;
一阅读本书对解决方案的解释。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !