An Introduction to C & GUI Programming

by Simon Long

DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

Even if you are an absolute beginner, this book will teach you all you need to know to write simple programs in C and start creating GUIs.

The first half of the book is an introduction to C, and covers the basics of writing simple command-line programs. The second half shows how to use the GTK user interface toolkit with C to create feature-rich GUI applications which can be run on the desktop.

- Create simple command-line C programs
- Control flow with conditions and loops
- Handle variables, strings, and files
- Design graphical user interface applications in C
- Handle user input with buttons and menus
- Use advanced UI features such as data stores and dialogs

This open book is licensed under a Creative Commons License (CC BY-NC-SA). You can download An Introduction to C & GUI Programming ebook for free in PDF format (9.3 MB).

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
Chapter 6
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
Chapter 16
Labels and layout
Chapter 17
More advanced layout
Chapter 18
GUI user input
Chapter 19
Combo boxes and list stores
Chapter 20
Tree views
Chapter 21
Chapter 22
Chapter 23
Built-in dialogs
Chapter 24
Customising widgets
Chapter 25
Chapter 26
C quick reference

Book Details

Computer Science
Raspberry Pi Press
ISBN13 Digital
ISBN10 Digital
PDF Size
9.3 MB

Book Hashtags

Related Books

Programming Persistent Memory
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times - a huge leap forward in byte-addressable capacity compar...
Android on x86
Android on x86: an Introduction to Optimizing for IntelĀ® Architecture serves two main purposes. First, it makes the case for adapting your applications onto Intel's x86 architecture, including discussions of the business potential, the changing landscape of the Android marketplace, and the unique challenges and opportunities that arise from x86 de...
An Introduction to Matlab and Mathcad
This free book, or really a "coursebook" for a college freshman-level class, has been updated for Spring 2014 and provides an introduction to programming and problem solving using both Matlab and Mathcad. We provide a balanced selection of introductory exercises and real-world problems (i.e. no "contrived" problems). We include ...
Introduction to Law
This book is exceptional in the sense that it provides an introduction to law in general rather than the law of one specific jurisdiction, and it presents a unique way of looking at legal education. It is crucial for lawyers to be aware of the different ways in which societal problems can be solved and to be able to discuss the advantages and disad...
Python Machine Learning Projects
As machine learning is increasingly leveraged to find patterns, conduct analysis, and make decisions - sometimes without final input from humans who may be impacted by these findings - it is crucial to invest in bringing more stakeholders into the fold. This book of Python projects in machine learning tries to do just that: to equip the developers ...
An Introduction to Computer Networks
An Introduction to Computer Networks, a free and open general-purpose computer-networking free book, complete with diagrams and exercises. It covers the LAN, internetworking and transport layers, focusing primarily on TCP/IP. Particular attention is paid to congestion; other special topics include queuing, real-time traffic, network management, sec...