432 Pages 14 Color & 40 B/W Illustrations
    by CRC Press

    432 Pages 14 Color & 40 B/W Illustrations
    by CRC Press

    432 Pages 14 Color & 40 B/W Illustrations
    by CRC Press

    Revised for a new second edition, Intermediate C Programming 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, such as ddd and valgrind.

    This second edition provides expanded coverage of these topics with new material focused on software engineering, including version control and unit testing. The text enhances their programming skills by explaining programming concepts and comparing common mistakes with correct programs. It also discusses how to use debuggers and the strategies for debugging as well as studies the connection between programming and discrete mathematics.

    Including additional student and instructor resources available online, this book is particularly appealing as a classroom resource.

    List of Figures

    List of Tables

    Foreword for the First Edition

    Recommendations for the First Edition



    Source Code

    Author and Artist

    I Storage: Memory and File

    1.       Program Execution

    2.       Stack Memory

    3.       Prevent, Detect and Remove Bugs

    4.       Pointers

    5.       Writing and Testing Programs

    6.       Strings

    7.       Heap Memory

    8.       Programming Problems Using Heap Memory

    9.       Reading and Writing Files

    10.   Programming Problems Using File

    11.   Array Index, Security and Trends

    12.   Version Control

    II Recursion

    13.   Concept

    14.   Recursive C Functions

    15.   Integer Partition

    16.   Programming Problems Using Recursion

    III Structure

    17.   Programmer-Defined Data Types

    18.   Programming Problems Using Structure

    19.   Linked Lists

    20.   Programming Problems Using Linked List

    21.   Binary Search Tree

    22.   Parallel Programming Using Threads

    23.   Unit Test

    IV Applications

    24.   Find the Exit of a Maze

    25.   Sudoku

    26.   Image Processing

    27.   Huffman Compression


    Epilogue: The Computer Engineer as Tool-User


    Yung-Hsiang Lu is a professor in the School of Electrical and Computer Engineering of Purdue University, West Lafayette, Indiana USA. He is a fellow of the IEEE and distinguished scientist of the ACM. He is the first director of Purdue's John Martinson Entrepreneurial Center. His research areas include computer vision and embedded systems. He received the PhD. from Electrical Engineering of Stanford University, California, USA.

    George K. Thiruvathukal is a professor and chairperson in the Computer Science department at Loyola University Chicago. He is a senior member of IEEE. His research areas include parallel and distributed systems, software engineering, and computer visions. He received the PhD. from Illinois Institute of Technology.