C언어
[C언어 강좌-12] 함수 (Function)
안녕하세요 피터입니다.오늘은 C언어의 함수 (Function)에 대해 알려드리겠습니다. 개요수학에서는 함수 이런식으로 표기합니다. y = f(x)여기에서 x 는 함수의 입력값이 되고, y는 출력값이 됩니다. C언어에서 함수(Function)도 이와 유사하다고 볼 수 있습니다.입력값을 가질 수 있으며, 이에 대응되는 값을 출력할 수 있습니다. 문법(Syntax)함수 선언 (Function Declaration) 함수는 다음과 같이 선언할 수 있습니다. DataType FunctionName(DataType, ...); 위와 같은 문장(문장이기 때문에 ; 세미콜론으로 끝납니다)을 함수 선언 또는 함수 원형이라고 합니다. 맨 앞쪽에 있는 DataType이 ReturnType이며 함수의 출력값입니다.Functi..
[C언어 강좌-10] 배열 (Array)
안녕하세요 피터입니다. 오늘은 C언어의 배열 (Array)에 대해 알려드리겠습니다. 개요배열은 이전 시간에 포스팅했던 루프(반복문) 과 단짝입니다. [C언어 강좌-9] 반복문 (Loop) 배열 자체가 같은 크기의 메모리 공간을 연속적으로 할당한 것이기 때문에 각 요소(Element)들을 개별적으로 다루는 것보다 루프를 이용해서 접근하면 훨씬 코드가 심플해지고 효율적이기 때문입니다. 루프와 함께 사용하지 않는다면 배열은 단순히 변수를 여러 개 선언한 것과 다를 바 없습니다. 루프의 반복자(iterator)는 배열의 각 항목(item)들에 접근하는 인덱스(index)로 사용하기에 매우 적합합니다. 문법(Syntax) 배열의 선언 배열을 선언하는 기본적인 문법은 아래와 같습니다. datatype arrayna..
[C언어 강좌-9] 반복문 (Loop)
안녕하세요 피터입니다.오늘은 C언어의 반복문에 대해 알려드리겠습니다. 개요 반복문은 어떠한 동작을 반복적으로 수행하고자 할 때 사용합니다. 주로 처리해야 하는 데이터가 여러 개인 경우에 효율적으로 처리하기 위해서 씁니다. 순환구조를 갖기 때문에 루프(Loop)라고 부르기도 합니다. 많이 사용되는 표현 중에 영원히 순환하는 루프를 무한루프(infinite loop)라고 하는데 한자와 영어의 합성어로 재미있는 표현입니다. 루프는 대부분의 프로그램에서 필수적으로 들어가는 요소 중에 하나입니다. 일회성으로 기능하고 바로 종료되는 프로그램을 제외하면 사용자가 별도로 종료를 시키기 전까지 계속 실행되는 프로그램들이 훨씬 더 많기 때문입니다. 그러면 지금부터 C언어에서 루프가 어떤식으로 사용되는지 알려드리겠습니다.C..
[C언어 강좌-8] 조건문 (IF, SWITCH)
안녕하세요 피터입니다.오늘은 C언어의 조건문에 대해 알려드리겠습니다. 주어진 조건에 따라 분기한다고 해서 분기문이라고도 하는데요, 아래와 같이 크게 세가지 종류가 있습니다. If / ElseSwitch / Case? operator 동작 원리는 거의 같지만 가독성이나 코드의 유연성을 고려하여 상황에 따라 적절하게 사용하시면 됩니다. 1. If / Else if 구문의 기본적인 문법은 다음과 같습니다.if(condition) statement;위 코드를 "만일(if) 조건이 만족하면 statement를 실행하시오." 라고 이해하시면 됩니다. 조건이 만족하는 기준은 condition이 참(true)가 되는 경우입니다. C언어에서 조건문의 참(true)은 0이 아닌 모든 수가 해당되며, 반대가 되는 거짓(fa..
[C언어 강좌-5] 상수 (Constant)
안녕하세요 피터입니다.오늘은 C언어의 상수에 대해서 알아보겠습니다. 1. 상수란 무엇인가?상수(Constant)란 프로그램이 실행되는 동안 '값이 고정되어 변경할 수 없는 메모리 공간'을 의미합니다. 변수처럼 정의해서 사용할 수 있습니다. 기본적으로 int나 char 와 같은 C언어 표준 자료형들은 모두 상수가 될 수 있습니다. 그렇기 때문에 상수는 한번 정의한 이후에 값을 변경할 수 없도록 제한한 변수와 의미가 같다고 볼 수 있습니다. 문자열 그 자체가 값을 나타내는 것을 리터럴 상수(Literal constant)라고 하는데 줄여서 리터럴(Literal)이라고 부르기도 합니다. 2. 상수를 정의하는 방법상수를 정의하는 방법에는 두 가지 방법이 있습니다.#define 전처리기를 사용하는 방법과 cons..
[C언어 강좌-4] 자료형 (DataType)
안녕하세요^^ 피터입니다. 앞서 강좌에서 배웠던 변수를 C언어 프로그래밍에서 다루려면 우선 C언어에서 제공되는 자료형을 알아야 합니다.오늘은 C언어의 자료형(DataType)에 대해 알아보겠습니다. 1. 자료형(DataType) 종류C언어의 자료형은 아래와 같이 분류할 수 있습니다.1.1 기본형 (Basic Type)1.1.1 정수형 (Integer Type)정수형(Integer Type)에는 int, short, long, char 등이 있습니다. 소수점이 없는 정수를 표현할 때 사용됩니다. 맨앞 1 bit를 부호비트로 사용하는데 부호비트도 숫자 영역으로 쓰면 양수만 표현할 수 있는 대신 더 많은 큰 숫자를 표현할 수 있습니다. 이렇게 부호비트까지 숫자로 쓰려면 앞에 unsigned를 붙인 자료형을 사..
[C언어 강좌-3] 변수(Variable)의 이해
안녕하세요 피터입니다.오늘은 프로그래밍에서의 변수에 대해 알아보겠습니다. 1. 변수는 무엇인가?우선 프로그래밍을 할 때 변수라는 것이 왜 필요한지부터 짚어볼 필요가 있습니다. 여러분들이 계산기로 통장에 들어올 실제 월급을 계산해본다고 가정해보겠습니다. 우선 기본급여에 각종 수당을 더하고 보너스(!)도 더해 총 급여를 구합니다.그리고 급여에 따른 소득세와 4대보험료 등을 더해 총 세금을 구합니다.이제 총 급여에서 총 세금을 빼면 내 통장에 들어올 실제 월급을 구할 수 있겠죠. 이 과정을 계산기로 하다 보면 총 급여나 총 세금 등 여러 값들을 더해서 구한 중간 값을 어딘가 적어놓지 않으면 잊어먹어서 다시 구해야 할 때가 종종 발생합니다. 프로그램을 개발할 때에도 마찬가지입니다. 위에서 계산기로 월급을 계산할..
GOTO 문에 대해서
GOTO문에 대해서는 다양한 의견이 있습니다. 간혹 개발자 커뮤니티 등의 사이트에서 GOTO문의 사용에 대해 격렬한 토론이 이루어지기도 합니다. GOTO문을 적절히 사용하면 아무런 문제가 없다는 사람들과 GOTO문 자체를 쓰는 것을 극도로 혐오하는 사람들 간의 논쟁은 마치 물과 기름을 보는 듯 타협의 여지가 없어 보일 때가 많습니다. 하지만 중요한 점은 GOTO문으로 인해 야기되는 문제들이 정확하게 어떤 문제들인지 파악하고 효율적으로 사용할 수 있는 방법은 없는지 여러분들이 직접 고민하고 생각해볼 필요가 있다는 점입니다. 즉, 여러분이 GOTO문을 사용할지 안할지를 결정하는데 있어서 단순히 ‘누군가가 쓰지 말라고 해서’ 라는 이유로 사용하지 않거나, ‘누가 뭐라고 하던 나는 편하니까 그냥 쓰자’ 라는 생..