Skip to product information
Do it! Introduction to C Programming
Do it! Introduction to C Programming
Description
Book Introduction
A sure first step for beginners, a steady leap forward for those starting again.
Complete your C language learning with this one book!


Is there a book that can satisfy everyone, from beginners learning C for the first time to those with experience in other languages ​​or relearning C? "Do It! Introduction to C Programming" is the definitive answer to that question.
This book is based on a systematic flow of 'concept → practice problems → skill improvement project → final problems', and is designed to help you naturally learn 'how to think in C' rather than simply following the code.

Starting with basic concepts such as variables and data types, it contains a wealth of practical examples that allow you to write your own code. In the following 'Skill Improvement Project', you can understand the principles of the C language by actually implementing programs such as rock-paper-scissors and horse racing games.
Additionally, at the end of each chapter, we have designed the material to be reviewed with 'final questions' so that learners can check their own understanding.

The biggest difference this book has is its explanation method that delves deep into the question, "Why does it work this way?"
Through this, you will learn the structure and usage of the C language, creating a foundation for expanding it to other languages ​​such as C++, Java, and Python.
This book, which contains the author's 25 years of programming education expertise, pinpoints the areas where learners actually experience difficulties and incorporates a customized explanation method that helps beginners continue learning until the end.

This book will be a solid first step for those learning the C language for the first time, and a new starting point for those learning it again, firmly establishing a shaky foundation.
  • You can preview some of the book's contents.
    Preview

index
Chapter 1: Preparing for Programming

01-1 How to instruct a computer to do something

_Give commands in human-friendly language

The Big Three Programming Languages: Python, C, and C++

_The benefits of starting with the C language when learning programming

01-2 Program Development Process and Basic Terminology

_The process of creating and running a program

_Basic programming terms - code, errors, debugging

01-3 Setting up the programming environment

Preparing to Program in C on Windows

Preparing to Program C on macOS

_Preparing to Program C in a Web Browser

01-4 Creating Your First Program

_1.
Creating a Project in Visual Studio

_2.
Creating a C source file

_3.
Writing C code

_4.
Compile

_5.
Run

_6.
Troubleshooting

Final problem



Chapter 2: Getting Started with Programming

02-1 Basic structure of a C program

_Looking at the basic structure

_Basic rules when writing code

_Write a comment

_Functions and Libraries

02-2 How to use the output function

Features of the _printf( ) function

_Various control characters

_Print special characters

02-3 Basic knowledge for programming

_Numbers and expressions

_Logical operations

Final problem



Chapter 3: Storing Data in Variables

03-1 Declaring and using variables

_What is a variable?

_Creating a variable

_Variable naming rules

_Printing data

_Variable initialization

_Declaring multiple variables

_[Skill Improvement Project 01] Finding Square Roots

03-2 How to use input functions

_Input function scanf( )

Precautions when using the _scanf( ) function

_Using scanf( ) in Visual Studio

_[Skill Improvement Project 02] Creating a Arithmetic Operation Program

Final problem



Chapter 4 Types and Characteristics of Data Types

04-1 Integer data type

_Learn about the characteristics of integers

_How to express negative numbers

_unsigned that only stores positive numbers

_Overflow and Underflow

_Data type size and numerical representation range

_Integer format characters

_[Skill Improvement Project 03] Calculating Your Cell Phone Bill

04-2 Real number data type

_Learn about the characteristics of real numbers

_How to save errors

_Size and format of real numbers

_[Skill Improvement Project 04] Creating a Salary Calculator

04-3 Character data type

_Characteristics of the character type

_[Skill Improvement Project 05] Outputting ASCII Code

04-4 Constants and Macros

_Constant variable

_Macro

_[Advanced Learning] Literal

_[Skill Improvement Project 06] Creating Labels

Final problem



Chapter 5 Operators

05-1 Basic concepts and precedence of operators

_Operators and operands

_Operator precedence

05-2 Examining Key Operators

_Arithmetic operators

_Comparison operator

_Logical operators

_Assignment operator

_Increment/decrement operator

_[Skill Improvement Project 07] Calculating the Cost of Purchasing Bottled Water

