일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- C
- 정리
- 코딩
- Axiom
- C언어
- structure
- primitive notion
- 컴공
- 이진수
- c++
- 문법
- Mathmetics
- 프로그래밍
- Syntax
- It
- 증명
- Engineering
- Programming
- Proposition
- language
- 개발자
- 구조체
- proof
- University
- Developer
- coding
- 공리
- Binary
- Engineer
- computer
- Today
- Total
목록컴공 (12)
Study Note

현재 과학 기술은 디지털 시스템을 기반으로 많은 발전을 이루고 있습니다. 일상에서 사용하는 컴퓨터, TV, 핸드폰 등의 기기들이 모두 이에 해당되지요. 이런 장치들은 대부분 내재된 프로그램에 따라 작용하는 명령들을 수행합니다. 여기서 디지털이란 상태를 비연속적으로 표현하는 것으로 아날로그와 대비되는 말입니다. 그럼 어떤 수단으로 이산적인 표현을 할까요? 이진수(Binary) 바로 2진수(binary)를 이용하는 것입니다. 2진수가 무엇인지 살펴보기 전에 우리가 일상에서 사용하는 자연수를 예시를 통해 간단하게 분석해보겠습니다. 3172라는 자연수를 10의 거듭제곱으로 표현된 각 항에 계수를 곱하고 이를 모두 더하는 방식으로 표현 했는데요, 너무 당연하게 느껴지는 식이지만 진법에서 가장 기본이 되는 식입니다..

이번 글에선 데이터의 가장 기본 형태 세 가지에 대해 배워보도록 하겠습니다. 간단한게 이런게 있다 정도로 말할 수 있으면 좋겠지만, 데이터의 구조를 자세히 분석해야 앞으로의 사용에 있어서 오류를 방지할 수 있기 때문에 적어도 C언어에선 반드시 짚고 넘어가야 하는 부분입니다. 데이터의 저장 구조 일전에 컴퓨터는 이진 체계의 언어만을 사용한다고 말했었습니다. 이진 체계의 문자는 0 또는 1이라는 비트 뿐인데 어떻게 그 외의 데이터들을 표현할 수 있는 것일까요? 바로 코드화를 시켜주는 것입니다. 즉, 특정 문자를 이진수로 표현된 값에 대응이 되도록 미리 정해두는 것입니다. 예를 들어, 2라는 자연수는 이진수로 11, 31이라는 자연수는 이진수로 11111와 같이 말입니다. 문자의 형태도 마찬가지 입니다. 'a..

이 글에선 우리가 사용할 자료들이 어떤 구조로 이루어져 있는지 상태에 대해 자세히 다루어 볼 예정입니다. (이 부분을 자세히 이해하고 있어야 뒤에 배울 '포인터'라는 개념의 이해가 쉽습니다.) 변수(Variable) 대부분의 프로그램은 내재된 데이터 혹은 외부로부터 입력 받은 데이터를 연산해가며 동작합니다. 즉, 데이터들이 값(Value)이라는 정적인 형태로만 존재하는 것이 아니라 언제든 연산의 과정에서 변화의 과정을 거치게 됩니다. 이때 우리는 이 값들을 담을 일시적인 저장공간이 필요한데 이를 변수(Variable)라고 부릅니다. 변수가 없는 상황을 가정하여, 1+2=3을 계산하는 프로그램을 다음과 같이 만들 수 있습니다. #include int main(){ 1 + 2; } 이 프로그램을 실행시켜보면..

이 메뉴에서는 C와 C++을 함께 배워보려고 합니다. C/C++은 교육용으로 만들어진 언어는 아니지만, 컴퓨터를 전반에 걸쳐 이해하는데 굉장히 훌륭한 언어입니다. 특히 전공생들은 입학하여 듣는 첫 강의에서 대부분 C언어를 배우게 될 정도로 기본이 되는 언어라고 볼 수 있습니다. 그렇다면 본격적으로 학습하기 전에 C/C++은 어떤 언어인지 부터 직접 사용하기 위해서 필요한 준비까지 알아보도록 하겠습니다. C/C++의 특징 먼저 C언어부터 살펴보면, 절차지향 프로그래밍(pro-cedural programming)의 대표가 되는 언어라고 할 수 있습니다. 절차지향이란 순차적이라는 말과 동일하게 사용되는데, 이는 컴퓨터의 처리 구조와 비슷하기 때문에 코드의 처리 속도가 우리가 흔히 사용하는 다른 언어에 비해 뛰..