ko ko ko en en en ko ko cs zh ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko nb ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko nb ko ko ko ko ko ko ko ko ko ko ko ko ko ko en ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko nb ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko nb ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko gu ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko zh ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko en ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko fr ko ko ko ko fr ko ko ko en en ko en zh en en
소프트웨어 교육과 C 언어에 대해 설명합니다.
1.2 문제 해결을 위한 과학적 사고 페이지
1.5 코딩 도장을 학습하는 방법 페이지
Unit 2. Visual Studio 설치하기
Visual Studio Community 2015 설치 방법을 설명합니다.
2.0 Visual Studio 설치하기 페이지
Unit 3. Hello, world!로 시작하기
프로그래밍 언어의 첫 관문인 Hello, world! 출력을 설명합니다.
3.1 새 프로젝트 만들기 페이지
3.2 프로젝트에 C 언어 소스 파일 추가하기 페이지
3.3 Hello, world! 출력하기 페이지
3.4 서식 지정자 사용하기 페이지
3.5 심사 사이트 사용하기 페이지
3.7 연습문제: 문자열 출력하기 페이지
3.9 심사문제: 문자열 출력하기 퀴즈
3.10 심사문제: 서식 지정자 사용하기 퀴즈
Unit 4. 기본 문법 알아보기
C 언어의 전체적인 문법에 대해 설명합니다.
변수를 만들고 변수에 값을 저장하는 방법을 설명합니다.
5.1 변수를 만들고 값 저장하기 페이지
5.2 변수 여러 개를 한 번에 선언하기 페이지
5.3 변수를 선언하면서 초기화하기 페이지
5.5 연습문제: 변수 여러 개를 선언하면서 값 초기화하기 페이지
5.6 심사문제: 변수를 선언하고 값 할당하기 퀴즈
Visual Studio 디버거의 중단점을 사용하는 방법, 코드를 한 줄씩 실행하는 방법, 변수의 값을 확인하는 방법을 설명합니다.
Unit 7. 정수 자료형 사용하기
정수형 변수를 선언하는 방법과 정수 자료형의 오버플로우, 언더플로우, 자료형 크기 구하기, 최솟값과 최댓값에 대해 설명합니다.
7.0 정수 자료형 사용하기 페이지
7.1 정수형 변수 선언하기 페이지
7.2 오버플로우와 언더플로우 알아보기 페이지
7.3 자료형 크기 구하기 페이지
7.4 최솟값과 최댓값 표현하기 페이지
7.5 크기가 표시된 정수 자료형 사용하기 페이지
7.7 연습문제: 정수형 변수 선언과 오버플로우 페이지
7.9 연습문제: 최댓값 표현하기 페이지
7.11 심사문제: 정수형 변수 선언과 오버플로우 퀴즈
7.12 심사문제: 자료형 크기 구하기 퀴즈
7.13 심사문제: 최솟값 표현하기 퀴즈
7.14 심사문제: 크기가 표시된 정수 자료형 사용하기 퀴즈
Unit 8. 실수 자료형 사용하기
실수형 변수를 선언하는 방법과 자료형 크기 구하기, 최솟값과 최댓값, 오버플로우, 언더플로우에 대해 설명합니다.
8.0 실수 자료형 사용하기 페이지
8.1 실수형 변수 선언하기 페이지
8.2 자료형 크기 구하기 페이지
8.3 최솟값과 최댓값 표현하기 페이지
8.4 오버플로우와 언더플로우 알아보기 페이지
8.10 심사문제: 실수형 변수 선언과 자료형 크기 구하기 퀴즈
8.11 심사문제: 최솟값과 최댓값 표현하기 퀴즈
Unit 9. 문자 자료형 사용하기
문자 한 개를 저장할 수 있는 char 자료형에 대해 설명합니다.
9.0 문자 자료형 사용하기 페이지
9.1 문자 변수 선언하기 페이지
9.3 제어 문자 사용하기 페이지
9.6 연습문제: 정수 숫자를 문자로 변환하기 페이지
9.7 심사문제: 제어 문자 사용하기 퀴즈
9.8 심사문제: 알파벳 소문자를 대문자로 변환하기 퀴즈
다양한 값을 표현하는 리터럴과 변하지 않는 값을 위한 상수에 대해 설명합니다.
10.3 정수 리터럴 접미사 사용하기 페이지
10.6 연습문제: 리터럴 사용하기 페이지
10.7 연습문제: 상수 사용하기 페이지
10.8 심사문제: 리터럴 사용하기 퀴즈
10.9 심사문제: 상수 사용하기 퀴즈
Unit 11. 입력 값을 변수에 저장하기
입력값을 변수에 저장하는 방법을 설명합니다.
11.2 한 번에 정수 두 개 입력받기 페이지
11.6 연습문제: 한 번에 정수 세 개 입력받기 페이지
11.7 심사문제: 정수, 실수, 문자 입력받기 퀴즈
12.2 변수 하나에서 값을 더하거나 빼기 페이지
12.4 연습문제: 덧셈, 뺄셈하기 페이지
12.5 심사문제: 덧셈, 뺄셈하기 퀴즈
Unit 13. 증가, 감소 연산자 사용하기
증가, 감소 연산자에 설명하고, 연산자의 위치에 따른 차이점을 알아봅니다.
13.0 증가, 감소 연산자 사용하기 페이지
13.1 변수의 값을 1 증가, 감소시키기 페이지
13.2 실수 자료형에 증감 연산자 사용하기 페이지
13.3 문자 자료형에 증감 연산자 사용하기 페이지
13.4 증감 연산자의 위치에 따른 차이점 알아보기 페이지
13.6 연습문제: 증가, 감소 연산자 사용하기 페이지
13.7 심사문제: 증가, 감소 연산자 사용하기 퀴즈
14.2 변수 하나에서 값을 곱하거나 나누기 페이지
14.4 연습문제: 삼각형의 넓이 구하기 페이지
14.5 심사문제: 원의 넓이 구하기 퀴즈
15.2 변수 하나에서 나머지 연산하기 페이지
15.4 연습문제: 3의 배수인지 확인하기 페이지
15.5 심사문제: 정수의 각 자릿수를 역순으로 출력하기 퀴즈
Unit 16. 자료형의 확장과 축소 알아보기
서로 다른 자료형끼리 연산을 했을 때 발생하는 자료형의 확장과 축소에 대해 설명합니다.
16.1 자료형의 확장 알아보기 페이지
16.2 자료형의 축소 알아보기 페이지
16.4 연습문제: 문자 출력하기 페이지
16.5 심사문제: 실수를 정수로 변환하기 퀴즈
Unit 17. if 조건문으로 특정 조건일 때 코드 실행하기
특정 조건일 때 코드를 실행하는 if 조건문에 대해 설명합니다.
17.1 if 조건문 사용하기 페이지
17.2 if 조건문과 세미콜론 페이지
17.3 if 조건문에서 중괄호 생략하기 페이지
17.4 if 조건문에서 실수와 문자 비교하기 페이지
17.5 사용자가 입력한 값에 if 조건문 사용하기 페이지
17.7 연습문제: if 조건문 사용하기 페이지
17.8 심사문제: 청소년 콘텐츠 관람 제한하기 퀴즈
Unit 18. else를 사용하여 두 방향으로 분기하기
두 방향으로 분기하는 else에 대해 설명합니다.
18.3 else에서 중괄호 생략하기 페이지
18.4 if 조건문의 동작 방식 알아보기 페이지
18.5 조건식을 여러 개 지정하기 페이지
18.7 연습문제: else 사용하기 페이지
18.8 연습문제: 합격 여부 판단하기 페이지
18.9 심사문제: else 사용하기 퀴즈
18.10 심사문제: 합격 여부 판단하기 퀴즈
Unit 19. else if를 사용하여 여러 방향으로 분기하기
여러 가지 상황을 처리하는 else if에 대해 설명합니다.
19.1 else if 사용하기 페이지
19.2 if, else if, else를 모두 사용하기 페이지
19.5 심사문제: 교통카드 시스템 만들기 퀴즈
Unit 20. 비교 연산자와 삼항 연산자 사용하기
if 조건문에서 사용할 수 있는 비교 연산자와 삼항 연산자를 설명합니다.
20.0 비교 연산자와 삼항 연산자 사용하기 페이지
20.1 비교 연산자 사용하기 페이지
20.2 삼항 연산자 사용하기 페이지
20.3 if 조건문과 비교 연산자 사용하기 페이지
20.4 함수 안에서 삼항 연산자 사용하기 페이지
20.6 연습문제: 비교 연산자 사용하기 페이지
20.7 연습문제: 삼항 연산자 사용하기 페이지
20.8 심사문제: 비교 연산자 사용하기 퀴즈
20.9 심사문제: 삼항 연산자 사용하기 퀴즈
Unit 21. 논리 연산자 사용하기
조건식이나 값을 논리적으로 판단하는 논리 연산자에 대해 설명합니다.
21.0 논리 연산자 사용하기 페이지
21.1 AND 연산자 사용하기 페이지
21.2 OR 연산자 사용하기 페이지
21.3 NOT 연산자 사용하기 페이지
21.4 조건식과 논리 연산자 사용하기 페이지
21.5 if 조건문과 논리 연산자 사용하기 페이지
21.6 삼항 연산자에 논리 연산자 사용하기 페이지
21.8 연습문제: 논리 연산자 사용하기 페이지
21.9 심사문제: 논리 연산자 사용하기 퀴즈
Unit 22. 불 자료형 사용하기
참과 거짓을 나타내는 논리 자료형에 대해 설명합니다.
22.1 stdbool.h 헤더 파일 사용하기 페이지
22.2 불 자료형 크기 알아보기 페이지
22.3 불 자료형과 논리 연산자 사용하기 페이지
22.4 true, false를 문자열로 출력하기 페이지
22.5 if 조건문에서 불 자료형 사용하기 페이지
22.7 연습문제: 불 자료형 사용하기 페이지
22.8 심사문제: 불 자료형 사용하기 퀴즈
Q & A 페이지
Unit 23. 비트 연산자 사용하기
값을 비트 단위로 연산하는 비트 연산자에 대해 설명합니다.
23.0 비트 연산자 사용하기 페이지
23.1 비트 AND, OR, XOR 연산자 사용하기 페이지
23.2 비트 NOT 연산자 사용하기 페이지
23.3 시프트 연산자 사용하기 페이지
23.4 비트 연산 후 할당하기 페이지
23.6 연습문제: 비트 논리 연산자 사용하기 페이지
23.7 연습문제: 시프트 연산자 사용하기 페이지
23.8 심사문제: 비트 논리 연산자 사용하기 퀴즈
23.9 심사문제: 시프트 연산자 사용하기 퀴즈
Unit 24. 비트 연산자 응용하기
부호 있는 정수와 부호 없는 정수에 비트 연산을 했을 때의 차이점과 비트 연산자를 응용한 플래그 처리 방법을 설명합니다.
24.1 시프트 연산과 2의 거듭제곱 알아보기 페이지
24.2 시프트 연산으로 자릿수를 넘어서는 경우 알아보기 페이지
24.3 부호 있는 자료형의 비트 연산 알아보기 페이지
24.4 비트 연산자로 플래그 처리하기 페이지
24.6 연습문제: 시프트 연산과 플래그 활용하기 페이지
24.7 심사문제: 시프트 연산과 플래그 활용하기 퀴즈
Unit 25. 연산자 우선순위 알아보기
연산자의 우선순위에 대해 설명합니다.
25.0 연산자 우선순위 알아보기 페이지
25.1 괄호 사용하기 페이지
25.2 연산자의 결합 방향 알아보기 페이지
25.3 결합 방향이 다른 연산자와 괄호 사용하기 페이지
25.4 논리, 비교, 시프트 연산자에 괄호 사용하기 페이지
25.6 연습문제: 괄호 사용하기 페이지
25.7 심사문제: 괄호 사용하기 퀴즈
Q & A 페이지
Unit 26. switch 분기문으로 다양한 조건 처리하기
다양한 조건을 처리할 수 있는 switch 분기문에 대해 설명합니다.
26.0 switch 분기문으로 다양한 조건 처리하기 페이지
26.1 사용자가 입력한 값에 따라 문자열 출력하기 페이지
26.2 case에서 break를 사용하지 않을 때의 동작 알아보기 페이지
26.3 case에서 break 생략 응용하기 페이지
26.4 case 안에서 변수 선언하기 페이지
26.5 switch에서 판별할 수 있는 자료형 알아보기 페이지
26.7 연습문제: switch 분기문 사용하기 페이지
26.8 심사문제: 음료수 자판기 만들기 퀴즈
Unit 27. for 반복문으로 Hello, world! 100번 출력하기
Hello, world!를 100번 출력해보면서 for 반복문을 학습합니다.
27.0 for 반복문으로 Hello, world! 100번 출력하기 페이지
27.1 for 반복문 사용하기 페이지
27.2 초깃값의 변화 알아보기 페이지
27.3 초깃값을 1부터 시작하기 페이지
27.4 초깃값을 감소시키기 페이지
27.5 for 반복문과 세미콜론 페이지
27.6 for 반복문에서 중괄호 생략하기 페이지
27.7 입력한 횟수대로 반복하기 페이지
27.8 for 반복문에서 변수 두 개 사용하기 페이지
27.9 for 반복문으로 무한 루프 만들기 페이지
27.11 연습문제: for 반복문에서 변수 두 개 사용하기 페이지
27.12 심사문제: 알파벳 순서로 출력하기 퀴즈
Unit 28. while 반복문으로 Hello, world! 100번 출력하기
Hello, world!를 100번 출력해보면서 while 반복문을 학습합니다.
28.0 while 반복문으로 Hello, world! 100번 출력하기 페이지
28.1 while 반복문 사용하기 페이지
28.2 초깃값을 1부터 시작하기 페이지
28.3 초깃값을 감소시키기 페이지
28.4 while 반복문과 세미콜론 페이지
28.5 입력한 횟수대로 반복하기 페이지
28.6 반복 횟수가 정해지지 않은 경우 페이지
28.7 while 반복문으로 무한 루프 만들기 페이지
28.8 while 반복문에서 중괄호 생략하기 페이지
28.10 연습문제: while 반복문 사용하기 페이지
28.11 심사문제: 교통카드 잔액 출력하기 퀴즈
Unit 29. do while 반복문으로 최소 한 번은 실행하기
do while 반복문을 사용하여 코드를 최소 한번은 실행하는 방법을 설명합니다.
29.0 do while 반복문으로 최소 한 번은 실행하기 페이지
29.1 do while 반복문 사용하기 페이지
29.2 초깃값을 1부터 시작하기 페이지
29.3 초깃값을 감소시키기 페이지
29.4 입력한 횟수대로 반복하기 페이지
29.5 반복 횟수가 정해지지 않은 경우 페이지
29.6 do while 반복문으로 무한 루프 만들기 페이지
29.7 코드를 한 번만 실행하기 페이지
29.9 연습문제: do while 반복문 사용하기 페이지
29.10 심사문제: 숫자의 합 구하기 퀴즈
Unit 30. break, continue로 반복문 제어하기
break와 continue를 사용하여 반복문을 제어하는 방법을 설명합니다.
30.0 break, continue로 반복문 제어하기 페이지
30.1 break로 반복문 끝내기 페이지
30.2 continue로 코드 실행 건너뛰기 페이지
30.3 입력한 횟수대로 반복하기 페이지
30.4 입력한 숫자까지 짝수 출력하기 페이지
30.6 연습문제: 3으로 끝나는 숫자만 출력하기 페이지
30.7 심사문제: 두 수 사이의 숫자 중 7로 끝나지 않는 숫자 출력하기 퀴즈
Unit 31. 계단식으로 별 출력하기
지금까지 배운 for, while 반복문과 if 조건문을 사용하여 계단식으로 별을 출력하는 방법을 설명합니다.
31.1 중첩 루프 사용하기 페이지
31.2 사각형으로 별 출력하기 페이지
31.3 계단식으로 별 출력하기 페이지
31.4 대각선으로 별 출력하기 페이지
31.6 연습문제: 역삼각형 모양으로 별 출력하기 페이지
31.7 심사문제: 산 모양으로 별 출력하기 퀴즈
Q & A 페이지
Unit 32. goto로 프로그램의 흐름을 원하는 대로 바꾸기
코드의 원하는 부분으로 건너뛰는 goto 제어문에 대해 설명합니다.
32.0 goto로 프로그램의 흐름을 원하는 대로 바꾸기 페이지
32.1 goto와 레이블 사용하기 페이지
32.2 중첩 루프 빠져 나오기 페이지
32.3 goto와 에러 처리 패턴 페이지
32.5 연습문제: switch에서 반복문 빠져나오기 페이지
32.6 심사문제: 중첩 루프 빠져나오기 퀴즈
지금까지 배운 내용을 활용하여 FizzBuzz 문제를 풀어봅니다.
33.1 1부터 100까지 숫자 출력하기 페이지
33.2 3의 배수일 때와 5의 배수일 때 처리하기 페이지
33.3 3과 5의 공배수 처리하기 페이지
33.4 논리 연산자를 사용하지 않고 3과 5의 공배수 처리하기 페이지
33.5 코드 단축하기 페이지
33.7 연습문제: 2와 7의 배수, 공배수 처리하기 페이지
33.8 심사문제: 5와 11의 배수, 공배수 처리하기 퀴즈
Q & A 페이지
Unit 34. 포인터 사용하기
메모리의 특정 위치를 가리키는 포인터에 대해 설명합니다.
34.0 포인터 사용하기 페이지
34.1 포인터 변수 선언하기 페이지
34.2 역참조 연산자 사용하기 페이지
34.3 디버거에서 포인터 확인하기 페이지
34.4 다양한 자료형의 포인터 선언하기 페이지
34.5 void 포인터 선언하기 페이지
34.6 이중 포인터 사용하기 페이지
34.7 잘못된 포인터 사용 페이지
34.9 연습문제: 포인터와 주소 연산자 사용하기 페이지
34.10 심사문제: 포인터와 주소 연산자 사용하기 퀴즈
Unit 35. 메모리 사용하기
메모리 공간을 할당받아 사용하는 방법에 대해 설명합니다.
35.0 메모리 사용하기 페이지
35.1 메모리 할당하기 페이지
35.2 메모리에 값 저장하기 페이지
35.3 메모리 내용을 한꺼번에 설정하기 페이지
35.4 널 포인터 사용하기 페이지
35.6 연습문제: 메모리 할당하기 페이지
35.7 심사문제: 두 정수의 합 구하기 퀴즈
Q & A 페이지
Unit 36. 배열 사용하기
값을 여러 개 저장할 수 있는 배열에 대해 알아보고, 반복문으로 값을 출력하는 방법을 설명합니다.
36.0 배열 사용하기 페이지
36.1 배열을 선언하고 요소에 접근하기 페이지
36.2 배열을 0으로 초기화하기 페이지
36.3 배열의 요소에 값 할당하기 페이지
36.4 배열의 크기 구하기 페이지
36.5 반복문으로 배열의 요소를 모두 출력하기 페이지
36.6 배열의 요소 합계 구하기 페이지
36.7 배열의 요소에 저장된 값을 두 배로 만들기 페이지
36.8 배열을 포인터에 넣기 페이지
36.9 배열을 활용하여 10진수를 2진수로 변환하기 페이지
36.11 연습문제: 점수 평균 구하기 페이지
36.12 연습문제: 2진수를 10진수로 변환하기 페이지
36.13 심사문제: 가장 작은 수 출력하기 퀴즈
Unit 37. 2차원 배열 사용하기
평면 구조의 2차원 배열에 대해 알아보고, 반복문으로 값을 출력하는 방법을 설명합니다.
37.0 2차원 배열 사용하기 페이지
37.1 2차원 배열을 선언하고 요소에 접근하기 페이지
37.2 2차원 배열을 초기화하기 페이지
37.3 2차원 배열의 요소에 값 할당하기 페이지
37.4 2차원 배열의 크기 구하기 페이지
37.5 반복문으로 2차원 배열의 요소를 모두 출력하기 페이지
37.6 2차원 배열을 포인터에 넣기 페이지
37.8 연습문제: 행렬의 주대각선 성분 구하기 페이지
37.9 심사문제: 전치행렬 구하기 퀴즈
Unit 38. 포인터와 배열 응용하기
지금까지 크기가 고정된 배열을 사용했습니다. 이번에는 포인터에 메모리를 할당하여 배열처럼 사용해보겠습니다.
38.0 포인터와 배열 응용하기 페이지
38.1 포인터에 할당된 메모리를 배열처럼 사용하기 페이지
38.2 입력한 크기만큼 메모리를 할당하여 배열처럼 사용하기 페이지
38.3 포인터에 할당된 메모리를 2차원 배열처럼 사용하기 페이지
38.4 입력한 크기만큼 메모리를 할당하여 포인터를 2차원 배열처럼 사용하기 페이지
38.6 연습문제: 포인터에 할당된 메모리를 3차원 배열처럼 사용하기 페이지
38.7 심사문제: 단위행렬 만들기 퀴즈
38.8 심사문제: 지뢰찾기 퀴즈
Q & A 페이지
Unit 39. 문자열 사용하기
C 언어에서 문자열을 다루는 방법을 설명합니다.
39.0 문자열 사용하기 페이지
39.1 문자와 문자열 포인터 알아보기 페이지
39.2 문자열 포인터에서 인덱스로 문자에 접근하기 페이지
39.3 배열 형태로 문자열 선언하기 페이지
39.4 배열 형태의 문자열에서 인덱스로 문자에 접근하기 페이지
39.6 연습문제: 문자열 만들기 페이지
39.7 연습문제: 문자열 요소 출력 페이지
39.8 심사문제: 문자열 만들기 퀴즈
Unit 40. 입력 값을 문자열에 저장하기
입력값을 문자열에 저장하는 방법을 설명합니다.
40.1 입력 값을 배열 형태의 문자열에 저장하기 페이지
40.2 입력 값을 문자열 포인터에 저장하기 페이지
40.3 문자열을 여러 개 입력받기 페이지
40.5 연습문제: 입력받은 문자열을 배열에 저장하기 페이지
40.6 연습문제: 입력받은 문자열을 동적 메모리에 저장하기 페이지
40.7 연습문제: 문자열 세 개 입력받기 페이지
40.8 심사문제: 문자열 네 개 입력받기 퀴즈
Q & A 페이지
Unit 41. 문자열의 길이를 구하고 비교하기
문자열의 길이를 구하는 방법과 두 문자열이 같은지 비교하는 방법을 설명합니다.
41.1 문자열 길이 구하기 페이지
41.2 문자열 비교하기 페이지
41.4 연습문제: 문자열 길이 구하기 페이지
41.5 연습문제: 문자열 비교하기 페이지
41.6 심사문제: 문자열 길이 구하기 퀴즈
41.7 심사문제: 문자열 비교하기 퀴즈
Unit 42. 문자열을 복사하고 붙이기
문자열을 다른 곳으로 복사하는 방법과 두 문자열을 붙이는 방법을 설명합니다.
42.1 문자열 복사하기 페이지
42.2 문자열 붙이기 페이지
42.3 배열 형태의 문자열을 문자열 포인터에 복사하기 페이지
42.4 배열 형태의 문자열을 문자열 포인터에 붙이기 페이지
42.6 연습문제: 문자열 포인터를 배열에 복사하기 페이지
42.7 연습문제: 문자열 포인터를 동적 메모리에 복사하기 페이지
42.8 연습문제: 문자 배열을 붙이기 페이지
42.9 연습문제: 문자열 리터럴과 동적 메모리 붙이기 페이지
42.10 심사문제: 문자 배열 복사하기 퀴즈
42.11 심사문제: 두 문자열 붙이기 퀴즈
Unit 43. 문자열 만들기
서식을 지정하여 문자열을 만드는 방법을 설명합니다.
43.1 서식을 지정하여 배열 형태로 문자열 만들기 페이지
43.2 서식을 지정하여 문자열 포인터에 문자열 만들기 페이지
43.4 연습문제: 숫자와 문자열을 조합하여 문자열 만들기 페이지
43.5 연습문제: 서식에 맞게 문자열 만들기 페이지
43.6 심사문제: 서수 줄임말 문자열 만들기 퀴즈
Unit 44. 문자열 검색하기
문자열에서 문자와 문자열로 검색하는 방법을 설명합니다.
44.1 문자열 안에서 문자로 검색하기 페이지
44.2 문자열의 오른쪽 끝부터 문자로 검색하기 페이지
44.3 문자열 안에서 문자열로 검색하기 페이지
44.5 연습문제: 문자열 안에서 문자로 검색하기 페이지
44.6 연습문제: 문자열의 오른쪽 끝부터 문자로 검색하기 페이지
44.7 심사문제: 공백 개수 세기 퀴즈
Unit 45. 문자열 자르기
특정 문자를 기준으로 문자열을 자르는 방법을 설명합니다.
45.1 문자를 기준으로 문자열 자르기 페이지
45.2 문자열 포인터 자르기 페이지
45.3 날짜와 시간값 자르기 페이지
45.4 자른 문자열 보관하기 페이지
45.6 연습문제: 문자열 자르기 페이지
45.7 심사문제: 문자열 자르기 퀴즈
45.8 심사문제: 특정 단어 개수 세기 퀴즈
Unit 46. 문자열과 숫자를 서로 변환하기
문자열을 숫자로, 숫자를 문자열로 변환하는 방법을 설명합니다.
46.1 문자열을 정수로 변환하기 페이지
46.2 특정 진법으로 표기된 문자열을 정수로 변환하기 페이지
46.3 문자열을 실수로 변환하기 페이지
46.4 정수를 문자열로 변환하기 페이지
46.5 실수를 문자열로 변환하기 페이지
46.7 연습문제: 문자열을 10진 정수로 변환하기 페이지
46.8 연습문제: 문자열을 16진 정수로 변환하기 페이지
46.9 연습문제: 문자열을 실수로 변환하기 페이지
46.10 연습문제: 여러 개의 실수로 된 문자열을 실수로 변환하기 페이지
46.11 연습문제: 숫자를 문자열로 변환하기 페이지
46.12 심사문제: 문자열을 정수와 실수로 변환하기 퀴즈
46.13 심사문제: 정수와 실수를 문자열로 변환하기 퀴즈
Unit 47. 회문 판별과 N-gram 만들기
문자열을 이용하여 회문을 판별하는 방법과 N-gram을 만드는 방법을 설명합니다.
47.1 회문 판별 페이지
47.2 N-gram 만들기 페이지
47.3 연습문제: 정수 회문 판별하기 페이지
47.4 연습문제: 4-gram 만들기 페이지
47.5 심사문제: 공백이 포함된 회문 판별 퀴즈
47.6 심사문제: N-gram 만들기 퀴즈
Q & A 페이지
Unit 48. 구조체 사용하기
관련 정보를 하나의 의미로 묶는 구조체에 대해 설명합니다.
48.0 구조체 사용하기 페이지
48.1 구조체를 만들고 사용하기 페이지
48.2 typedef로 struct 키워드 없이 구조체 선언하기 페이지
48.3 익명 구조체 사용하기 페이지
48.5 연습문제: 좌표 구조체 정의하기 페이지
48.6 연습문제: typedef로 좌표 구조체 정의하기 페이지
48.7 연습문제: 익명 구조체로 좌표 구조체 정의하기 페이지
48.8 심사문제: 자동차 계기판 구조체 선언하기 퀴즈
48.9 심사문제: 자동차 계기판 구조체 정의하기 퀴즈
Unit 49. 구조체 포인터 사용하기
구조체 포인터의 사용 방법과 구조체 포인터에 메모리를 할당하는 방법을 설명합니다.
49.1 구조체 포인터를 선언하고 메모리 할당하기 페이지
49.2 구조체 별칭으로 포인터를 선언하고 메모리 할당하기 페이지
49.3 구조체 포인터에 구조체 변수의 주소 할당하기 페이지
49.5 연습문제: 학생 구조체 포인터에 메모리 할당하기 페이지
49.6 연습문제: 3차원 좌표 구조체 포인터에 메모리 할당하기 페이지
49.7 연습문제: 구조체 포인터에 구조체 주소 할당하기 페이지
49.8 심사문제: 사람과 자동차 구조체 포인터에 메모리 할당하기 퀴즈
49.9 심사문제: 구조체 포인터에 구조체 변수의 주소 할당하기 퀴즈
Unit 50. 두 점 사이의 거리 구하기
구조체를 활용하여 2차원 평면에서 위치를 표현하고 두 점 사이의 거리를 구하는 방법을 설명합니다.
50.1 두 점 사이의 거리 구하기 페이지
50.2 연습문제: 사각형의 넓이 구하기 페이지
50.3 심사문제: 두 점 사이의 거리 구하기 퀴즈
Q & A 페이지
Unit 51. 구조체 멤버 정렬 사용하기
구조체가 메모리에 올라갔을 때 멤버를 정렬(alignment)하는 기능에 대해 설명합니다.
51.0 구조체 멤버 정렬 사용하기 페이지
51.1 구조체 크기 알아보기 페이지
51.2 구조체 정렬 크기 조절하기 페이지
51.4 연습문제: 압축 헤더 크기 구하기 페이지
51.5 연습문제: 패킷 크기 조절하기 페이지
51.6 심사문제: 암호화 헤더 크기 구하기 퀴즈
51.7 심사문제: 패킷 크기 조절하기 퀴즈
Unit 52. 구조체와 메모리 활용하기
메모리 함수를 사용하여 구조체와 메모리에 값을 설정하는 방법, 구조체와 메모리의 내용을 복사하는 방법을 설명합니다.
52.1 구조체와 메모리를 간단하게 0으로 설정하기 페이지
52.2 구조체와 메모리 복사하기 페이지
52.4 연습문제: 2차원 좌표 초기화하기 페이지
52.5 연습문제: 2차원 좌표 복제하기 페이지
52.6 심사문제: 인적 정보 삭제하기 퀴즈
52.7 심사문제: 인적 정보 복제하기 퀴즈
Unit 53. 구조체 배열 사용하기
구조체를 배열로 선언하는 방법과 구초체 포인터 배열을 선언하고 메모리를 할당하는 방법을 설명합니다.
53.0 구조체 배열 사용하기 페이지
53.1 구조체 배열 선언하기 페이지
53.2 구조체 포인터 배열 선언하기 페이지
53.4 연습문제: 2차원 좌표 출력하기 페이지
53.5 연습문제: 인적 정보를 초기화하기 페이지
53.6 심사문제: 선의 길이 구하기 퀴즈
53.7 심사문제: 나이가 가장 많은 사람 찾기 퀴즈
Q & A 페이지
Unit 54. 공용체 사용하기
모든 멤버가 공간을 공유하는 공용체를 설명합니다.
54.0 공용체 사용하기 페이지
54.1 공용체를 만들고 사용하기 페이지
54.2 공용체와 엔디언 페이지
54.3 공용체 포인터를 선언하고 메모리 할당하기 페이지
54.5 연습문제: 정수 데이터 공용체 정의하기 페이지
54.6 연습문제: 공용체 포인터 사용하기 페이지
54.7 심사문제: 정수 데이터 공용체 정의하기 퀴즈
54.8 심사문제: 공용체 포인터 사용하기 퀴즈
Unit 55. 구조체와 공용체 활용하기
구조체와 공용체를 조합하는 방법을 설명합니다.
55.1 구조체 안에서 구조체 멤버 사용하기 페이지
55.2 구조체 안의 구조체 멤버에 메모리 할당하기 페이지
55.3 익명 구조체와 익명 공용체 활용하기 페이지
55.5 연습문제: 게임 캐릭터 구조체 만들기 페이지
55.6 연습문제: 게임 캐릭터 구조체 사용하기 페이지
55.7 연습문제: 장치 옵션 구조체 만들기 페이지
55.8 심사문제: 게임 캐릭터 구조체 사용하기 퀴즈
55.9 심사문제: 게임 캐릭터 구조체 포인터 사용하기 퀴즈
55.10 심사문제: 장치 옵션 구조체 만들기 퀴즈
Q & A 페이지
Unit 56. 구조체 비트 필드 사용하기
구조체의 멤버를 비트 단위로 저장하는 비트 필드에 대해 설명합니다.
56.1 구조체 비트 필드를 만들고 사용하기 페이지
56.2 비트 필드와 공용체를 함께 사용하기 페이지
56.4 연습문제: 구조체로 플래그 비트 필드 만들기 페이지
56.5 연습문제: 구조체와 공용체로 플래그 비트 필드 만들기 페이지
56.6 심사문제: 구조체로 플래그 비트 필드 만들기 퀴즈
56.7 심사문제: 구조체와 공용체로 플래그 비트 필드 만들기 퀴즈
Unit 57. 열거형 사용하기
정수형 상수에 이름을 붙여서 표현하는 열거형에 대해 알아보고, switch 분기문이나 for 반복문에서 활용하는 방법을 설명합니다.
57.1 열거형 정의하기 페이지
57.2 열거형을 switch에 활용하기 페이지
57.3 열거형을 for에 활용하기 페이지
57.5 연습문제: 장치 종류 정의하기 페이지
57.6 연습문제: 게임 캐릭터 스킬 처리하기 페이지
57.7 연습문제: 월 출력하기 페이지
57.8 심사문제: 프로토콜 종류 정의하기 퀴즈
57.9 심사문제: 게임 캐릭터 스킬 처리하기 퀴즈
57.10 심사문제: 인터페이스 타입 출력하기 퀴즈
Q & A 페이지
Unit 58. 자료형 변환하기
변수를 다른 자료형을 변환하는 방법과 포인터, void 포인터, 구조체 포인터를 다른 자료형으로 변환하는 방법을 설명합니다.
58.1 기본 자료형 변환하기 페이지
58.2 포인터 변환하기 페이지
58.3 void 포인터 변환하기 페이지
58.4 구조체 포인터 변환하기 페이지
58.6 연습문제: 삼각형의 넓이 구하기 페이지
58.7 연습문제: 포인터 변환하기 페이지
58.8 연습문제: void 포인터 변환하기 페이지
58.9 연습문제: 구조체 포인터 변환하기 페이지
58.10 심사문제: 소수점 이하 버리기 퀴즈
58.11 심사문제: 포인터 변환하기 퀴즈
58.12 심사문제: void 포인터 변환하기 퀴즈
58.13 심사문제: 구조체 포인터 변환하기 퀴즈
Unit 59. 포인터 연산 사용하기
메모리 주소를 옮겨다닐 수 있는 포인터 연산에 대해 설명합니다.
59.0 포인터 연산 사용하기 페이지
59.1 포인터 연산으로 메모리 주소 조작하기 페이지
59.2 포인터 연산과 역참조 사용하기 페이지
59.3 void 포인터로 포인터 연산하기 페이지
59.4 구조체 포인터로 포인터 연산하기 페이지
59.6 연습문제: 포인터 연산으로 메모리 주소 조작하기 페이지
59.7 연습문제: 포인터 연산과 역참조 사용하기 페이지
59.8 연습문제: 구조체 포인터와 포인터 연산 페이지
59.9 심사문제: 포인터 연산으로 메모리 주소 조작하기 퀴즈
59.10 심사문제: 포인터 연산과 역참조 사용하기 퀴즈
59.11 심사문제: 구조체 포인터로 포인터 연산하기 퀴즈
Q & A 페이지
Unit 60. 함수 사용하기
특정 용도의 코드를 한 곳에 모아놓은 함수에 대해 설명합니다.
60.1 Hello, world! 출력 함수 만들기 페이지
60.2 함수 선언과 정의 분리하기 페이지
60.3 함수 디버깅하기 페이지
60.5 연습문제: 함수 호출하기 페이지
60.6 연습문제: 함수 정의하기 페이지
60.7 심사문제: 함수 정의하기 퀴즈
60.8 심사문제: 함수 선언하기 퀴즈
Unit 61. 함수에서 반환값 사용하기
함수 바깥에 결괏값을 알려주는 반환값에 대해 설명합니다.
61.1 정수, 실수, 불 반환값 사용하기 페이지
61.2 포인터 반환하기 페이지
61.3 void 포인터 반환하기 페이지
61.4 구조체와 구조체 포인터 반환하기 페이지
61.6 연습문제: 게임 캐릭터 능력치 함수 만들기 페이지
61.7 연습문제: 문자열 포인터 반환하기 페이지
61.8 연습문제: 메모리 할당 함수 만들기 페이지
61.9 연습문제: 인적 정보 함수 만들기 페이지
61.10 심사문제: 게임 캐릭터 능력치 함수 만들기 퀴즈
61.11 심사문제: 문자열 포인터 반환하기 퀴즈
61.12 심사문제: 메모리 할당 함수 만들기 퀴즈
61.13 심사문제: 2차원 정보 만들기 퀴즈
Unit 62. 함수에서 매개변수 사용하기
함수 안에 값을 넘겨주는 매개변수에 대해 설명합니다.
62.0 함수에서 매개변수 사용하기 페이지
62.1 매개변수 사용하기 페이지
62.2 덧셈 함수 만들기 페이지
62.3 디버거에서 매개변수와 반환값 확인하기 페이지
62.5 연습문제: 문자 매개변수 사용하기 페이지
62.6 연습문제: 뺄셈 함수 만들기 페이지
62.7 심사문제: 게임 캐릭터 능력치 설정 함수 만들기 퀴즈
62.8 심사문제: 덧셈 함수 만들기 퀴즈
62.9 심사문제: 3차원 정보 만들기 퀴즈
Q & A 페이지
Unit 63. 함수에서 포인터 매개변수 사용하기
함수에서 포인터를 매개변수로 활용하는 방법을 설명합니다.
63.0 함수에서 포인터 매개변수 사용하기 페이지
63.1 포인터 매개변수 사용하기 페이지
63.2 void 포인터 매개변수 사용하기 페이지
63.3 이중 포인터 매개변수 사용하기 페이지
63.4 문자열 매개변수 사용하기 페이지
63.6 연습문제: 함수에서 반환값으로 값 한 개, 매개변수로 값 두 개 꺼내기 페이지
63.7 연습문제: 함수에서 행렬 만들기 페이지
63.8 연습문제: 문자열 매개변수 사용하기 페이지
63.9 심사문제: 몫과 나머지를 구하는 함수 만들기 퀴즈
63.10 심사문제: 함수에서 메모리를 할당하여 배열 만들기 퀴즈
63.11 심사문제: 문자열 매개변수 사용하기 퀴즈
Unit 64. 함수에서 배열 매개변수 사용하기
함수에서 1차원 배열과 2차원 배열을 매개변수로 사용하는 방법을 설명합니다.
64.1 배열 매개변수 사용하기 페이지
64.2 2차원 배열 매개변수 사용하기 페이지
64.4 연습문제: 배열 매개변수 사용하기 페이지
64.5 연습문제: 단위행렬 만들기 페이지
64.6 심사문제: 배열 매개변수 사용하기 퀴즈
64.7 심사문제: 전치행렬 만들기 퀴즈
Unit 65. 함수에서 구조체 매개변수 사용하기
함수에서 구조체를 매개변수로 사용하는 방법을 설명합니다.
65.1 구조체 매개변수 사용하기 페이지
65.2 구조체 포인터 매개변수 사용하기 페이지
65.4 연습문제: 좌표 출력 함수 만들기 페이지
65.5 연습문제: 좌표 설정 함수 만들기 페이지
65.6 심사문제: 두 점 사이의 거리를 구하는 함수 만들기 퀴즈
65.7 심사문제: 좌표를 이동시키는 함수 만들기 퀴즈
Q & A 페이지
Unit 66. 함수에서 가변 인자 사용하기
매개변수의 개수가 정해지지 않은 가변 인자 함수에 대해 설명합니다.
66.1 가변 인자 함수 만들기 페이지
66.2 자료형이 다른 가변 인자 함수 만들기 페이지
66.4 연습문제: 문자열을 출력하는 가변 인자 함수 만들기 페이지
66.5 연습문제: 자료형이 다른 가변 인자의 합 구하기 페이지
66.6 심사문제: 가변 인자의 합 구하기 퀴즈
66.7 심사문제: 가변 인자의 정수 합 구하기 퀴즈
Unit 67. 함수에서 재귀호출 사용하기
함수 안에서 자기자신을 호출하는 재귀호출에 대해 설명합니다.
67.1 재귀호출 사용하기 페이지
67.2 재귀호출로 팩토리얼 구하기 페이지
67.4 연습문제: 재귀호출 사용하기 페이지
67.5 연습문제: 재귀호출로 1부터 100까지의 합 구하기 페이지
67.6 심사문제: 재귀호출로 피보나치 수 구하기 퀴즈
67.7 심사문제 : 재귀호출로 1부터 n까지 합 구하기 퀴즈
Unit 68. 함수 포인터 사용하기
함수를 저장하는 포인터인 함수 포인터에 대해 설명합니다.
68.0 함수 포인터 사용하기 페이지
68.1 함수 포인터 만들기 페이지
68.2 반환값과 매개변수가 있는 함수 포인터 만들기 페이지
68.4 연습문제: 함수 포인터 만들기 페이지
68.5 심사문제: 반환값과 매개변수가 있는 함수 포인터 만들기 퀴즈
Unit 69. 함수 포인터 활용하기
함수 포인터 배열을 선언하는 방법, 함수 포인터를 구조체 멤버로 사용하는 방법, 함수 포인터를 함수의 매개변수와 반환값으로 사용하는 방법을 설명합니다.
69.1 함수 포인터 배열 사용하기 페이지
69.2 함수 포인터를 구조체 멤버로 사용하기 페이지
69.3 함수 포인터를 함수의 매개변수로 사용하기 페이지
69.4 함수 포인터를 함수의 반환값으로 사용하기 페이지
69.5 typedef로 함수 포인터 별칭 정의하기 페이지
69.7 연습문제: 계산 함수를 얻은 뒤 호출하기 페이지
69.8 심사문제: 인적 정보 출력하기 퀴즈
Q & A 페이지
Unit 70. 파일에서 문자열을 읽고 쓰기
파일에 값을 쓰는 방법과 읽는 방법을 설명합니다.
70.1 서식을 지정하여 파일에 문자열 쓰기 페이지
70.2 서식을 지정하여 파일에서 문자열 읽기 페이지
70.3 파일에 문자열 쓰기 페이지
70.4 파일에서 문자열 읽기 페이지
70.6 연습문제: 파일에 문자열 쓰기 페이지
70.7 연습문제: 서식을 지정하여 파일에서 문자열 읽기 페이지
70.8 심사문제: 서식을 지정하여 파일에 문자열 쓰기 퀴즈
70.9 심사문제: 파일에서 문자열 읽기 퀴즈
Unit 71. 파일 포인터 활용하기
파일의 읽기/쓰기 위치를 활용하여 파일의 크기를 구하는 방법, 파일을 부분적으로 읽고 쓰는 방법을 설명합니다.
71.1 파일 크기 구하기 페이지
71.2 파일 크기만큼 파일 읽기 페이지
71.3 파일을 부분적으로 읽고 쓰기 페이지
71.4 제한된 버퍼로 파일 전체를 읽기 페이지
71.6 연습문제: 파일 크기만큼 파일 읽기 페이지
71.7 연습문제: 파일을 부분적으로 읽기 페이지
71.8 연습문제: 텍스트 파일 복사 프로그램 만들기 페이지
71.9 심사문제: 파일 크기만큼 파일 읽기 퀴즈
71.10 심사문제: 파일을 부분적으로 읽기 퀴즈
71.11 심사문제: 파일을 읽은 뒤 거꾸로 저장하기 퀴즈
Unit 72. 파일에서 구조체를 읽고 쓰기
구조체를 활용하여 바이너리 파일을 처리하는 방법을 설명합니다.
72.0 파일에서 구조체를 읽고 쓰기 페이지
72.1 파일에 구조체 쓰기 페이지
72.2 파일에서 구조체 읽기 페이지
72.4 연습문제: 파일에 구조체 쓰기 페이지
72.5 연습문제: 파일에서 구조체 읽기 페이지
72.6 심사문제: 파일에 구조체 쓰기 퀴즈
72.7 심사문제: 파일에서 구조체 읽기 퀴즈
Q & A 페이지
Unit 73. 배열 정렬하기
거품 정렬(bubble sort)을 구현하는 방법과 퀵 정렬(quick sort) 함수 사용 방법을 설명합니다.
73.1 거품 정렬 구현하기 페이지
73.2 퀵 정렬 함수 사용하기 페이지
73.4 연습문제: 거품 정렬 구현하기 페이지
73.5 연습문제: 퀵 정렬 함수 사용하기 페이지
73.6 심사문제: 거품 정렬 구현하기 퀴즈
73.7 심사문제: 퀵 정렬 함수 사용하기 퀴즈
Unit 74. 연결 리스트 구현하기
C 언어로 연결 리스트(linked list)를 구현하는 방법을 설명합니다.
74.0 연결 리스트 구현하기 페이지
74.1 연결 리스트 구조체 만들고 사용하기 페이지
74.2 노드 추가 함수 만들기 페이지
74.3 노드 삭제 함수 만들기 페이지
74.5 연습문제: 특정 노드 검색하기 페이지
74.6 심사문제: 특정 노드 삭제하기 퀴즈
Q & A 페이지
Unit 75. 매크로 사용하기
C 언어에서 매크로를 정의하는 방법과 주의점에 대해 설명합니다.
75.1 매크로 정의하기 페이지
75.2 함수 모양의 매크로 정의하기 페이지
75.3 여러 줄을 묶어서 매크로로 정의하기 페이지
75.4 스왑 매크로 정의하기 페이지
75.5 매크로와 연산자 우선순위 알아보기 페이지
75.6 매크로 연결 사용하기 페이지
75.8 연습문제: MIN, MAX 매크로 정의하기 페이지
75.9 연습문제: 구조체를 선언하고 초기화하는 매크로 정의하기 페이지
75.10 심사문제: RGB 매크로 정의하기 퀴즈
75.11 심사문제: 배열의 크기를 구하는 매크로 정의하기 퀴즈
Unit 76. 조건부 컴파일과 파일 포함 사용하기
매크로를 이용하여 조건부 컴파일을 하는 방법과 파일 포함 방법을 설명합니다.
76.0 조건부 컴파일과 파일 포함 사용하기 페이지
76.1 조건부 컴파일 사용하기 페이지
76.2 값 또는 식으로 조건부 컴파일하기 페이지
76.3 파일 포함하기 페이지
76.5 연습문제: 조건부 컴파일 사용하기 페이지
76.6 연습문제: 파일 포함하기 페이지
76.7 심사문제: 조건부 컴파일 사용하기 퀴즈
76.8 심사문제: 파일 포함하기 퀴즈
Unit 77. 여러 소스 파일 사용하기
함수의 기능별로 파일을 분리하고, 함수 선언과 구조체를 헤더 파일에 넣는 방법을 설명합니다.
77.0 여러 소스 파일 사용하기 페이지
77.1 프로그램 설계하기 페이지
77.2 계산 데이터 헤더 파일 작성하기 페이지
77.3 덧셈, 뺄셈 함수 작성하기 페이지
77.4 계산 결과 함수 작성하기 페이지
77.5 main 함수 작성하기 페이지
77.7 연습문제: 헤더 파일 작성하기 페이지
77.8 심사문제: 헤더 파일 작성하기 퀴즈
Q & A 페이지
Unit 78. 전역 변수 사용하기
모든 함수에서 접근할 수 있는 전역 변수에 대해 설명합니다.
78.1 변수의 범위 알아보기 페이지
78.2 전역 변수 선언하기 페이지
78.3 extern으로 다른 소스 파일의 전역 변수 사용하기 페이지
78.5 연습 문제: 구조체로 전역 변수 선언하기 페이지
78.6 연습 문제: extern으로 다른 소스 파일의 전역 변수 사용하기 페이지
78.7 심사문제: 구조체로 전역 포인터 변수 선언하기 퀴즈
78.8 심사문제: extern으로 다른 소스 파일의 전역 변수 사용하기 퀴즈
Unit 79. 기억 부류 지정자 사용하기
함수를 벗어났을 때 값이 계속 유지되는 정적 변수와 현재 파일안에서만 사용할 수 있는 정적 함수에 대해 설명합니다.
79.1 자동 변수 사용하기 페이지
79.2 정적 변수 선언하기 페이지
79.3 정적 함수 사용하기 페이지
79.4 레지스터 변수 사용하기 페이지
79.6 연습문제: 정적 변수 선언하기 페이지
79.7 연습문제: 정적 함수 사용하기 페이지
79.8 심사문제: 정적 변수 선언하기 퀴즈
Unit 80. 실행 파일 옵션 사용하기
실행 파일에 지정한 옵션을 어떻게 사용하는지 설명합니다.
80.1 main 함수에서 실행 파일 옵션 받기 페이지
80.3 연습문제: 덧셈 프로그램 만들기 페이지
Q & A 페이지
Unit 81. 실전예제: 비트맵 파일을 아스키 아트로 변환하기
비트맵 그림 파일의 픽셀 정보를 읽어서 아스키 아트로 출력하는 프로그램을 만들어봅니다.
81.0 실전 예제: 비트맵 파일을 아스키 아트로 변환하기 페이지
81.1 비트맵 파일 포맷 알아보기 페이지
81.2 비트맵 구조체 작성하기 페이지
81.3 픽셀을 아스키 문자로 저장하기 페이지
81.4 실행 결과 확인하기 페이지
81.6 연습문제: 비트맵 파일을 아스키 아트로 변환하기 페이지
81.7 심사문제: 비트맵 파일을 아스키 아트로 변환하기 퀴즈
Unit 82. 실전 예제: 파일 아카이브 구현하기
파일 안에 파일을 보관하는 파일 아카이브를 만들어봅니다.
82.0 실전예제: 파일 아카이브 구현하기 페이지
82.1 파일 포맷 설계하기 페이지
82.2 아카이브 파일 구조체 작성하기 페이지
82.3 프로젝트를 만들고 소스 파일 추가하기 페이지
82.4 아카이브 파일 생성 및 첫 파일 추가하기 페이지
82.5 파일 목록 출력하기 페이지
82.6 파일 추출하기 페이지
82.7 기능별로 파일 나누기 페이지
82.8 실행 파일에서 명령 처리하기 페이지
82.9 프로그램 사용해보기 페이지
82.10 심사문제: 아카이브 파일 읽기 퀴즈
Q & A 페이지
Unit 83. 실전 예제: JSON 파일 읽고 쓰기
C 언어에서 JSON 형식을 읽고 쓰는 방법을 설명합니다.
83.0 실전 예제: JSON 파일 읽고 쓰기 페이지
83.1 JSON 구조체 작성하기 페이지
83.2 JSON 파일 읽기 페이지
83.3 JSON에서 문자열 파싱하기 페이지
83.4 JSON에서 문자열 배열 파싱하기 페이지
83.5 JSON에서 숫자 파싱하기 페이지
83.6 키로 값을 가져오는 함수 작성하기 페이지
83.7 JSON 파일 쓰기 페이지
83.8 심사문제: JSON 문서 읽기 퀴즈
Unit 84. 실전 예제: GitHub의 소스 코드 사용하기
GitHub의 소스 코드를 사용하여 JSON 형식을 읽고 쓰는 방법을 설명합니다.
84.0 실전 예제: GitHub의 소스 코드 사용하기 페이지
84.1 프로젝트 생성 페이지
84.2 JSON 파일 읽기 페이지
84.3 JSON 파일 쓰기 페이지
Q & A 페이지
85.1 리눅스, OS X에서 컴파일하기 페이지
85.2 서식 지정자 페이지
85.3 데이터 모델 페이지
85.4 실수 자료형의 오차 페이지
85.5 실수의 무한대와 숫자가 아닌 값 검사 페이지
85.6 ASCII 코드표 페이지
85.7 C 언어 이스케이프 시퀀스 페이지
85.8 문자 종류 판별하기 페이지
85.9 10진수 - 16진수 - 2진수 변환표 페이지
85.10 10진수를 16진수로 변환하기 페이지
85.11 16진수를 10진수로 변환하기 페이지
85.12 불 자료형 페이지
85.13 64비트 사용하기 페이지
85.14 인라인 함수 사용하기 페이지
85.15 volatile 변수 페이지
85.16 restrict 포인터 페이지
85.17 시퀀스 포인트 페이지
85.18 conio.h 함수 사용하기 페이지
85.19 문자열 입출력 함수 사용하기 페이지
85.20 입출력 버퍼 활용하기 페이지
85.21 assert 사용하기 페이지
85.22 wchar_t 사용하기 페이지
85.23 Secure 함수 사용하기 페이지
85.24 코드 실행을 늦추기 페이지
85.25 C 언어 도움말 찾기 페이지
C 언어 코딩 도장 생략
C 언어 코딩 도장
도서 구매 바로 가기
C 언어 코딩 도장
Unit 1. 소프트웨어 교육과 C 언어
Unit 2. Visual Studio 설치하기
Unit 3. Hello, world!로 시작하기
Unit 4. 기본 문법 알아보기
Unit 5. 변수 만들기
Unit 6. 디버거 사용하기
Unit 7. 정수 자료형 사용하기
Unit 8. 실수 자료형 사용하기
Unit 9. 문자 자료형 사용하기
Unit 10. 상수 사용하기
Unit 11. 입력 값을 변수에 저장하기
Unit 12. 덧셈, 뺄셈하기
Unit 13. 증가, 감소 연산자 사용하기
Unit 14. 곱셈, 나눗셈하기
Unit 15. 나머지 연산하기
Unit 16. 자료형의 확장과 축소 알아보기
Unit 17. if 조건문으로 특정 조건일 때 코드 실행하기
Unit 18. else를 사용하여 두 방향으로 분기하기
Unit 19. else if를 사용하여 여러 방향으로 분기하기
Unit 20. 비교 연산자와 삼항 연산자 사용하기
Unit 21. 논리 연산자 사용하기
Unit 22. 불 자료형 사용하기
Unit 23. 비트 연산자 사용하기
Unit 24. 비트 연산자 응용하기
Unit 25. 연산자 우선순위 알아보기
Unit 26. switch 분기문으로 다양한 조건 처리하기
Unit 27. for 반복문으로 Hello, world! 100번 출력하기
Unit 28. while 반복문으로 Hello, world! 100번 출력하기
Unit 29. do while 반복문으로 최소 한 번은 실행하기
Unit 30. break, continue로 반복문 제어하기
Unit 31. 계단식으로 별 출력하기
Unit 32. goto로 프로그램의 흐름을 원하는 대로 바꾸기
Unit 34. 포인터 사용하기
Unit 35. 메모리 사용하기
Unit 36. 배열 사용하기
Unit 37. 2차원 배열 사용하기
Unit 38. 포인터와 배열 응용하기
Unit 39. 문자열 사용하기
Unit 40. 입력 값을 문자열에 저장하기
Unit 41. 문자열의 길이를 구하고 비교하기
Unit 42. 문자열을 복사하고 붙이기
Unit 43. 문자열 만들기
Unit 44. 문자열 검색하기
Unit 45. 문자열 자르기
Unit 46. 문자열과 숫자를 서로 변환하기
Unit 47. 회문 판별과 N-gram 만들기
Unit 48. 구조체 사용하기
Unit 49. 구조체 포인터 사용하기
Unit 50. 두 점 사이의 거리 구하기
Unit 51. 구조체 멤버 정렬 사용하기
Unit 52. 구조체와 메모리 활용하기
Unit 53. 구조체 배열 사용하기
Unit 54. 공용체 사용하기
Unit 55. 구조체와 공용체 활용하기
Unit 56. 구조체 비트 필드 사용하기
Unit 57. 열거형 사용하기
Unit 58. 자료형 변환하기
Unit 59. 포인터 연산 사용하기
Unit 60. 함수 사용하기
Unit 61. 함수에서 반환값 사용하기
Unit 62. 함수에서 매개변수 사용하기
Unit 63. 함수에서 포인터 매개변수 사용하기
Unit 64. 함수에서 배열 매개변수 사용하기
Unit 65. 함수에서 구조체 매개변수 사용하기
Unit 66. 함수에서 가변 인자 사용하기
Unit 67. 함수에서 재귀호출 사용하기
Unit 68. 함수 포인터 사용하기
Unit 69. 함수 포인터 활용하기
Unit 70. 파일에서 문자열을 읽고 쓰기
Unit 71. 파일 포인터 활용하기
Unit 72. 파일에서 구조체를 읽고 쓰기
Unit 73. 배열 정렬하기
Unit 74. 연결 리스트 구현하기
Unit 75. 매크로 사용하기
Unit 76. 조건부 컴파일과 파일 포함 사용하기
Unit 77. 여러 소스 파일 사용하기
Unit 78. 전역 변수 사용하기
Unit 79. 기억 부류 지정자 사용하기
Unit 80. 실행 파일 옵션 사용하기
Unit 81. 실전예제: 비트맵 파일을 아스키 아트로 변환하기
Unit 82. 실전 예제: 파일 아카이브 구현하기
Unit 83. 실전 예제: JSON 파일 읽고 쓰기
Unit 84. 실전 예제: GitHub의 소스 코드 사용하기
- 이 사이트에 실린 모든 내용, 디자인, 이미지, 편집 구성의 저작권은 (주)도서출판 길벗과 지은이에게 있습니다.
- 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다.
- 책의 내용을 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다.
- 링크, SNS 공유는 허용합니다.
서울시 마포구 서교동 월드컵로 10길 56 (서울시 마포구 서교동 467-9)
Copyright © 2016-2021 Coding Dojang