Skip navigation

Bookboon.com Download free eBooks and textbooks

Choose a category

C Programming in Linux

C Programming in Linux
4.6 (62 reviews) Read reviews
ISBN: 978-87-403-0543-2
2 edition
Pages : 80
  • Price: 129.00 kr
  • Price: €13.99
  • Price: £13.99
  • Price: ₹250
  • Price: $13.99
  • Price: 129.00 kr
  • Price: 129.00 kr

Download for FREE in 4 easy steps...

We are terribly sorry, but in order to download our books or watch our videos, you will need a browser that allows JavaScript.
After entering your email address, a confirmation email will be sent to your inbox. Please approve this email to receive our weekly eBook update. We will not share your personal information with any third party.
eLib
Unlock your organization's learning potential
See Demo

Corporate eLibrary

Discover our employee learning solutions

This is a Premium eBook

Bookboon Premium - Gain access to over 800 eBooks - without ads

You can get free access for a month to this - and 800 other books with the Premium Subscription. You can also buy the book below

  • Start a 30-day free trial. After trial: 39.99 kr p/m
  • Start a 30-day free trial. After trial: €5.99 p/m
  • Start a 30-day free trial. After trial: £4.99 p/m
  • Start a 30-day free trial. After trial: ₹299 p/m
  • Start a 30-day free trial. After trial: $3.99 p/m
  • Start a 30-day free trial. After trial: 39.99 kr p/m
  • Start a 30-day free trial. After trial: 39.99 kr p/m
eLib
Unlock your organization's learning potential
Click here!

Corporate eLibrary

Discover our employee learning solutions

About the book

  1. Reviews
  2. Description
  3. Preface
  4. Content
  5. About the Author

Reviews

Adrian ★★★★★

Great book. But where can I download the Source code zip bundle?

Description

Using a series of web development examples, this book 'C Programming in Linux' will give you an interesting glimpse into a powerful lower-level world.

C is tight and spare and economical, and in the current world climate people who know C will ensure critical systems keep running.

A knowledge of C is now and has been for years a pre-requisite for serious software professionals and with the recent popularity and maturity of Open Systems this is even more true.

Click here to see the source code for this book.

Preface

Why learn the C language?

Because the C language is like Latin - it is finite and has not changed for years. C is tight and spare, and in the current economic climate we will need a host of young people who know C to keep existing critical systems running.

C is built right into the core of Linux and Unix. The design idea behind Unix was to write an operating system in C so all you needed to port it to a new architecture was a C compiler. Linux is essentially the success story of a series of earlier attempts to make a PC version of Unix.

A knowledge of C is now and has been for years a pre-requisite for serious software professionals and with the recent popularity and maturity of Open Systems this is even more true. The terseness and perceived difficulty of C saw it being ousted from university teaching during the late 1990s in favour of Java but there is a growing feeling amongst some teaching communities that Java really is not such a good place to start beginners.

Students paradoxically arrive at colleges knowing less about computing than they did ten years ago as programming is seen as too difficult for schools to teach. Meanwhile the body of knowledge expected of a competent IT professional inexorably doubles every few years.

Java is commonly taught as a first language but can cause student confusion as it is in constant flux, is very abstract and powerful, and has become too big with too many different ways to do the same thing. It also is a bit “safe” and insulates students from scary experiences, like driving with air-bags and listening to headphones so you take less care. The core activity of writing procedural code within methods seems impenetrable to those who start from classes and objects.

So where do we start? A sensible place is “at the beginning” and C is as close as most of us will ever need to go unless we are becoming hardware designers. Even for these students to start at C and go further down into the machine is a good idea.

C is like having a very sharp knife which can be dangerous, but if you were learning to be a chef you would need one and probably cut yourself discovering what it can do. Similarly C expects you to know what you are doing, and if you don't it will not warn before it crashes.

A knowledge of C will give you deep knowledge of what is going on beneath the surface of higher-level languages like Java. The syntax of C pretty-well guarantees you will easily understand other languages that came afterwards like C++, Java, Javascript, and C#.

C gives you access to the heart of the machine and all its resources at a fine-grained bit-level.


C has been described as like “driving a Porsche with no brakes” - and because it is fast as well this can be exhilarating. C is is often the only option when speed and efficiency is crucial.

C has been called “dangerous” in that it allows low-level access to the machine but this scariness is exactly what you need to understand as it gives you respect for the higher-level languages you will use.

Many embedded miniaturised systems are all still written in C and the machine-to-machine world of the invisible internet for monitoring and process control often uses C.

Hopefully this list of reasons will start you thinking that it might be a good reason to have a go at this course.

Content

About the author, David Haskins

Introduction

Setting up your System

  1. Hello World
    1. Hello Program 1
    2. Hello Program 2
    3. Hello Program 3
    4. Hello Program 4
    5. Hello World conclusion
  2. Data and Memory
    1. Simple data types?
    2. What is a string?
    3. What can a string “mean”
    4. Parsing a string
    5. Data and Memory – conclusion
  3. Functions, pointers and structures
    1. Functions
    2. Library Functions
    3. A short library function reference
    4. Data Structures
    5. Functions, pointers and structures – conclusion
  4. Logic, loops and flow control
    1. Syntax of C Flow of control
    2. Controlling what happens and in which order
    3. Logic, loops and flow conclusion
  5. Database handling with MySQL
    1. On not reinventing the wheel
    2. MySQL C API
  6. Graphics with GD library
    1. Generating binary content
    2. Using TrueType Fonts
    3. GD function reference
  7. Apache C modules
    1. Safer C web applications
    2. Adding some functionality
    3. Apache Modules Conclusion
  8. The Ghost project
    1. A PHP web site generator project

Conclusion

About the Author

I was born in 1950 in Chelsea, London, but grew up in New Zealand returning to England in 1966. I have worked in the computer industry since 1975 after a couple of years as a professional drummer.

My first experience was five years as a mainframe hardware engineer for Sperry Univac (now Unisys) followed by 14 years as an analyst programmer with British Telecom in London.

While engaged in a complex task of converting large quantities of geographical data (map coordinate references) I discovered the joys of C – its speed and efficiency. That was in 1985 and I have been a fan of C ever since.

Since 1994 I have been a senior lecturer at the Faculty of Computing, Information Systems and Mathematics at Kingston University, London. This is a mostly technical university that evolved from a former polytechnic college with a long tradition of aeronautical engineering.

I am engaged mainly in teaching many computer languages and internet systems design to a large and multicultural student body.

Most of my academic research and commercial consultancy has been involved with spatial systems design and the large data volumes and necessary processing efficiency concerns has led me to concentrate on C and C++. My teaching web site is at www.ubiubi.org which shows some of this material.

A keen Open Systems enthusiast, I have exclusively centred all my teaching on the Linux platform since 2002 and Kingston University is well advanced in delivering dual boot facilities for all its student labs.

This website uses cookies to improve user experience. By using our website you consent to all cookies in accordance with EU regulation.