Intermediate C Programming

Book description

This text provides a stepping-stone for intermediate-level students to go from writing short programs to writing real programs well. It shows students how to identify and eliminate bugs, write clean code, share code with others, and use standard Linux-based tools. It enhances their programming skills by explaining programming concepts and comparing common mistakes with correct programs. The book also discusses how to use debuggers and the strategies for debugging as well as studies the connection between programming and discrete mathematics.

Table of contents

  1. Front Cover
  2. Contents (1/2)
  3. Contents (2/2)
  4. List of Figures (1/2)
  5. List of Figures (2/2)
  6. List of Tables
  7. Foreword
  8. Preface
  9. Author, Reviewers, and Artist
  10. Rules in Software Development
  11. Source Code
  12. I. Computer Storage: Memory and File
    1. 1. Program Execution (1/2)
    2. 1. Program Execution (2/2)
    3. 2. Stack Memory (1/5)
    4. 2. Stack Memory (2/5)
    5. 2. Stack Memory (3/5)
    6. 2. Stack Memory (4/5)
    7. 2. Stack Memory (5/5)
    8. 3. Prevent, Detect, and Remove Bugs (1/2)
    9. 3. Prevent, Detect, and Remove Bugs (2/2)
    10. 4. Pointers (1/6)
    11. 4. Pointers (2/6)
    12. 4. Pointers (3/6)
    13. 4. Pointers (4/6)
    14. 4. Pointers (5/6)
    15. 4. Pointers (6/6)
    16. 5. Writing and Testing Programs (1/4)
    17. 5. Writing and Testing Programs (2/4)
    18. 5. Writing and Testing Programs (3/4)
    19. 5. Writing and Testing Programs (4/4)
    20. 6. Strings (1/3)
    21. 6. Strings (2/3)
    22. 6. Strings (3/3)
    23. 7. Programming Problems and Debugging (1/4)
    24. 7. Programming Problems and Debugging (2/4)
    25. 7. Programming Problems and Debugging (3/4)
    26. 7. Programming Problems and Debugging (4/4)
    27. 8. Heap Memory (1/3)
    28. 8. Heap Memory (2/3)
    29. 8. Heap Memory (3/3)
    30. 9. Programming Problems Using Heap Memory (1/4)
    31. 9. Programming Problems Using Heap Memory (2/4)
    32. 9. Programming Problems Using Heap Memory (3/4)
    33. 9. Programming Problems Using Heap Memory (4/4)
    34. 10. Reading and Writing Files (1/3)
    35. 10. Reading and Writing Files (2/3)
    36. 10. Reading and Writing Files (3/3)
    37. 11. Programming Problems Using File (1/2)
    38. 11. Programming Problems Using File (2/2)
  13. II. Recursion
    1. 12. Recursion (1/4)
    2. 12. Recursion (2/4)
    3. 12. Recursion (3/4)
    4. 12. Recursion (4/4)
    5. 13. Recursive C Functions (1/4)
    6. 13. Recursive C Functions (2/4)
    7. 13. Recursive C Functions (3/4)
    8. 13. Recursive C Functions (4/4)
    9. 14. Integer Partition (1/5)
    10. 14. Integer Partition (2/5)
    11. 14. Integer Partition (3/5)
    12. 14. Integer Partition (4/5)
    13. 14. Integer Partition (5/5)
    14. 15. Programming Problems Using Recursion (1/5)
    15. 15. Programming Problems Using Recursion (2/5)
    16. 15. Programming Problems Using Recursion (3/5)
    17. 15. Programming Problems Using Recursion (4/5)
    18. 15. Programming Problems Using Recursion (5/5)
  14. III. Structure
    1. 16. Programmer-Defined Data Types (1/6)
    2. 16. Programmer-Defined Data Types (2/6)
    3. 16. Programmer-Defined Data Types (3/6)
    4. 16. Programmer-Defined Data Types (4/6)
    5. 16. Programmer-Defined Data Types (5/6)
    6. 16. Programmer-Defined Data Types (6/6)
    7. 17. Programming Problems Using Structure (1/4)
    8. 17. Programming Problems Using Structure (2/4)
    9. 17. Programming Problems Using Structure (3/4)
    10. 17. Programming Problems Using Structure (4/4)
    11. 18. Linked Lists (1/3)
    12. 18. Linked Lists (2/3)
    13. 18. Linked Lists (3/3)
    14. 19. Programming Problems Using Linked List (1/2)
    15. 19. Programming Problems Using Linked List (2/2)
    16. 20. Binary Search Trees (1/4)
    17. 20. Binary Search Trees (2/4)
    18. 20. Binary Search Trees (3/4)
    19. 20. Binary Search Trees (4/4)
    20. 21. Parallel Programming Using Threads (1/5)
    21. 21. Parallel Programming Using Threads (2/5)
    22. 21. Parallel Programming Using Threads (3/5)
    23. 21. Parallel Programming Using Threads (4/5)
    24. 21. Parallel Programming Using Threads (5/5)
  15. IV. Applications
    1. 22. Finding the Exit of a Maze (1/5)
    2. 22. Finding the Exit of a Maze (2/5)
    3. 22. Finding the Exit of a Maze (3/5)
    4. 22. Finding the Exit of a Maze (4/5)
    5. 22. Finding the Exit of a Maze (5/5)
    6. 23. Image Processing (1/3)
    7. 23. Image Processing (2/3)
    8. 23. Image Processing (3/3)
    9. 24. Huffman Compression (1/10)
    10. 24. Huffman Compression (2/10)
    11. 24. Huffman Compression (3/10)
    12. 24. Huffman Compression (4/10)
    13. 24. Huffman Compression (5/10)
    14. 24. Huffman Compression (6/10)
    15. 24. Huffman Compression (7/10)
    16. 24. Huffman Compression (8/10)
    17. 24. Huffman Compression (9/10)
    18. 24. Huffman Compression (10/10)
  16. A. Linux
  17. B. Version Control
  18. C. Integrated Development Environments (IDE) (1/3)
  19. C. Integrated Development Environments (IDE) (2/3)
  20. C. Integrated Development Environments (IDE) (3/3)

Product information

  • Title: Intermediate C Programming
  • Author(s): Yung-Hsiang Lu
  • Release date: June 2015
  • Publisher(s): CRC Press
  • ISBN: 9781498711647