05-3 Examining Other Operators

_List operator and sizeof operator

_type conversion operator

_[Advanced Learning] Bitwise Operators

_Operator precedence

Final problem



Chapter 6 Conditional Statements

06-1 Branching with if~else statements

_Understanding the basic concepts of control statements

_if statement structure

_if ~ else statement structure

_Brackets and blocks

_Multiple conditional statements

_Create a random number

_[Skill Improvement Project 08] Creating a Rock-Paper-Scissors Game

06-2 Branching with switch~case statement

_switch statement structure

_Multiple conditional statements and switch statements

Utilizing the _switch statement

_Ternary conditional operator

_[Skill Improvement Project 09] Creating a Travel Destination Lottery Program

Final problem



Chapter 7 Loops

07-1 Understanding the Structure of Loops

_Basic concepts and components of loops

_while statement structure

_for statement structure

07-2 Repeating with a for statement

_Nested loops

_Executing system commands ─ system( ) function

_[Skill Improvement Project 10] Creating an Odd-Even Game

07-3 Repeating execution with a while statement

Purpose of _while statement

_do~while statement

07-4 Controlling repetition

_break reserved word

_continue reserved word

_[Skill Improvement Project 11] Creating a Stand Game

Final problem



Chapter 8 Functions

08-1 Creating a User-Defined Function

_Library functions

_The need for user-defined functions

_Structure of user-defined functions

_Location of user-defined functions

_Using parameters

_[Skill Improvement Project 12] Creating a Centimeter-Inch Conversion Program

08-2 Types and scope of variables

_Local variables

_Variable's Survival Scope

_global variables

_Why you should avoid using global variables

_[Skill Improvement Project 13] Creating a Sound Meter

08-3 Types and characteristics of functions

_Types of functions

_Call by reference

_return value

_[Skill Improvement Project 14] Guessing Lucky Numbers

Final problem



Chapter 9 Array

09-1 Basic usage of arrays

_Array declaration and use

_Handling arrays with loops

_Initialize the array

_Handling strings as character arrays

_Initialize character type

_[Skill Improvement Project 15] Finding the Average Using a Macro

09-2 Functions and Arrays

_Array parameters

_String parameter

09-3 [Advanced Learning] Two-Dimensional Arrays

_[Skill Improvement Project 16] Creating a Horse Racing Game

Final problem



Chapter 10 Pointers

Understanding Pointers 10-1

_Direct and indirect access

_Declaring and initializing pointer variables

_Why pointers need data types

10-2 Accessing data with pointers

_Associating an address with a pointer

_The meaning of value assignment and address assignment

_[Skill Improvement Project 17] Creating a Moving Horse Racing Game

10-3 Pointer Constant

_Constants the pointer itself

_Constants the value pointed to by the pointer

10-4 Arrays and Pointers

_Similarities between pointers and arrays

_Difference between pointers and arrays

_Pointers and parameters

10-5 Pointer Arithmetic

_Meaning of data types in pointer operations

_[Advanced Learning] Pointers and Increment/Decrement Operators

_[Skill Improvement Project 18] Adjusting the Number of Horses in a Moving Horse Racing Game

Final problem



Chapter 11 Characters and Strings

11-1 Character and String Input/Output Basics

_Review strings

_Input/Output Buffer

_Character input/output using buffers - getchar( ), putchar( )

_Bufferless character input/output ─ _getch( ) and _putch( )

_String input/output ─ gets( ), puts( )

_[Skill Improvement Project 19] Creating a 40-Segment Billboard

11-2 Character/String Processing Library Functions

_Character processing functions

_String processing functions

_Copy and paste strings

_String comparison and finding

_Convert a string to a number

_[Skill Improvement Project 20] Creating a Password Validation Program

11-3 Handling String Bundles

_Handling string bundles as two-dimensional arrays

_Handling string bundles as arrays of points

_[Skill Improvement Project 21] Creating a Ladder Climbing Program

Final problem



Chapter 12 Structure

12-1 Understanding Structures

_Structure definition and variable declaration

_Putting data into a structure

_Creating a user-defined data type ─ typedef

