Skip to product information
Self-study C language
Self-study C language
Description
Book Introduction
Self-study is enough! A C programming tutorial that teaches you how to do it yourself, like a private tutor.

"Study C Language on Your Own" is back with even more interesting and informative content.
We've added a 'QR code' video for additional explanation so that you won't get stuck even if you study alone.
Additionally, we have reflected the Visual Studio 2022 version so that you can practice without difficulty even in the latest programs.

Of course, for those who are completely new to programming, we fully sympathize with the 'essential content' and the feeling of not even knowing what you don't know, so we provide 'friendly explanations' that point out only the key content like a private tutor, 'step-by-step learning' that is structured so that anyone can easily follow, and we actively reflect the 'beta reader's opinions' on the difficulty level, length, and learning elements that are suitable for beginners!

If you're tired of memorizing simple grammar and following coding, experience the fundamentals of programming, the C language, with the new and friendly 'Hongong'.
From the first page of this book to the last, you'll feel confident and assured that you can learn C on your own!
  • You can preview some of the book's contents.
    Preview

index
Chapter 01 Creating a Program

01-1 Program and C Language
The birth of the __C language
__Advantages of the C language

01-2 Compilation and Compiler Usage
__Installing Visual Studio
__Creating a project and writing source files
__Compile the source file
__Run the executable file
[Learn more] Creating a project template
[Key Points in 6 Keywords]
[3 Steps of the Compilation Process Organized in a Diagram]
[Confirmation problem]

Chapter 02 Constants and Data Output

02-1 C program structure and data output method
__Program and main function structure
__String Output: How to use the output function (printf)
__Output control characters
__Integer and real number output
[Key Points in 5 Keywords]
[Key points summarized in a table]
[Confirmation problem]

02-2 Constants and Data Representation Methods
__Integer constant representation
__Real number constant representation
__Character and string constant representation
__Bit form after the constant is compiled
__Bit form of integer constant after compilation
__Bit form of real number constant after compilation
[Learn more] Error of real number constant
[7 Key Points to Conclude]
[Key points summarized in a table]
[Confirmation problem]

Chapter 03 Variables and Data Entry

03-1 Variable
__How to declare a variable
__Integer data type
__unsigned integer data type
__real data type
__Save string
Variables using __const
__Reserved words and identifiers
[Key Points in 6 Keywords]
[Key points summarized in a table]
[Confirmation problem]

03-2 Data Entry
How to use the __scanf function
Input of __characters and strings
[Learn more] In case of abnormal termination
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

Chapter 04 Operators

04-1 Arithmetic operators, relational operators, logical operators
__Arithmetic operators and assignment operators
__increment/decrement operator
__relational operators
__logical operators
How to process the result of an __operation
[Learn more] How are arithmetic expressions processed inside a computer?
[Learn more] What is the difference between the CPU's memory and the memory we know (RAM)?
[Key Points in 5 Keywords]
[Key points summarized in a table]
[Confirmation problem]

04-2 Other useful operators
__ type conversion operator
__sizeof operator
__Compound assignment operator
__comma operator
__conditional operator
__bit operator
__Operator precedence and operation direction
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 05 Choice Questions

05-1 if statement
__if statement basic format 151
__if ~ else statement 153
__if ~ else if ~ else statement 156
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

05-2 Utilizing if statements and switch ~ case statements
__if statement nesting
__else join problem
__switch ~ case statement
[Learn more] Changing switch ~ case statements to if statements
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 06 Loops

06-1 while loop, for loop, do ~ while loop
__while statement
__for loop
__do ~ while loop
[Key points summarized in three keywords]
[Key points summarized in a table]
[Confirmation problem]

