Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Learn C Programming
Learn C Programming

Learn C Programming: A beginner's guide to learning the most powerful and general-purpose programming language with ease , Second Edition

eBook
€25.99 €28.99
Paperback
€35.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Learn C Programming

Running Hello, World!

Computer programming is about learning how to solve problems with a computer – it's about how to get a computer to do all the tedious work for you. The basic development cycle, or process of writing a computer program, is to determine the steps that are necessary to solve the problem at hand and then tell the computer to perform those steps. Our first problem, as we begin exploring this process, is to learn how to write, build, run, and verify a minimal C program.

In this chapter, we will cover the following topics:

  • Writing your first C program
  • Understanding the program development cycle
  • Creating, typing into a text editor, and saving your C program
  • Compiling your first C program
  • Running your program, verifying its result, and, if necessary, fixing it
  • Exploring different commenting styles and using them
  • Employing guided chaos, followed by careful observation for deeper learning

The knowledge gained with these topics will be essential for further progress. So, let's get started!

Technical requirements

To complete this chapter and the rest of this book, you will need a running computer that has the following capabilities:

  • A basic text editor that can save unformatted plain text
  • A Terminal window where commands can be entered via the command line
  • A compiler to build your C programs with

Each of these will be explained in more detail as we encounter them in this chapter.

The source code for this chapter can be found at https://github.com/PacktPublishing/Learn-C-Programming-Second-Edition. However, please make every effort to type the source code in yourself. Even if you find this frustrating at first, you will learn far more and learn far more quickly if you do all the code entry yourself.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Learn essential C concepts such as variables, data structures, functions, loops, and pointers
  • Grasp the core programming aspects that form the base of many modern programming languages
  • Work with updated code samples and cover array declaration and initialization in detail in this new edition

Description

The foundation for many modern programming languages such as C++, C#, JavaScript, and Go, C is widely used as a system programming language as well as for embedded systems and high-performance computing. With this book, you'll be able to get up to speed with C in no time. The book takes you through basic programming concepts and shows you how to implement them in the C programming language. Throughout the book, you’ll create and run programs that demonstrate essential C concepts, such as program structure with functions, control structures such as loops and conditional statements, and complex data structures. As you make progress, you’ll get to grips with in-code documentation, testing, and validation methods. This new edition expands upon the use of enumerations, arrays, and additional C features, and provides two working programs based on the code used in the book. What's more, this book uses the method of intentional failure, where you'll develop a working program and then purposely break it to see what happens, thereby learning how to recognize possible mistakes when they happen. By the end of this C programming book, you’ll have developed basic programming skills in C that can be easily applied to other programming languages and have gained a solid foundation for you to build on as a programmer.

Who is this book for?

If you're an absolute beginner who has basic familiarity with operating a computer, this book will help you learn the most fundamental concepts and practices that you need to know to become a successful C programmer. If you're an experienced programmer, you'll find the full range of C syntax as well as common C idioms covered in the book useful.

What you will learn

  • Implement fundamental programming concepts through C programs
  • Understand the importance of creating complex data types and the functions to manipulate them
  • Develop good coding practices and learn to write clean code
  • Validate your programs before developing them further
  • Use the C Standard Library functions and understand why it is advantageous
  • Build and run a multi-file program with Make
  • Get an overview of how C has changed since its introduction and where it is going

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 30, 2022
Length: 742 pages
Edition : 2nd
Language : English
ISBN-13 : 9781801078450
Vendor :
DeepMind
Category :
Languages :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Aug 30, 2022
Length: 742 pages
Edition : 2nd
Language : English
ISBN-13 : 9781801078450
Vendor :
DeepMind
Category :
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 107.97
Deciphering Object-Oriented Programming with C++ [WARNING: NOT FOR USE IN OTHER MATERIAL/SEE CONTRACT]
€35.99
Learn Python Programming, 3rd edition
€35.99
Learn C Programming
€35.99
Total 107.97 Stars icon

Table of Contents