_Copying a structure

_Member structure

_[Skill Improvement Project 22] Who's the Big Brother? ─ Creating an Age Comparison Program

12-2 Structure arrays and pointers

_Creating an array of structures

_Using an array of structures

_Understanding Structure Pointers

_Structure with structure pointer as member

_[Skill Improvement Project 23] Outputting a Linked List Using a Loop

12-3 Structures and Functions

_Sending a structure to a function

_Sending the structure address to a function

_Returning a structure from a function

_Sending an array of structures to a function

Final problem



Chapter 13 File Input/Output

13-1 Understanding Files

_Streams and Buffers

_Preparing to use the file

_File descriptors and position indicators

_Opening and closing files

_[Skill Improvement Project 24] Opening and Closing Files

13-2 Handling File Input/Output

_Character unit input/output

_String unit input/output

Input/output using _format

_File position indicator

_[Skill Improvement Project 25] Reverse printing of file contents

Final problem



Chapter 14 Preprocessing and Multiple Source Files

14-1 Preprocessing and Macros

_Understanding Preprocessing

_Function Macro

_Using strings in macros

_Built-in macros

_Enumeration

_[Skill Improvement Project 26] Creating a Sorting Algorithm Using Macros

14-2 Multiple source files

_Understanding Multiple Source Files

_Processing of multiple source files

_Multi-source file design

_Multiple source file practice

_Static and external variables ─ static, extern

Final problem



Chapter 15 Double Pointers and Function Pointers

15-1 Double Pointer

_Understanding double pointers

_Two-dimensional arrays and double pointers

_Functions and double pointers

Parameters of the _main( ) function

_void pointer

15-2 Function Pointers

_Understanding Function Pointers

_Using function pointers

_[Skill Improvement Project 27] Creating an Event Simulator

Final problem



Chapter 16 Dynamic Memory Allocation

_16-1 Allocating dynamic memory

_The need for dynamic memory allocation

_Dynamic memory allocation function

_[Skill Improvement Project 28] Creating a Flexible Average Output Program

16-2 Creating a Linked List

_Linked list using dynamic memory

_Implementing a linked list

_Inserting a node into a linked list

_[Skill Improvement Project 29] Creating a Linked List in the Order Entered

Final problem

Model answers to the final questions

Search

Detailed image
Detailed Image 1

Publisher's Review
A 3-step learning structure that builds skills in the same order you learn!

If you systematically learn the basics of the C language, you won't be afraid to learn other programming languages.
This book provides a three-step learning structure that naturally teaches you how to think in C by encouraging you to ask yourself, "Why does it work this way?"

The first stage is the concept learning stage, which explains the essential concepts of the C language in detail and in an easy-to-understand manner.
We've made it easier to learn by using cute characters, and we've made it so that even beginners can easily follow along by explaining difficult or confusing concepts in an easy-to-understand way.
In the second stage, you can solidify your foundation by directly learning the core grammar of the C language through "Do it!" practice through hands-on learning.
The final stage is the in-depth learning stage, which provides 'practice problems', 'final problems', and 'skill improvement projects' to enable students to apply previously learned concepts in practice, allowing them to self-check and expand their skills.
In this way, this book is designed to help you naturally experience that the C language is a programming language that you must learn through hands-on experience, not just memorization.

Master the C language with 140 examples and 'finishing problems'!


Have you ever felt frustrated by the lack of practical problems while learning C? That's why this book includes 140 examples and "Chapter 3 Problems" at the end of each chapter! "Do it! Practice" sections are provided throughout the theory, allowing you to implement the concepts directly into code, ensuring a thorough understanding.
In the 'Final Problems', you can review what you have learned and fill in any gaps.
At the end of this book, you can correct your mistakes by providing answers to the 'Finishing Problems', check your own understanding of the learning, and develop a sense of the C language, which is the ultimate goal.

An introductory book that develops both concepts and practical sense!

This book is not simply an introductory book that lists concepts.
By placing "Development Knowledge Plus" between the theories of each chapter, you can immediately resolve any questions that may arise during the learning process and gain knowledge that will be helpful in actual development work.

