Fork me on GitHub

Project Notes

Practical C Programming

Book notes - Practical C Programming, 3rd Edition by Steve Oualline, pubished by O’Reilly

Notes

Table of Contents - Highlights

I. Basics

    1. What Is C?
    1. Basics of Program Writing
    1. Style
    1. Basic Declarations and Expressions
    1. Arrays, Qualifiers, and Reading Numbers
    1. Decision and Control Statements
    1. Programming Process

II. Simple Programming

    1. More Control Statements
    1. Variable Scope and Functions
    1. C Preprocessor
    1. Bit Operations
    1. Advanced Types
    1. Simple Pointers
    1. File Input/Output
    1. Debugging and Optimization
    1. Floating Point

III. Advanced Programming Concepts

    1. Advanced Pointers
    1. Modular Programming
    1. Ancient Compilers
    1. Portability Problems
    1. C’s Dustier Corners
    1. Putting It All Together
    1. Programming Adages

IV. Other Language Features

  • A. ASCII Table
  • B. Ranges and Parameter Passing Conversions
  • C. Operator Precedence Rules
  • D. A Program to Compute a Sine Using a Power Series

Getting the Example Source

git clone https://resources.oreilly.com/examples/9781565923065.git example_source

Credits and References

About LCK#139 Cbook
Project Source on GitHub Return to the Project Catalog

This page is a web-friendly rendering of my project notes shared in the LittleCodingKata GitHub repository.

LittleCodingKata is my collection of programming exercises, research and code toys broadly spanning things that relate to programming and software development (languages, frameworks and tools).

These range from the trivial to the complex and serious. Many are inspired by existing work and I'll note credits and references where applicable. The focus is quite scattered, as I variously work on things new and important in the moment, or go back to revisit things from the past.

This is primarily a personal collection for my own edification and learning, but anyone who stumbles by is welcome to borrow, steal or reference the work here. And if you spot errors or issues I'd really appreciate some feedback - create an issue, send me an email or even send a pull-request.