프로그래밍 관련/C++
C언어 강좌 7편. 제어문-1 (if~else, switch, case)
C언어 강좌 7편. 제어문-1 (if~else, switch, case)
2012.02.081. if~else(만약에~) 우리가 배울 제어문이란 말 그대로 프로그램의 실행 흐름을 제어하며 C언어에서는 조건문과 반복문을 제공합니다. 조건문은 우리가 특정 조건을 부여하고 그 조건이 만족하면 해당 문장을 수행할수 있는 문법입니다. 이 조건이 참(TRUE)이면 if문 내의 코드를 실행하며 거짓(FALSE)이면 if문 내의 코드를 실행하지 않고 그냥 넘겨버립니다. 조건은 수식으로 주어집니다. if 문의 구조를 보시면 다음과 같습니다. if (조건문) { 조건식이 만족되면 실행될 문장; } 조건문에 오는건 반드시 참(true) 혹은 거짓(false)이여야 하며, 주로 논리 연산자와 비교 연산자 등이 조건문에 쓰입니다. if문을 사용하기 전, 간단한 비교 연산자부터 짚고 넘어가도록 하겠습니다. 한번 아래의..
C언어 강좌 6편. 전처리기문 #define와 #include
C언어 강좌 6편. 전처리기문 #define와 #include
2012.02.081. #include #include(포함하다,~을 포함시키다)란 녀석은 외부에 선언되어 있는 함수 혹은 상수 등을 사용하기 위하여(구현과 선언의 분리) 선언해야 하는 것으로 이것은 #define와 같이 전처리기라 불리며 컴파일 이전에 미리 처리되는 문장(선행처리)을 말합니다. 우리가 printf, scanf 함수를 사용하기 위해 사용했던 #include 의 역할은 stdio.h의 내용이 소스에 포함되게 합니다. #include를 쓰는 대신 헤더 파일의 내용을 복사해도 똑같은 결과를 출력합니다. #include를 사용하면 그 헤더파일의 선언된 함수를 쓸수 있게되며, 파일의 이름을 적는데 사용되는 괄호는 두가지의 경우로 나뉩니다. C에서 제공하는 표준 헤더파일을 포함 시킬때는 를 사용합니다. 예를 들어 s..
C언어 강좌 5편. 함수의 정의와 사용
C언어 강좌 5편. 함수의 정의와 사용
2012.02.081. 함수의 정의 이번편에서는 함수(Function)에 대해서 알아보도록 하겠습니다. 함수란 뭘까요? 이 함수란 것은, 특정한 작업을 수행하는 또는 서로 관련있는 코드들의 모임으로 하나의 단위를 말합니다. 이 함수란 것은 모듈(module) 이라고도 하며, 우리가 배우는 C언어는 모듈러 프로그래밍(modular programming)이기도 합니다. 즉, 모듈(=함수)가 중심이 되는 언어로써, 재사용이 가능하고 유지 보수가 쉬워진다는 등 여러가지 장점을 지니고 있습니다. 우리가 알고있는 프로그램은 함수로 구성되어 있고 그 함수들이 순차적으로 실행됨으로 프로그램이 정상적으로 작동합니다. 이는 독립적인 기능을 지니며 프로그램을 구성하는 부품이라 할수 있습니다. 프로그램이 해야 할일은 모두 함수가 담당하며 핵심..
C언어 강좌 4편. 지역과 전역 변수, 정적과 외부 변수
C언어 강좌 4편. 지역과 전역 변수, 정적과 외부 변수
2012.02.071. 지역 변수와 전역 변수 지역 변수(local variable)와 전역 변수(global variable)에 대해서 간단히 설명해보도록 할텐데, 지역 변수란 우리가 선언한 지역을 벗어나면 기억 공간에서 자동으로 소멸합니다. 이 지역변수는 자동 변수(automatic variable)이라고도 부르며 이런 지역변수의 선언을 위한 auto란 키워드가 존재합니다. 참고로 auto는 우리가 따로 명시하지 않아도 지역변수로 선언이 됩니다. 이는 지역변수를 선언하기 위해 따로 auto란 키워드를 사용할 필요가 없다는 말입니다. C언어에서의 지역(local)은 무엇을 의미하시는지 알고 계시나요? 바로 {와 }를 하나의 지역으로 생각하시면 되겠습니다. 독자분들이 얼마나 잘 이해하고 있는지 테스트하기 위하여, 간단한 ..
C언어 강좌 3편. 프로그램의 기본 구성
C언어 강좌 3편. 프로그램의 기본 구성
2012.01.141. 프로그램 기본 구성 자, 이제 Visual Studio를 열어 새 C 프로젝트를 만들어 봅시다. (프로젝트 생성시 응용 프로그램 마법사에서 빈 프로젝트에 체크) 그다음 프로젝트가 생성되었으면, 솔루션 탐색기에서 소스 파일에 우클릭, 추가 -> 새 항목으로 새 소스 파일을 추가합니다. 그런 다음 아래와 같이 작성하여 봅시다. #include int main() { printf("Hello, world!\n"); return 0; } 그다음 컨트롤 키와 F5를 동시에 눌러 디버깅을 생략하고 바로 컴파일된 파일을 실행해보도록 해봅시다. 실행하면, 콘솔창이 화면에 표시되면서 화면 내에 아래와 같이 표시됩니다. Hello, world! 계속하려면 아무 키나 누르십시오 . . . 출력된 결과물을 살펴보니, '..
C언어 강좌 2편. 변수와 상수에 관해
C언어 강좌 2편. 변수와 상수에 관해
2012.01.131-1. 변수(Variable) 변수(Variable)란 무엇일까요? 이미 익히 들어보신 분도 계실거라 생각합니다. 변수란 쉽게 말하면 값을 담아두는 기억 공간입니다. 변수는 하나의 데이터 값을 가질수 있으며, 한번 정해진 값은 고정되어 있는게 아니라 계속 변할수 있는 수입니다. 이는 즉, 대입되는 수가 항상 변할수가 있다는 말입니다. 또한, 이 변수는 담기는 음식에 따라 그릇이 달라지듯 담기는 데이터에 따라 변수의 자료형(Data Type)이 결정됩니다. 문자는 문자를 담을수 있는 자료형이 있으며, 정수는 정수를 담을수 있는 자료형이, 실수는 실수를 담을수 있는 자료형이 따로 존재합니다. 우선 C언어에서의 기본 자료형(Data Type)은 무엇이 있는지에 대해 간단히 보도록 하겠습니다. 아래의 표에서 ..
C언어 강좌 1편. C언어의 시작, 강좌에 쓰일 컴파일러 소개
C언어 강좌 1편. C언어의 시작, 강좌에 쓰일 컴파일러 소개
2012.01.131-1. C언어의 시작 컴퓨터를 잘 모르시는 분들도 내부에서 이동하는 데이터는 '0'과 '1'로만 구성된 디지털 신호의 조합이라는 것을 알고 계실겁니다. 우리가 이 컴퓨터에게 어떤 특수한 명령을 내리려면 어떻게 해야만 할까요? '0'과 '1'로 이루어진 복잡한 기계어 까지 알아야만 할까요? 만약 기계어를 배워야 한다면 너무 어렵고 비효율적일 것입니다. 사람이 이해하고 터득하기 쉬운 언어를 고급 언어라 하며, 고급 언어 중 우리가 지금부터 배우게 될 C언어도 포함됩니다. 물론 C언어를 컴퓨터가 바로 이해하는것은 아닙니다. 사람이 작성한 언어를 기계어로 바꾸어 주는 '컴파일러'가 있기에 가능한겁니다. 컴파일러는 뒤에서 다시 설명하겠습니다. 이 C언어는 켄 톰슨과 데니스 리치에 의해 만들어졌으며 특징으로는 절..