36 Chapters
Part 1: C Fundamentals Chevron down icon Chevron up icon
Chapter 1: Running Hello, World! Chevron down icon Chevron up icon
Chapter 2: Understanding Program Structure Chevron down icon Chevron up icon
Chapter 3: Working with Basic Data Types Chevron down icon Chevron up icon
Chapter 4: Using Variables and Assignments Chevron down icon Chevron up icon
Chapter 5: Exploring Operators and Expressions Chevron down icon Chevron up icon
Chapter 6: Exploring Conditional Program Flow Chevron down icon Chevron up icon
Chapter 7: Exploring Loops and Iterations Chevron down icon Chevron up icon
Chapter 8: Creating and Using Enumerations Chevron down icon Chevron up icon
Part 2: Complex Data Types Chevron down icon Chevron up icon
Chapter 9: Creating and Using Structures Chevron down icon Chevron up icon
Chapter 10: Creating Custom Data Types with typedef Chevron down icon Chevron up icon
Chapter 11: Working with Arrays Chevron down icon Chevron up icon
Chapter 12: Working with Multi-Dimensional Arrays Chevron down icon Chevron up icon
Chapter 13: Using Pointers Chevron down icon Chevron up icon
Chapter 14: Understanding Arrays and Pointers Chevron down icon Chevron up icon
Chapter 15: Working with Strings Chevron down icon Chevron up icon
Chapter 16: Creating and Using More Complex Structures Chevron down icon Chevron up icon
Part 3: Memory Manipulation Chevron down icon Chevron up icon
Chapter 17: Understanding Memory Allocation and Lifetime Chevron down icon Chevron up icon
Chapter 18: Using Dynamic Memory Allocation Chevron down icon Chevron up icon
Part 4: Input and Output Chevron down icon Chevron up icon
Chapter 19: Exploring Formatted Output Chevron down icon Chevron up icon
Chapter 20: Getting Input from the Command Line Chevron down icon Chevron up icon
Chapter 21: Exploring Formatted Input Chevron down icon Chevron up icon
Chapter 22: Working with Files Chevron down icon Chevron up icon
Chapter 23: Using File Input and File Output Chevron down icon Chevron up icon
Part 5: Building Blocks for Larger Programs Chevron down icon Chevron up icon
Chapter 24: Working with Multi-File Programs Chevron down icon Chevron up icon
Chapter 25: Understanding Scope Chevron down icon Chevron up icon
Chapter 26: Building Multi-File Programs with Make Chevron down icon Chevron up icon
Chapter 27: Creating Two Card Programs Chevron down icon Chevron up icon
Epilogue Chevron down icon Chevron up icon
Assessments Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7
(6 Ratings)
5 star 83.3%
4 star 0%
3 star 16.7%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Rachel barber Oct 30, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
starts from the ground up avoids getting bogged down early in the book and teaches at a good pace for beginners.good idioms and some history here and there with well thought out examples for intermediate readers.
Amazon Verified review Amazon
Sarthak Nov 27, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Sometime It's worthwhile to understand past data to connect the dots for every "WHY ?" questionsarises out of curiosity and for sake of understanding that topic thoroughly.Thank you Jeff for keeping Historical Notes.I loved the used analogies and practical examples to make us understand topic thoroughly.
Amazon Verified review Amazon
kfay Nov 02, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I found this book to be very easy to read and follow. The advice given in the Preface was important not only for learning C from this book effectively but also to learn from any other. Don't skip the preface.The source code formatting is sometimes a bit wonky (line breaks in the wrong places cause the most compiler errors) which is sometimes frustrating. But I was thankful that all ofsource code in the book is also available for download from Github. That made figuringout where I went wrong with my own version of each program a bit easier.I noticed that the 2nd edition contains additional chapters, one of which includes two complete but simple card games. It seems as if the entire book leads up to being able to build and understand these two complete programs.Is this the only book you'll need to learn C? No, I don't think so, but after working through it, I think I am now well prepared to undertake the next level of learning C. There are also lots of example programs which may come in handy later.
Amazon Verified review Amazon
Tim Kellermann Dec 01, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
After reading this book, I can confidently say it contains all the information one would need to drastically improve their C programming knowledge. From beginners downloading and configuring a compiler to an intermediate level with pointer and memory allocation, this book has it all. I was pleasantly surprised by the explanation and examples of pointers. Pointers can be a serious sore spot for many new programmers, but this book has an eloquent explanation that I found extremely helpful. Another big takeaway for me was that this book contains information on good programming practices such as creating a multi-file program that is easily comprehensible for others. Learning about good programming practices will benefit every new programmer when entering the software development or embedded systems industries. Therefore, I will be recommending this book to all who are interested in learning C or embedded systems. Thank you and happy coding!
Amazon Verified review Amazon
Krishnan Raghavan Nov 14, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I am coming back to C Programming language after a very long time and this book helped me with getting up and running quite nicely. This book is not specific either for beginners or advanced programmers but kind of touches the sweet spot where both kinds of readers can benefit from the book. For beginners, this book handholds and teaches a new programming language by covering the theory part with many code examples that should be typed and practiced. Advanced programmers can skip the theory part and read and understand the code along with practicing the same for consolidating their knowledge. The questions at the end of each chapter ensure that the topic covered in the chapter is well understood by the reader. The author suggests that experienced programmers can skim through the theory part but I would advise against the same. If nothing else, it can work as a refresher to the concepts that we are aware of but over a period of time kind of forgotten.This book is divided into four parts with each part covering a specific aspect of C programming. The first part covers the fundamentals of C programming where the author starts with writing a simple Hello World program and then introduces more basic concepts like what is the structure of a program and data types in the subsequent chapters. Other topics that are covered as part of this block are a few important topics like loops, iterations and enumerations.Part 2 covers more advanced topics and complex data types where the author takes the reader through a journey of understanding what are structures and how to create and use them in your program. Arrays are also introduced in this part of the book covering both single as well as multi-dimensional arrays. Chapter 13 onward, the reader is introduced to very important C concepts of Pointers and how pointers work with arrays and strings. Pointers are one of the most difficult topics and the author has done a reasonably good job of explaining the same. In my personal opinion, Pointers should be a book by itself.Part 3 covers Memory Manipulations techniques where the author explains how memory allocation works.Part 4 covers the different Input and Output formats that are available in C including covering the topic of how to read and write from a file.Part 5 basically helps the reader understand how to create and manage programs consisting of multiple files. i.e. instead of writing a program that has a single source file, how relevant part of the program can be called from multiple source files making it easier to maintain an application.The last chapter helps reader consolidate their knowledge by writing a game using all the techniques learnt from different topics.At the end of each chapter, there are questions which help consolidate the lessons learnt in that particular chapter which ideally should not be skipped. There is a concise summary at the end of each chapter.I found the book to be very well written as it takes the user on a journey about learning C programming. Kudos to Jeff Szuhay for writing such a wonderful book.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.