
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.
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
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

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
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
카테고리
korean
korean