Recursion 재귀호출 - 함수가 자기 자신을 호출하는 기능이다. - C와 달리, C++에서는 \(\texttt{main()}\) 함수의 재귀호출은 허용하지 않는다. - 반복되는 연쇄 호출을 끝내기 위해 일반적으로는 \(\texttt{if}\) 구문을 재귀 호출의 일부로 만든다. - 하나의 작업을 서로 비슷한 두 개의 작은 작업으로 반복적으로 분할해가면서 처리해아 하는 상황에 적합하다. (특히, 이런 상황에서의 재귀적 접근법을 "Divide & Conquer" 전략이라고 부른다.) (재귀호출의 횟수가 계속해서 2배씩 증가하기 때문에 재귀 호출의 단계가 많이 요구되는 경우엔 오히려 비효율적일 수 있다.) Ex. 재귀함수의 일반적인 형태 returnType Func (arguments) { Stateme..
Function 함수 - C++에서의 프로그래밍 Module(모듈)이라 할 수 있다. - 컴파일러가 제공하는 Library Function(라이브러리)과 프로그래머가 직접 정의하는 User-defined Function(사용자 정의 함수)로 구분지을 수 있다. User-defined Function (사용자 정의 함수) - 프로그래머가 직접 정의한 함수이다. - Function Definition(함수 정의), Function Prototype(함수 원형), Call the Function(함수 호출)과 같은 전 과정을 프로그래머가 직접 구현해야 한다. Parameter (매개변수) - 호출한 함수와 호출된 함수 사이를 오가는 데이터이다. * Formal Parameter (형식 매개변수) : 전달되는 ..
File Input 파일 입력 - C++ 코드상에서 키보드를 통한 입력이 아닌, 파일을 통한 데이터의 입력 방법을 의미한다. * Console I/O(콘솔 I/O) : 키보드 입력 + 디스플레이 출력 환경을 의미한다. C++에서 파일입력시의 기본 원칙 - \(\texttt{}\) 헤더파일을 포함시켜야 한다. (\(\texttt{}\) 헤더파일에는 입력을 처리하는 \(\texttt{ifstream}\) 클래스가 정의되어 있다.) - 하나 이상의 \(\texttt{ifstream}\) 변수 또는 객체를 선언해야 한다. (일반적인 명명 규칙 범위 내에서 프로그래머가 원하는 이름으로 지정할 수 있다.) - \(\texttt{std}\) namespace 를 지정해야 한다. - 선언한 \(\texttt{ifstr..
File Output 파일 출력 - C++ 코드상에서 디스플레이를 통한 출력이 아닌, 파일을 통한 데이터의 출력 방법을 의미한다. * Console I/O(콘솔 I/O) : 키보드 입력 + 디스플레이 출력 환경을 의미한다. C++에서 파일출력시의 기본 원칙 - \(\texttt{}\) 헤더파일을 포함시켜야 한다. (\(\texttt{}\) 헤더파일에는 출력을 처리하는 \(\texttt{ofstream}\) 클래스가 정의되어있다.) - 하나 이상의 \(\texttt{ofstream}\) 변수 또는 객체를 선언해야 한다. (일반적인 명명 규칙 범위 내에서 프로그래머가 원하는 이름으로 지정할 수 있다.) - \(\texttt{std}\) namespace 를 지정해야 한다. - 선언한 \(\texttt{ofs..
\(\texttt{break}\) & \(\texttt{continue}\) Statement \(\texttt{break}\) & \(\texttt{continue}\) 구문 - 프로그램이 코드의 일부를 무시하고 건너뛰게 만드는 구문이다. \(\texttt{break}\) Statement (\(\texttt{break}\) 구문) - 루프 구문 블럭 또는 \(\texttt{switch}\) 구문 블럭 바로 뒤에 오는 구문을 실행한다. (현재 진행중이던 루프, 조건문을 탈출한다.) - \(\texttt{break}\) 구문은 모든 종류의 루프와 \(\texttt{switch}\)구문에 사용할 수 있다. \(\texttt{continue}\) Statement (\(\texttt{continue}\) 구..
\(\texttt{switch}\) Statement \(\texttt{switch}\) 구문 - 다음에 수행할 구문이 어느 행인지를 알려 주는 경로 결정기와 같은 구문이다. - int형을 리턴하는 표현식\(\texttt{(int_Expr)}\)의 값에 정확히 일치하는 레이블이 붙어 있는 행으로 Branching(분기)한다. - 이 때문에 switch 구문의 표현식은 필히 int형을 리턴해야 하며, 각 레이블 또한 정수 상수 표현식으로 구성되어져야 한다. (int형 상수, char형 상수, 열거자에 선언된 기호 상수 등이 레이블의 값이 될 수 있다.) - \(\texttt{(int_Expr)}\)에 해당되는 레이블이 없으면 \(\texttt{default}\) 레이블로 분기한다. (\(\texttt{de..
Noun 명사 - from Latin "\(n\bar{o}men\)", literally meaning "name" 단어를 명사로 만드는 Postfix Postfix -tion -sion -ness -ance -ment -ship -ty Ex location decision happiness distance movement leadership society Countable Nouns (가산 명사) - 개수를 셀 수 있는 명사이다. (특히, 사람 & 돈을 나타내는 명사(money, cash 제외)는 거의 다 가산명사이다!) - 개수를 셀 수 있으므로, Singular nouns(단수 명사), Plural nouns(복수 명사) 로 나뉜다. 1. Singular Nouns (단수 명사) - 단수명사의 경우..
Elements of Sentences 문장의 구성요소 - 문장을 구성하는 요소들로 크게 주어, 서술어(=동사), 목적어, 보어 4가지로 구성되며, 나머지는 모두 수식어라 칭한다. Subject (주어) : S - "~은(는)", "~이(가)" 로 해석된다. - 명사, 대명사, to 부정사, 동명사, 접속사절 등이 주어의 역할을 수행할 수 있다. Object (목적어) : O - "~을(를)", "~에게, 무엇을" 로 해석된다. - 명사, 대명사, 동명사 등이 목적어의 역할을 수행할 수 있다. * Direct Objecrt(직접목적어, D.O.) : "~을(를)" 로 해석된다. * Indirect Object(간접목적어, I.O.) : "~에게" 로 해석된다. Complement (보어) : C - "~..