C remains one of the most widely used programming languages in the world, ranking consistently in the top tier of the TIOBE Index with over 11% market.
It powers the Linux kernel, Git, NGINX, and countless embedded systems that run everything from household appliances to spacecraft. Learning C gives developers a deep understanding of memory management, pointer arithmetic, and how computers actually work at the hardware level — skills that translate directly to languages like C++, Rust, and even Python.
As embedded systems, IoT devices, and edge AI continue to expand, the demand for engineers who can write efficient, low-level C code shows no sign of slowing down.
About the book
An Introduction to C & GUI Programming, 2nd Edition is a hands-on guide written by Simon Long, a senior software engineer at Raspberry Pi. The book is split into two distinct halves. The first twelve chapters teach the fundamentals of C programming from scratch — variables, control flow, functions, pointers, arrays, file I/O, and the preprocessor.
No prior programming experience is assumed. The second half (chapters 13 through 25) dives into GUI application development using the GTK 3 toolkit, showing how to build windows, buttons, menus, dialogs, tree views, and custom widgets. The final chapter provides a quick reference and cheat sheets.
What you will learn
- Write, compile, and run C programs on a Linux system
- Use variables, operators, and arithmetic expressions
- Control program flow with conditions, loops, and switch statements
- Work with pointers, arrays, and strings
- Create and use functions to organize code
- Read from and write to files
- Build graphical user interfaces with the GTK 3 library
- Design windows with buttons, labels, menus, combo boxes, and tree views
- Create custom dialogs and use built-in GTK dialogs
- Design application layouts visually with Glade
Table of contents
- Chapter 1: Getting started
- Chapter 2: Variables and arithmetic
- Chapter 3: Conditions and comparisons
- Chapter 4: More advanced flow control
- Chapter 5: Pointers
- Chapter 6: Functions
- Chapter 7: Arrays and strings
- Chapter 8: The string library
- Chapter 9: User input
- Chapter 10: File input and output
- Chapter 11: More about types and variables
- Chapter 12: Header files and the preprocessor
- Chapter 13: Introduction to GTK
- Chapter 14: Your first GTK program
- Chapter 15: Buttons
- Chapter 16: Labels and layout
- Chapter 17: More advanced layout
- Chapter 18: User input
- Chapter 19: Combo boxes and list stores
- Chapter 20: Tree views
- Chapter 21: Menus
- Chapter 22: Dialogs
- Chapter 23: Built-in dialogs
- Chapter 24: Customising widgets
- Chapter 25: Glade
- Chapter 26: Quick reference
Book details
- Title: An Introduction to C & GUI Programming, 2nd Edition
- Author(s): Simon Long
- Publication year: 2022
- Publisher: Raspberry Pi Trading Ltd
- Pages: 156
- PDF size: 7.51 MB
- Estimated reading time: ~3 h 54 min
- Level: Beginner
- Main category: Programming
- Subcategory: C
- Language: English
- License: CC BY-NC-SA 3.0
More books in: C, Programming
Legal notice: This book is shared for educational purposes only. The content is distributed under Creative Commons licenses or with explicit permission from the author. FreeProgrammingBooks may host files that comply with their respective licenses.