목차
PART 1 입문// C 프로그래밍 시작하기 001 C 프로그래밍 시작하기002 콘솔창에 출력하기(cout, cin, endl)003 변수 배우기004 상수 배우기(const)005 사칙연산 배우기( , -, *, /)006 사칙연산 축약하기( , -, *, /)007 자료형 이해하기(char, int, double, bool, string) 008 조건문 배우기(if ~ else)009 순환문 배우기(for)010 배열 배우기([크기])011 함수 배우기( () )012 주석 배우기(//, /* */)013 네임스페이스 배우기(namespace)014 #include 배우기015 스코핑룰 이해하기( {} )PART 2 초급// C 프로그래밍 기초 다지기016 문자형 변수 이해하기(char)017 문자열형 변수 이해하기(string)018 정수형 변수 이해하기(int)019 실수형 변수 이해하기(double)020 논리형 변수 이해하기(bool)021 대입 연산자 이해하기(=)022 부호 연산자 이해하기( , -)023 증감 연산자 이해하기( , --)024 관계 연산자 이해하기(==, !=, 〈, 〈=, 〉, 〉=)025 논리 연산자 이해하기(and(&&), or(||), not(!))026 조건부 삼항 연산자 이해하기(? :)027 쉼표 연산자 이해하기(,)028 비트 연산자 이해하기(&, |, ^, ~, 〈〈, 〉〉)029 캐스트 연산자 이해하기(static_cast)030 명시적 변환 이해하기( ( ) ) 031 자료형의 크기 이해하기(sizeof)032 중첩 조건문 이해하기(if~else if~else)033 중첩 조건문으로 가장 큰 수 찾기(if~else) 034 중첩 순환문 이해하기(for~continue~break)035 순환문으로 특정 문자 개수 구하기(for)036 순환문으로 홀수, 짝수 찾기(for)037 조건 선택문 이해하기(switch~case~default)038 조건 순환문 이해하기 ①(while~continue~break)039 조건 순환문 이해하기 ②(do~while~continue~break)040 반복문을 이용하여 구구단(15단) 출력하기041 반복문을 이용하여 피보나치 수열 출력하기042 반복문을 이용하여 피라미드 출력하기043 실수 소수점 버리기 올리기(floor, ceil)044 실수 반올림하기(round)045 절대값과 제곱수 구하기(abs, fabs, pow)046 몫과 나머지 구하기(%)047 제곱근 구하기(sqrt)048 소수점 분리하기(modf)049 난수 생성하기(srand, rand)050 무작위로 문자열과 배열 섞기(random_shuffle)051 날짜와 시간을 문자열로 변환하기(localtime)052 지나간 시간 알아내기(time)053 문자열 비교하기(stringcompare)054 문자열 조회하기(find)055 문자열 길이 구하기(length)056 문자열 대소문자 변환하기(toupper, tolower)057 문자열 합치기( =)058 문자열 중간에 문자열 추가하기(insert)059 문자열 일부 지우기(erase)060 문자열 이동하기(move)061 문자열에서 특정 문자만 제거하기(erase, remove)062 문자열 일부 교체하기(replace)063 문자열을 정수로 변환하기(stoi)064 문자열을 숫자로 변환하기(stringstream)065 문자열 정렬하기(sort)066 문자열 뒤집기(reverse)067 숫자를 문자열로 변환하기(to_string)068 정수와 문자의 최대/최소값 알아내기(min, max)069 포인터 이해하기(*)070 포인터 변수 사용하기071 포인터 배열 사용하기072 지역 변수 이해하기073 전역 변수 이해하기(extern)PART 3 중급// C 프로그래밍 실력 다지기074 Call by Value 이해하기075 Call by Reference 이해하기076 Call by Address 이해하기077 const 변수 이해하기078 const 포인터 이해하기079 enum 이해하기080 enum class 이해하기081 1차원, 2차원 배열 초기화하기082 1차원 배열 사용하기083 1차원 배열 함수 인자 사용하기084 2차원 배열 사용하기085 2차원 배열 함수 인자 사용하기086 배열 일부 변경하기(fill)087 배열 일부 변경하기(fill_n)088 구조체 사용하기(struct)089 구조체를 함수 인자로 사용하기090 구조체 초기화하는 방법 ①091 구조체 초기화하는 방법 ②092 구조체 초기화하는 방법 ③093 파일을 한 줄씩 읽기(ifstream, get)094 파일을 한 줄씩 읽기(ifstream, getline)095 파일 내용을 모두 읽기(stringstream)096 텍스트를 파일에 쓰기(ofstream)097 프로그램 실행 폴더 알아내기(current_path)098 폴더 존재 여부 확인하기(exists)099 하위 폴더 목록 확인하기(directory_iterator)100 폴더 생성, 복사, 삭제하기(filesystem)101 파일 복사, 삭제하기(copy, remove)102 파일 존재 여부 확인하기(good)103 파일 크기 확인하기(file_size)104 클래스 정의하기(class)105 클래스 생성자 정의하기106 클래스 복수 생성자 정의하기107 클래스 default 생성자(default)108 클래스 생성자 초기화 리스트109 클래스 소멸자 정의하기(~)110 동적 메모리 할당(new, delete)111 static 클래스 이해하기(static)112 객체지향 정보은닉 이해하기(hiding)113 객체지향 캡슐화 이해하기(Encapsulation)114 객체지향 상속 이해하기(Inheritance)115 클래스 상속 ① Has-A 관계116 클래스 상속 ② Is-A 관계117 클래스 상속 ③ Not-A 관계118 friend 클래스 사용하기(friend)119 Friend 함수 사용하기120 함수 오버로딩 이해하기121 함수 오버라이딩 이해하기122 디폴트 매개변수 이해하기123 type_tratis 사용하기 ①(정수, enum, signed)124 type_tratis 사용하기 ②(empty, array, same)125 type_tratis 사용하기 ③(conditional)126 함수 템플릿 사용하기(template)127 클래스 템플릿 사용하기(template 〈class T〉)128 가변인자 템플릿 사용하기(typename… T)129 가변인자 함수 사용하기(C언어 스타일)130 인라인 함수 사용하기(inline)131 예외 처리 이해하기(try catch exception)132 예외 처리 응용하기(char, int)133 예외 처리 응용하기(사용자 정의, runtime_error)134 Thread 사용하기(join, sleep)135 Thread 사용하기(detach)PART 4 활용// C 프로그래밍 응용 다지기136 atomic 사용하기(init, store, load)137 atomic 사용하기(exchange)138 atomic 사용하기(compare_exchange_weak)139 atomic 사용하기(add, sub)140 typedef 사용하기141 using 사용하기142 auto 사용하기143 decltype 사용하기144 constexpr 사용하기145 pair 사용하기146 tuple 사용하기(make tuple, get)147 tuple 사용하기(tie)148 tuple 사용하기(cat)149 tuple 사용하기(sizeof)150 tuple 사용하기(비교연산)151 tuple 사용하기(piecewise_construct)152 vector 사용하기(assign, at, front, back, empty, size)153 vector 사용하기(벡터 수정)154 컨테이너와 배열 복사하기(copy)155 반복자 iterator 사용하기156 list 삽입, 정렬, 중복 값 제거하기, 합치기(sort, unique, merge)157 list 특정 요소 삭제, 역순 재배치(remove, reverse)158 list 합치기, 이어 붙이기(merge, splice)159 array 삽입, 수정, 복사하기(fill, at, copy) 160 map 삽입, 수정하기(insert, at)161 map 검색, 삭제하기(find, erase)162 bitset 초기화 방법, 비트 상태 조회하기163 bitset 수정하기, 문자열 변환, 숫자 변환164 bitset 비트 연산하기(|, &, ^, 〈〈, 〉〉)165 람다 기본 사용 방법 익히기([]())166 람다에서 특정 조건 검색하기(find_if, count_if)167 for each 반복문 사용하기(C /CLI)168 for_each 반복문 사용하기(표준)169 구간 지정 for문 사용하기170 조건에 모든 요소가 맞는지 검사하기(all_of)171 조건에 맞는 요소가 있는지 검사하기(any_of)172 조건에 맞는 요소가 없는지 검사하기(none_of)173 정렬되어 있는지 확인하기(is_sorted)174 요소의 범위 비교하기(is_permutation)175 영역의 최소, 최대값 확인하기(minmax_element)176 반복자 iterator 거리 구하기(distance)177 조건에 맞춰 영역을 분할하기(partition, partition_point)178 분할한 영역 저장하기(partition_copy)179 조건에 맞는 데이터 복사하기(copy_if)180 원하는 개수만큼 복사하기(copy_n)181 두 영역의 차집합 구하기(set_difference)182 실수가 0이 아닌지 확인하기(isnormal)183 Not a Number(NAN) 확인하기(isnan)184 좌변이 우변보다 큰지 확인하기(isgreater)185 좌변이 우변보다 작은지 확인하기(isless)186 두 숫자의 차이를 확인하기(fdim)PART 5 실무// C 실무 응용 - 정규표현식, SJON187 일치하는지 확인하기, 숫자 찾기(regex_match, regex_search)188 문자열 일부 변경하기(regex_replace)189 첫 번째 결과만 변경하기(regex_replace)190 모든 숫자 찾기(regex_search)191 Go-로 시작하는 단어 찾기(regex-search)192 R 또는 r로 시작하는 문자열 찾기(regex_match) 193 시작, 끝 문자로 문자열 찾기(regex_match)194 문자열의 모든 단어 찾기(regex_iterator)195 Json 사용하기 - 설치하기(jsoncpp)196 Json 파일에 내용 쓰기(Value, StyledWriter)197 Json 파일 내용 읽기(Readerparse)198 Json 배열처럼 읽고 쓰기(append)199 Json 원하는 자료형으로 읽기(get, as)200 Json 요소 크기 확인하기(size)