830

C Programming A Modern Approach 2nd Edition by K. N. King

Embed Size (px)

DESCRIPTION

C Programming A Modern Approach by K. N. KingISBN: 978-0-393-97950-3This textbook is often used in college classes, usually for a beginning C programming class.

Citation preview

  • CoverPrefaceBrief Contents1 Introducing C1.2 Strengths and Weaknesses of CQ & A

    2 C Fundamentals2.2 The General Form of a Simple Program2.3 Comments2.4 Variables and Assignment2.5 Reading Input2.6 Defining Names for Constants2.7 Identifiers2.8 Layout of a C ProgramQ & AExercisesProgramming Projects

    3 Formatted Input/Output3.2 The scanf FunctionQ & AExercisesProgramming Projects

    4 Expressions4.2 Assignment Operators4.3 Increment and Decrement Operators4.4 Expression Evaluation4.5 Expression StatementsQ & AExercisesProgramming Projects

    5 Selection Statements5.2 The if Statement5.3 The switch StatementQ & AExercisesProgramming Projects

    6 Loops6.2 The do Statement6.3 The for statement6.4 Exiting from a Loop6.5 The Null StatementQ & AExercisesProgramming Projects

    7 Basic Types7.2 Floating Types7.3 Character Types7.4 Type Conversion7.5 Type Definitions7.6 The sizeof OperatorQ & AExercisesProgramming Projects

    8 Arrays8.2 Multidimensional Arrays8.3 Variable-Length Arrays (C99)Q & AExercisesProgramming Projects

    9 Functions9.2 Function Declarations9.3 Arguments9.4 The return Statement9.5 Program Termination9.6 RecursionQ & AExercisesProgramming Projects

    10 Program Organization10.2 External Variables10.3 Blocks10.4 Scope10.5 Organizing a C ProgramQ & AExercisesProgramming Projects

    11 Pointers11.2 The Address and Indirection Operators11.3 Pointer Assignment11.4 Pointers as Arguments11.5 Pointer as Return ValuesQ & AExercisesProgramming Projects

    12 Pointers and Arrays12.2 Using Pointers for Array Processing12.3 Using an Array Name as a Pointer12.4 Pointers and Multidimensional Arrays12.5 Pointers and Variable-Length Arrays (C99)Q & AExercisesProgramming Projects

    13 Strings13.2 String Variables13.3 Reading and Writing Strings13.4 Accessing the Characters in a String13.5 Using the C String Library13.6 String Idioms13.7 Arrays of StringsQ & AExercisesProgramming Projects

    14 The Processor14.2 Preprocessing Directives14.3 Macro Definitions14.4 Conditional Compilation14.5 Miscellaneous DirectivesQ & AExercises

    15 Writing Large Programs15.2 Header Files15.3 Dividing a Program into Files15.4 Building a Multiple-File ProgramQ & AExercisesProgramming Projects

    16 Structures, Unions, and Enumerations16.2 Structure Types16.3 Nested Arrays and Structures16.4 Unions16.5 EnumerationsQ & AExercisesProgramming Projects

    17 Advanced Uses of Pointers17.2 Dynamically Allocated Strings17.3 Dynamically Allocated Arrays17.4 Deallocating Storage17.5 Linked Lists17.6 Pointers to Pointers17.7 Pointers to Functions17.8 restricted Pointers (C99)17.9 Flexible Array Members (C99)Q & AExercisesProgramming Projects

    18 Declarations18.2 Storage Classes18.3 Type Qualifiers18.4 Declarators18.5 Initializers18.6 Inline Functions (C99)Q & AExercises

    19 Program Design19.2 Information Hiding19.3 Abstract Data Types19.4 A Stack Abstract Data Type19.5 Design Issues for Abstract Data TypesQ & AExercisesProgramming Projects

    20 Low-Level Programming20.2 Bit-Fields in Structures20.3 Other Low-Level TechniquesQ & AExercisesProgramming Projects

    21 The Standard Library21.2 C89 Library Overview21.3 C99 Library Changes21.4 The Header: Common Definitions21.5 The Header (C99): Boolean Type and ValuesQ & AExercisesProgramming Projects

    22 Input/Output22.2 File Operations22.3 Formatted I/O22.4 Character I/O22.5 Line I/O22.6 Block I/O22.7 File Positioning22.8 String I/OQ & AExercisesProgramming Projects

    23 Library Support for Numbers and Character Data23.2 The Header: Sizes of Integer Types23.3 The Header (C89): Mathematics23.4 The Header (C99): Mathematics23.5 The Header: Character Handling23.6 The Header: String HandlingQ & AExercisesProgramming Projects

    24 Error Handling24.2 The Header: Errors24.3 The Header: Signal Handling24.4 The Header: Nonlocal JumpsQ & AExercises

    25 International Features25.2 Multibyte Characters and Wide Characters25.3 Digraphs and Trigraphs25.4 Universal Character Names (C99)25.5 The Header (C99) Extended Multibyte and Wide-Character Utilities25.6 The Header (C99) Wide-Character Classification and Mapping UtilitiesQ & AExercisesProgramming Projects

    26 Miscellaneous Library Functions26.2 The Header: General Utilities26.3 The Header: Date and TimeQ & AExercisesProgramming Projects

    27 Additional C99 Support for Mathematics27.2 The Header (C99) Format Conversion of Integer Types27.3 Complex Numbers (C99)27.4 The Header (C99): Complex Arithmetic27.5 The Header (C99): Type-Generic Math27.6 The Header (C99): Floating-Point EnvironmentQ & AExercisesProgramming Projects

    APPENDIX A - EAPPENDIX A 'C Operators'APPENDIX B 'C99 versus C89'2: C Fundamentals4: Expressions5: Selection Statements6: Loops7: Basic Types8: Arrays9: Functions14: The Preprocessor16: Structures, Unions, and Enumerations17: Advanced Uses of Pointers18: Declarations21: The Standard Library22: Input/Output23: Library Support for Numbers and Character Data24: Error Handling25: International Features26: Miscellaneous Library Functions27: Additional C99 Support for Mathematics

    APPENDIX C 'C89 versus K&R C'2: C Fundamentals4: Expressions5: Selection Statements7: Basic Types9: Functions12: Pointers and Arrays13: Strings14: The Preprocessor16: Structures, Unions, and Enumerations17: Advanced Uses of Pointers18: Declarations25: International Features26: Miscellaneous Library Functions

    APPENDIX D Standard Library FunctionsABCDEFGHILMNPQRSTUVW

    APPENDIX E ASCII Character Set

    BIBLIOGRAPHYC ProgrammingUNIX ProgrammingProgramming in GeneralWeb Resources