标题：C 语言的科学和艺术
图书信息
出版社: 机械工业出版社; 第1版 (2006年5月1日)
外文书名: The Art and Science of C:A Library-Based Introduction to Computer Science
丛书名: 经典原版书库
平装: 704页
正文语种: 英语
开本: 16
ISBN: 9787111139911
条形码: 9787111139911
尺寸: 23.8 x 18.6 x 3 cm
重量: 998 g
作者简介
作者：(美国)罗伯茨 (Eric S.Roberts)
Eric S.Roberts，是美国斯坦福大学计算机科学系教授。并担任系里主管教学事务的副主任。同时他还是工学院的Crlades Simonyi讲席教授。他于1 980年在哈佛大学应用数学系获得博士学位，并曾在DEC公司位于加州Palo Alto的系统研究中心做过5年的研究工作。作为一位获得高度评价的教育工作者。Roberls还因其在本科生教学中的杰出贡献获得了1993年的Bing Award奖。他的另一本书《c程序设计的抽象思维》(Programmiflg Abstractiorls in C：A Secorld Course in Computer Scierice)的英文影印版即将由机械工业出版社引进出版。
内容简介
《C 语言的科学和艺术(英文版)》是一本计算机科学的经典教材，强调软件工程和优秀的程序设计风格。此外，学生还可以从书中学习到ANSI C的基础知识，这些内容已经成为计算行业的标准。作者的写作风格使得书中深奥的概念变得易于理解和引人入胜。
《C 语言的科学和艺术(英文版)》集中讨论库和抽象的用法，这是当代程序设计技术中最基本的知识。作者使用库来隐藏C语言的复杂性，更加突出主题。使学生可以较好地掌握每一个主题的精髓。然后，进一步给出每个库的底层实现，较好地展示了库自身的抽象威力。
目录
1 Introduction
1.1 A brief history of computing 2
1.2 What is computer science？ 4
1.3 A brief tour of computer hardware 6
The CPU 7, Memory 7, Secondary storage 8, I/O devices 8
1.4 Algorithms 9
1.5 Programming languages and compilation 10
1.6 Programming errors and debugging 12
1.7 Software maintenance 13
1.8 The importance of software engineering 14
1.9 Some thoughts on the C programming language 15
Summary 16
REVIEW QUESTIONS 17
PART ONE
The Basics of C Programming 19
2 Learning by Example
2.1  The "Hello world" program 22
Comments 22, Library inclusions 23, The main program 24
2.2 A program to add two numbers 26
The input phase 28, The computation phase 30, The output phase 30
2.3 Perspectives on the programming process 32
2.4 Data types 33
Floating-point data 34, String data 34
2.5 Expressions 37
Constants 38, Variables 39, Assignment statements 41, Operators
and operonds 43, Combining integers and floating-point numbers 44,
Integer division and the remainder operator 45, Precedence 45,
Applying precedence rules 48, Type conversion 48
Summary 51
REVIEW QUESTIONS 52
PROGRAMMING EXERCISES 55
3 Problem Solving
3.1 Programming idioms and paradigms 60
Shorthand assignment idioms 61, Increment and decrement operators 62
3.2 Solving problems on a larger scale 63
3.3 Control statements 65
The repeat-N-times idiom 65, Iteration and loops 67, Index
variables 67, The importance of initialization 69 The read untilsentinel
idiom 69, Building a more practical application 71, Conditional
execution and the if statement 74
3.4 An exercise in debugging 76
3.5 Formatted output 80
Format codes for printf 82, Controlling spacing, alignment,
and precision 83
3.6 Crafting a program 86
Programming style 86, Designing for change 88,
The #define mechanism 89
Summary 89
REVIEW QUESTIONS 91
PROGRAMMING EXERCISES 93
4 Statement Forms
4.1 Simple statements 100
Embedded assignments 102 Multiple assignments 102 Blocks 103
4.2 Control statements 104
4.3 Boolean data 105
Relational operators 106, Logical operators 107, Short circuit
evaluation 109, Flags 110, Avoiding redundancy in Boolean
expressions 110, An example of Boolean calculation 111
4.4 The if statement 112
Single line if statements 114, Multiline if statements 114,
The if else statement 114, Cascading if statements 115,
The o : operator 115
4.5 The switch statement 1 17
4.6 The while statement 119
Using the while loop 120, Infinite loops 122
Solving the Ioopandahalf problem 123
……
Index