In addition, we have included 'advanced learning' content with gradually varying difficulty levels in the middle of the theory, so that you can go one step further from the basics and learn both core and advanced concepts of the C language.
This book will not only solidify your understanding of the principles of the C language, but also provide you with the fundamentals for coding tests and job preparation.
Furthermore, you can naturally acquire a way of thinking that is closer to practical use.

Recommended for these types of people!


· First-year or beginner majoring in programming
· Learners who want to solidify their understanding of programming principles before learning Python, Java, etc.
· Job seekers who want to systematically review C language concepts while preparing for coding tests or developer employment.
· Those looking for a practical C language textbook centered on examples and projects

30 days for beginners of the C language, 16 days for those reviewing!

We provide two study plans and example files.

This book offers two study plans to suit your learning pace.
If you are just starting out with the C language, try the '30-day study plan' that allows you to study thoroughly for 2-3 hours a day. If you are reviewing the C language or have experience using other languages, try the '16-day study plan'.

Additionally, example files required for the practice of this book can be downloaded from the Aegis Publishing website.
Get a feel for the C language naturally by running the code yourself with the example file next to you.

· Easy Publishing website www.easyspub.co.kr → Click [Data Room] → Search by book title

Apply for a study group at 'Do it! Study Room'!


If you plan and study alone, you will quickly become tired.
Join the 'Do it! Study Room' study group and challenge yourself to read this book in its entirety.
You can meet people who study together, upload and share what you study, and get certified to receive a book as a gift.
Also, if you have any questions, please leave them on the 'Do it! Study Room' bulletin board.
Experts and authors will provide clear answers.

· Do it! Study Room: cafe.naver.com/doitstudyroom

[Recommendation]


I was unfamiliar with the C language, but thanks to this book, I was able to understand it easily!

By going over the basic concepts of the C language one by one, I was able to clear up any confusion I had.
It provides examples and practical exercises so that even people without programming experience can easily follow along, and I was able to understand the principles of programming while directly handling memory.
This is an introductory book that I would highly recommend to anyone who wants to lay a solid foundation.

-Job seeker Kang Ji-hyun

A truly 'friendly' textbook that students can complete to the end.

I've tried many C language textbooks, but none are as good as this one for beginners! It's structured in a friendly, step-by-step manner, from basic grammar to projects, and its cute characters and plentiful practice sessions make learning engaging.
An excellent guide for beginners learning the C language.

- Jongcheon Han, a teacher in the Convergence Software Department

An introductory book that allows even beginners to learn deeply.

As the title 'Introduction to Programming' suggests, it is packed with information from the basics to the core.
It covers core grammar applicable not only to C but also to other languages, which was a great help in understanding the fundamental structure and principles of programming.
I highly recommend it as your first C language textbook!

- Zoe from Computer Engineering

Complete it all on your own! A self-directed introduction to the C language.

This is a C language textbook that will help you study on your own without getting stuck.
Complex concepts are explained easily with pictures, and common mistakes are pointed out with error messages.
This introductory book is highly useful for both self-study and class use, as it is systematically organized with real-life examples, practice exercises, and final problems.

- Hwang Hye-rim, director of the coding academy 'Kobang'

The previously daunting C language is now fun!

It was daunting at first, but thanks to this book, learning the C language has become much easier! It's neatly organized, from basic grammar to practical examples, so even beginners can follow along step by step and understand it naturally.
The friendly explanations and hands-on structure helped me build a solid foundation in programming.

- Front-end developer Eden

The perfect combination of theory and practice, allowing for a seamless learning flow.

It stands out for its systematic design, from basic concepts that beginners in programming need to know, to environment settings, theory, practice, and final problems.
It is highly recommended for students learning C for the first time or for instructors teaching it, as it provides a natural learning flow thanks to its balanced structure of theory and practice, and it also has high value as a teaching material.

- Professor Gilhwa Jeong, Industry-Academic Cooperation
GOODS SPECIFICS
- Date of issue: November 30, 2025
- Page count, weight, size: 432 pages | 188*257*18mm
- ISBN13: 9791163037880

You may also like

카테고리