基本信息
- 原书名:A First Book of ANSI C,Third Edition
- 原出版社: Thomson
- 作者: (美)Gary J.Bronson
- 丛书名: 国外计算机科学教材系列
- 出版社:电子工业出版社
- ISBN:7121002507
- 上架时间:2011-3-1
- 出版日期:2004 年9月
- 开本:16开
- 页码:546
- 版次:3-1
- 所属分类:赠品
内容简介
本书条块清晰,章节设置合理,适合用做高等学校本科或专科教材,也适合于初学编程的自学者。
目录
Chapter I Getting started
1.1 Introduction to Programming
Algorithms
From Algorithms to Programs
Program Translation
Exercises 1.1
1.2 Introduction to Modularity
Functions
The main ( ) Function
Exercises 1.2
1.3 The printf () Function
Exercises 1.3
1.4 Programming Style
Cgmments
Exercises 1.4
1.5 Top-Down Program Development
Modularity and Top-Down Design
Exercises 1.5
1.6 Common'Programming Errors
前言
Based on suggestions and more in-depth responses from adopters, numerous new pedagogical features and material have been incorporated into this third edition. The most noticeable of these changes is that, in all program examples, main's header line has been changed from void main (void) to int main (), and that the main function always returns a value to[ the operating system. This change was made to reflect current programming practice that the main function explicitly return a value. Additional changes to this edition include the following:
~ New material on function templates has been added.
~ Programming Notes, a single highlighted and informational reference, incorporates the previous Closer Look and Tips From the Pros boxes as well as new material.
~ Information on creating C programs under both the Microsoft~ Visual C++ 6.0 and the Borland~ C++ Builder re places previous information on outdated C compilers.
~ All function prototypes are global.
~ A chapter supplement on random number generation has been added.
~ New material oh C++'s Standard Template Library has been included.
To facilitate using C as a basis for learning C++, the two chapters introducing C++ that were introduced in the second edition have been retained and updated to ANSI C++ specifications. Thus, as with the second edition, this text can be used as an introduction to programming in general, as an introduction to the C language in particular, and as a basis for further study of the C++ language.
The basic requirement of this third edition, however, remains the same as the first two editions: that is, that all topics be presented in a clear, unambiguous, and accessible manner to beginning students. Toward this end, the heart of the first two editions, which consisted of Chapters 1 through 11, remains essentially unchanged in the present edition. Thus, all of the topics, examples, explanations, and figures in the first 11 chapters of the previous editions remain in the third edition with the addition of the new material. Distinctive Features of This Book Writing Style. I firmly believe that introductory texts do not teach students--professors teach students. An introductory textbook, if it is to be useful, must be the primary "supporting actor" to the "leading role" of the professor. Once the professor sets the stage, however, the textbook must encourage, nurture, and assist the student in acquiring and "owning" the material presented in class. To do this the text must be written in a manner that makes sense to the student. My primary ~ 3~ concern, and one 9f the distinctive features of this book, is that it has been written for the student. As one of my reviewers has said of the first edition, "This book addresses the student and not the professional." Thus first and foremost, I feel foremost, I feel the writing style used to convey the concepts presented is the most important aspect of the text. Modularity. C, by its nature, is a modular language. Thus, the connection between C functions and modules is made early in the text, in Section 1.2, and continues throughout the book. To stress the modular nature of C, the first complete main () function illustrates calling four other functions. The first program that can be compiled, which calls the print f ( ) function, is then presented.
The idea of argument passing into modules is also made early, in Section 1.3, with the use of the print f () function. In this manner, students are introduced to functions and argument passing as a natural technique of programming. Software Engineering. As with the first two editions, this revised edition introduces students to the fundamentals of software engineering right from the start. This introduction begins in Section 1.1. which introduces algorithms and the various ways that an algorithm can be described. The example illustrating three algorithms for summing the numbers from 1 to 100 (Figure 1.4) has been retained from the earlier editions.
The increased emphasis on software engineering is supported in the text, starting with Section 1.5, which introduces top-down program development. Here the importance of understanding the problem and selecting an appropriate algorithm is highlighted and the relationship between analysis, design, coding, and testing is introduced. Problem solving within this context is stressed throughout the text. Introduction to Pointers. One of the unique features of the first edition was the early introduction of pointer concepts. This was done by simply using the printf ( ) function initially to display the addresses of variables, and then using variables to store addresses. This approach always seemed a more logical and intuitive method of understanding pointer variables than the indirection description in vogue at the time the first edition was released.
Since the first edition I have been pleased to see that the use of the printf () function to display addresses has become a standard way of introducing pointers. Although this approach, therefore, is no longer a unique feature of my book, I am very proud of its presentation and continue to use it in this new edition. Program Testing. Every C program in this text has been successfully compiled and run under the Microsoft Visual C++ 6.0 compiler. All programs have been written following the current ANSI C standard. Source code for all program examples used in the text is available online. This permits students both to experiment with and extend the existing programs and to modify them more easily as required by a number of end-of-section exercises. Pedagogical Features To facilitate my goal of making C accessible as a first-level course, the text includes the following pedagogical features. End of Section Exercises. Almost every section in the book contains numerous and diverse skill builder and programming exercises. Additionally, solutions to selected odd-numbered exercises are provided in an appendix. Pseudocode and Flowchart Descriptions. As in the first two editions, pseudocode is stressed throughout the text. Material on flowchart symbols and the use of flowcharts in visually presenting flow-of-control constructs is also presented. Common Programming Errors and Chapter Review. Each chapter ends with a section on common programming errors and a review of the main topics covered in the chapter. Programming Notes. A set of shaded boxes that highlight important concepts and useful technical points and programming techniques used by professional programmers is provided. Enrichment Sections. Given the many different emphases that can be applied in teaching C, a number of Enrichment Sections have been included as chapter supplements. These allow you to provide different emphasis with different students or different C class sections. Appendices and Supplements. As With the first two editions, an expanded set of appendices is provided in this third edition. These include appendices on operator precedence; ASCH codes; I/O and standard error redirection; the Standard C Library; the Standard Template Library (STL); program entry, compilation, and execution; using the Microsoft Visual C++ 6.0 compiler; and using the Borland C++ Builder compiler.
A final appendix offers solutions to selected odd-numbered problems. Source code for all program examples used in the text is available at http://www.brookscole.com
An instructor's manual including chapter outlines and answers to selected even-numbered roblems is also available. Acknowledgments
The writing of this third edition is a direct result of the success (and limitations) of the first two editions. In this regard, my most heartfelt acknowledgment and appreciation is to the instructors and students who found these editions to be of service to them in their respective quests to teach and learn C.
Once a third edition was planned, its completion depended on the encouragement, skills, and efforts of many other people. For this I especially want to thank the staff of Brooks/Cole Publishing Company for their many contributions. First and foremost, this includes my project editor, Kallie Swanson. Additionally, I am very grateful to editorial assistants Grace Fujimoto and Meg Weist for handling numerous scheduling and review details that permitted me to concentrate on the actual writing of the text.
I also wish to express my gratitude to the individual reviewers:
Taret Alameldin, California State University at Fresno
John Avitabile, College of Saint Rose