The C Programming Language 2nd Ed.

Based on Draft-Proposed ANSI C

Brian W. Kernighan, Dennis M. Ritchie

Publisher: Prentice Hall, 1988, 272 pages

ISBN: 0-13-110362-8

Keywords: Programming

Last modified: April 30, 2021, 11:51 p.m.

The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. For years, C programmers have let K&R guide them to building well-structured and efficient programs. Now this same help is available to those working with ANSI compilers. Includes detailed coverage of the C language plus the official C language reference manual for at-a-glance help with syntax notation, declarations, ANSI changes, scope rules, and the list goes on and on.

  1. A Tutorial Introduction
    1. Getting Started
    2. Variables and Arithmetic Expressions
    3. The For Statement
    4. Symbolic Constants
    5. Character Input and Output
    6. Arrays
    7. Functions
    8. Arguments — Call by Value
    9. Character Arrays
    10. External Variables and Scope
  2. Types, Operators, and Expressions
    1. Variable Names
    2. Data Types and Sizes
    3. Constants
    4. Declarations
    5. Arithmetic Operators
    6. Relational and Logical Operators
    7. Type Conversions
    8. Increment and Decrement Operators
    9. Bitwise Operators
    10. Assignment Operators and Expressions
    11. Conditional Expressions
    12. Precedence and Order of Evaluation
  3. Control Flow
    1. Statements and Blocks
    2. If-Else
    3. Else-If
    4. Switch
    5. Loops — While and For
    6. Loops — Do-while
    7. Break and Continue
    8. Goto and Labels
  4. Functions and Program Structure
    1. Basic of Functions
    2. Functions Returning Non-integers
    3. External Variables
    4. Scope Rules
    5. Header Files
    6. Static Variables
    7. Register Variables
    8. Block Structure
    9. Initiaalization
    10. Recursion
    11. The C Preprocessor
  5. Pointers and Arrays
    1. Pointers and Addresses
    2. Pointers and Function Arguments
    3. Pointers and Arrays
    4. Address Arithmetic
    5. Character Pointers and Functions
    6. Pointer Arrays: Pointers to Pointers
    7. Multi-dimensional Arrays
    8. Initializing of Pointer Arrays
    9. Pointers vs. Multi-dimensional Arrays
    10. Command-line Arguments
    11. Pointers to Functions
    12.  Complicated Declarations
  6. Structures
    1. Basics of Structures
    2. Structures and Functions
    3. Arrays of Structures
    4. Pointers to Structures
    5. Self-referential Structures
    6. Table Lookup
    7. Typedef
    8. Unions
    9. Bit-fields
  7. Input and Output
    1. Standard Input and Output
    2. Formatted Output — Printf
    3. Variable-length Argument Lists
    4. Formatted Input — Scanf
    5. File Access
    6. Error Handling — Stderr and Exit
    7. Line Input and Output
    8. Miscellaneous Functions
  8. The UNIX System Interface
    1. File Descriptors
    2. Low Level I/O — Read and Write
    3. Open, Creat, Close, Unlink
    4. Random Access — Lseek
    5. Example — An Implementation of Fopen and Getc
    6. Example — Listing Directories
    7. Example — A Storage Allocator
  1. Reference Manual
    1. Introduction
    2. Lexical Conventions
    3. Syntax Notation
    4. Meaning of Identifiers
    5. Objects and Lvalues
    6. Conversions
    7. Expressions
    8. Declarations
    9. Statements
    10. External Declarations
    11. Scope and Linkage
    12. Preprocessing
    13. Grammar
  2. Standard Library
    1. Input and Output: <stdio.h>
    2. Character Class Tests: <ctype.h>
    3. String Functions: <string.h>
    4. Mathematical Functions: <math.h>
    5. Utility Functions: <stdlib.h>
    6. Diagnostics: <assert.h>
    7. Variable Argument Lists: <stdarg.h>
    8. Non-local Jumps: <setjmp.h>
    9. Signals: <signal.h>
    10. Date and Time Functions: <time.h>
    11. Implementation-defined Limits: <limits.h> and <float.h>
  3. Summary of Changes

Reviews

The C Programming Language

Reviewed by Roland Buresund

Outstanding ********* (9 out of 10)

Last modified: May 21, 2007, 3:25 a.m.

The classical K&R, updated with proposed ANSI C (ISO wasn't yet in the picture).

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required