06-2 Using loop statements
__Nested loops
__break and continue branch statements
[Key points summarized in three keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 07 Functions

07-1 Writing and Using Functions
__function definition
__Function call and return
__Function declaration
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

07-2 Various function types
__Function without parameters
__Function without return value
__A function with no parameters or return value
__Recursive function
__Difference between recursion and loops
[Key Points in 5 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 08 Array

08-1 Declaration and use of arrays
__Array declaration
__Array initialization
__Arrays and loops
Array processing using the __sizeof operator
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

08-2 Array storing characters
Declaration and initialization of __char type array
__String assignment
__String-only input/output functions: gets, puts
[Learn more] What if there is no null character at the end of the string?
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 09 Pointers

09-1 Basic Concepts of Pointers
__memory address
__address operator
__Pointers and indirection operators
__Try using various pointers
Pointers using __const
[Key points summarized in three keywords]
[Key points summarized in a table]
[Confirmation problem]

09-2 Understanding Pointers for Complete Conquest of Pointers
__Difference between address and pointer
__Address and pointer size
__Pointer assignment rules
__Why use pointers?
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 10 Arrays and Pointers

10-1 Relationship between arrays and pointers
__Using array elements with array names
__Pointer that acts as an array name
__Difference between array name and pointer
__Pointer subtraction and relational operations
[Key Points in 5 Keywords]
[Key points summarized in a table]
[Confirmation problem]

Function to process array 10-2
__Function that prints the values ​​of an array
__A function that outputs arrays with different numbers of array elements
__Function to input values ​​into an array
[Learn more] When declaring an array in place of a function parameter
[Key points summarized in three keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 11 Characters

11-1 ASCII code values ​​and character input/output functions
__ASCII code
Character input using the __scanf function
__getchar, putchar functions
[Key Points in 5 Keywords]
[Key points summarized in a table]
[Confirmation problem]

11-2 Input function using buffer
The process of the __scanf function inputting characters
Using the __scanf function return value
String input using the __getchar function
__Clear input buffer
[Key points summarized in three keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 12 Strings

12-1 Strings and Pointers
__How to implement string constants
Using strings as __char pointers
String input using the __scanf function
String input using the __gets function
String input using the __fgets function
__Buffer sharing issue with standard input functions
__puts and fputs functions that output strings
[Learn more] Implementing the gets function yourself
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

12-2 String operation functions
__strcpy function that assigns a string
__strncpy function that copies only the desired number of characters
__strcat, strncat functions that concatenate strings
__strlen function to calculate the length of a string
__strcmp, strncmp functions for comparing strings
__Direct implementation of the operation function
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 13 Variable Scope and Data Sharing

13-1 Variable Usage Area
__local variable
Local variables used within __blocks
__global variables
__Static local variables
__register variable
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

13-2 How to share data in a function
How to copy and pass the value
How to pass an address
__Function that returns an address
[Key points summarized in three keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 14 Multidimensional Arrays and Pointer Arrays

14-1 Multidimensional array
__Declaring a two-dimensional array and using its elements
__2-dimensional array initialization
__2-dimensional char array
__Initialize a two-dimensional char array
__3-dimensional array
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

14-2 Pointer Array
__Declaration and use of pointer array
__Array of pointers used like a two-dimensional array
[Key points summarized in three keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 15 Application Pointers

15-1 Double pointers and array pointers
__Double pointer concept
__Double Pointer Utilization 1: Parameter of a function that changes pointer value
__Double Pointer Utilization 2: Function that receives an array of pointers as a parameter
__Address of array element and address of array
__2-dimensional arrays and array pointers
__The principle of referencing elements of a two-dimensional array
[Key Points in 5 Keywords]
[Key points summarized in a table]
[Confirmation problem]

15-2 Function Pointers and Void Pointers
__The concept of function pointers
__Using function pointers
__void pointer
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 16 Dynamic Memory Allocation

16-1 Dynamic allocation function
__malloc, free functions
__Using dynamically allocated areas like arrays
__Other dynamic allocation functions
[Learn more] Memory areas used by programs and their characteristics
[Key Points in 5 Keywords]
[Key points summarized in a table]
[Confirmation problem]

16-2 Utilizing dynamically allocated storage space
__String processing using dynamic allocation
__An example of processing a string stored in a dynamically allocated area as a function
Using command line arguments in the __main function
[Key points summarized in three keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 17 User-Defined Data Types

17-1 Structure
__Structure declaration and member use
__Various structure members
__Initialization and assignment operations of structure variables
__Using structure variables as function parameters
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

17-2 Utilizing structures, unions, and enumerations
__Structure pointer and → operator
__array of structures
__Function to process array of structures
__Self-referencing structure
__union
__enumeration
Redefining types using __typedef
[Key Points in 5 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 18 File Input/Output

18-1 File Opening and Input/Output
__Opening and closing files
__Stream files and file pointers
__Character input function: fgetc
__Character output function: fputc
__Standard input/output stream files that are opened by default
__Text files and binary files
__+ open mode, fseek, rewind, feof functions
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

18-2 Various file input/output functions
__Functions that input and output one line at a time: fgets, fputs
__Functions that input and output in various formats: fscanf, fprintf
__Stream file buffer sharing issue and fflush function
__fread, fwrite functions
[Key Points in 6 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Chapter 19 Preprocessing and Split Compilation

19-1 Preprocessing directives
#include containing __file
#define to create a macro name
Macro functions using __#define
__Already defined macro
__Macro operators # and ##
__Conditional compilation directive
[Learn more] #pragma directive
[Key Points in 4 Keywords]
[Key points summarized in a table]
[Confirmation problem]

19-2 Split Compilation
__Split compilation method
__Usage of extern and static in split compilation
__The need for header files and how to resolve duplication issues
[Key Points in 6 Keywords]
[Key points summarized in a table]
[Confirmation problem]
[Challenge Practical Example]

Appendix A ASCII Code Table
Appendix B Selection Sort Algorithm
Appendix C: A quick summary here

__Check the correct answer to the question
__Find

Detailed image
Detailed Image 1

Publisher's Review
Sometimes alone, sometimes together
The best book to properly study the C language!

ㆍWhat are the features of “Study C Language on Your Own (Revised Edition)”?

First, a solid learning design that systematically repeats the "7-step structure tailored for beginners"!

This book is structured so that the core contents of the C language are naturally memorized through repeated learning in 7 steps.
After briefly reviewing the representative concepts of each topic through [Key Keywords] and [Before You Begin], we will learn and practice the core concepts of the C language in earnest.
In the conclusion, we will review what we have learned through [Key Points] and [Confirmation Questions].
If you follow the curriculum that allows you to study on your own, even someone who is learning programming for the first time will be able to finish the book without difficulty!

Second, learn the core grammar easily with 'eye coding', and get a real feel for it with 161 hands-on 'hand coding' exercises!

It contains 161 carefully selected practical examples so that you can read the explanations of core grammar and theory with both eyes and mind, and learn the feel of C language coding through hands-on experience.
By doing the repetitive learning and coding practice that beginners need most, you can make the code in the book 'your own code'!

Third, we provide video lectures and a learning site to empower you with 'honkong'!

For beginners who still find it difficult to learn from books alone, we also provide videos of lectures directly from the author.
In this revised edition, we have included additional explanatory videos via 'QR codes' for topics that readers have frequently asked about.
We also provide a learning site so that you can ask the author questions at any time while studying.
The author personally answers each question, and you can also get related technical information.
Additionally, we run a self-study group for those who want to study alone but lack confidence.
If you join the Honkong Study Group, you will be able to complete the course without giving up.
- Learning site: https://hongong.hanbit.co.kr
- Ask the author: https://cafe.naver.com/thisisc

Fourth, we provide [Terminology Notes] that you can easily read anytime, anywhere!

We provide a [Terminology Note] that organizes only the key concepts and terms that you must remember.
The reason why people who are learning programming for the first time find it difficult is because of the unfamiliar terminology.
However, it is not difficult, but rather confusing due to unfamiliarity, so whenever you have trouble remembering a term or concept, feel free to open the [Terminology Note].
In addition to the terms presented, you can also enjoy the process of completing your own glossary by adding new terms.

ㆍWho is the book “C Language for Self-Study (Revised Edition)” for?

- Majors who have taken undergraduate courses but are still suffering from difficult 'pointers'
- Junior developers who have difficulty writing advanced code due to a lack of understanding of the language.
- Beginners who want to dive into the world of programming by learning the fundamentals of programming languages.
- Anyone interested in the C language

ㆍA word from a beta reader who read "Study C Language on Your Own (Revised Edition)" first!

- This is a book that clearly answers the questions and issues you would have been curious about or had difficulty with if you had studied alone without any other knowledge.
_ Kang Su-jin

- This book helps you naturally understand the answer to the question, “Why?” that arises while studying.
_Kang Chae-bin

- The advantage is that it covers in-depth content while using various illustrations to explain it in an easy-to-understand way.
_Jang Jong-seok

- It's really great that you know the beginner's mind and write down things that beginners might be curious about throughout the book.
_Yoo Ji-min

- I felt like my skills were improving as I solved the “Confirmation Problems” and “Challenge Problems.”
_Eunseong Hwang

- Additional explanatory videos and problem explanations are provided via QR codes, which is very helpful for learning.
_Kim Jin-hwan

- Beyond simply conveying concepts and knowledge, it provides detailed explanations of appropriate analogies, background information, verification problems, and areas where mistakes or problems can occur in practice.
_Kim Sam-young

- Errors and mistakes that may occur during the training process are explained in a simple and detailed manner at a beginner's level.
_Yang Min-hyeok

- There is a “Conclusion” section, which clearly organizes the content learned using keywords and tables, so I think this book is essential for beginners.
_Kim Chang-ha

- It was written in a clear and easy-to-understand style without any unnecessary details, so I read it without getting bored.
_An Seon-yeong

- It was great to be able to build a foundation while simultaneously understanding and applying what I learned, overcoming the limitations I felt when studying alone.
_Nasulgi

- It provides answers to the questions of 'why' the code should be written this way and how to write the code through concise examples and detailed explanations.
_Lee Young-eun
GOODS SPECIFICS
- Date of issue: May 18, 2023
- Page count, weight, size: 664 pages | 188*257*35mm
- ISBN13: 9791169210911
- ISBN10: 1169210910

You may also like

카테고리