프로그래밍을 하다보면 몇가지의 한정된 데이터들을 가지는 경우가 있습니다. 대표적으로는 "요일"이나 "계절" 같은것이지요 요일은 월,화,수,목,금,토,일 이렇게 7가지밖고 계절도 봄,여름,가을,겨울 4가지 계절로 한정되어 있습니다. 이렇게 이와 같이 한정된 데이터들을 갖는 데이터들은 열거형으로 묶어주면 편합니다. 열거형(Enum) 선언 방법 enum Season { //class 외부에서 선언 봄, 여름, 가을, 겨울 } public class enum_ex { public enum Season { //class 내부에서 선언 봄, 여름, 가을, 겨울 } } enum 키워드는 열거 타입을 선언하기 위한 키워드입니다. 열거 타입(Season)이름을 지정하고 열거 상수(봄,여름,가을,겨울)를 나열하면 됩니다...
비트 연산자는 데이터를 비트 단위로 연산합니다. 그러므로 0과 1로 표현이 가능한 정수 타입이나 정수형으로 캐스팅이 가능한 자료형만 비트 연산이 가능합니다. 비트 연산자는 기능에 따라 비트 이동연산자, 비트 논리연산자로 구분합니다. 비트 이동 연산자(, >>>) 연산식 설명 x > y 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킵니다. (빈자리는 정수 a의 최상위 부호비트와 같은 값으로 채워집니다. x >>> y 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킵니다. (빈자리는 0으로 채워집니다.) 비트 이동 연산자는 정수 데이터의 비트를 왼쪽 또는 오른쪽으로 이동시키는 연산을 합니다. 2 3 -16 >> 3 16 >> 3 은 16을 32비트로 분해한다음 오른쪽으로 3비트를 이동시키는 연산입니다. 비트를..
C와 C++은 다른 개발언어와 달리 포인터를 사용하여 메모리를 직접 관리할 수 있다는 장점이 있습니다. C에는 malloc()과 free()라는 함수를 통해서 메모리를 할당하고 해제하였는데 C++에서는 new와 delete라는 연산자를 활용하여 메모리를 관리합니다. new는 malloc() 함수와 달리 메모리 크기를 정하지 않고 동적으로 할당합니다. new와 delete 사용법 //메모리 할당 사용법 타입 *변수명 = new 타입; //메모리 할당 delete 변수명 //메모리 할당해제 #include using namespace std; int main(){ int *point = new int; //메모리 동적할당 *point = 100; cout
C언어에서는 에 있는 scanf, printf를 통해서 입출력문을 사용합니다. 물론 C++에서도 scanf, printf를 통해서 입력, 출력을 할수도 있지만 C++의 표준 입력 및 출력은 cin, cout를 사용합니다. std 네임스페이스에 속한 cin, cout객체는 클래스내에 있는 인스턴스입니다. 출력문 std::cout include int main() { std::cout
전세계에서 가장 인기가 있는 IDE는 어떤것일까요? 2017년 IT_WORLD에 따르면 가장 인기있는 IDE로 비쥬얼 스토디오로 무려 22%의 점유율을 가지고 있다고 합니다. 특히 C계열에서는 대부분의 개발자들이 이 비쥬얼 스튜디오를 사용합니다. 마이크로 소프트웨어에서 배포한 비쥬얼 스튜디오는 C언어와 완벽한 궁합을 자랑합니다. 마이크로소프트가 직접 개발한 C#같은 경우에는 100% 비쥬얼 스튜디오를 사용한다고해도 과언이 아닐것입니다. 이왕 개발 언어를 공부를 할거면 가장 많이 사용하는 IDE로 공부를 하는것이 가장 좋을듯합니다. IDE를 잘다루는것도 실력이니까요. 이번 포스팅에서는 Visual Stdio 2019 설치방법에 대해 알아보도록 하겠습니다. 통합 개발 환경(IDE)은 Integrated De..
대표적인 for문 연습 방법인 별찍기에 대해 포스팅해보려합니다. 별찍기는 반복문을 사용해서 여러가지형태로 별(*)을 출력하는 말하는데요. 기본적인 사각형, 삼각형 이런것은 쉽게 구현이 가능하지만 피라미드, 마름모, 모래시계 이런것들은 생각보다 까다로워요. 특히 처음 반복문을 접하시는 분들은 많이 힘들어 하실거에요. 그래서 이번 포스팅에서는 상대적으로 쉬운 사각형, 삼각형부터 상대적으로 어려운 피라미드, 나비, 마름모까지 한번 만들어서 그 소스를 포스팅해보자 합니다. 사각형 만들기 for(int i=0;i
반복문 종류 반복문의 종류로는 for문, while문 do-while문이 있습니다. 어떤 상황이냐에 따라 반복문의 문법을 결정하여 코딩을 하게 되는데요. for문과 while문은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택해도 상관은 없습니다만 for문은 반복횟수를 명확히 알고 있을 때 주로 사용하고 while문은 조건에 따라 반복 횟수를 결정해야 할 때 주로 사용하게 되는 것 같습니다. while문과 do-while문의 차이점은 조건을 먼저 검사하느냐 나중에 검사하느냐만 다를 뿐 기본적인 로직은 같습니다. do-while은 솔직히 잘 쓰지는 않는 것 같아요. 대부분 for문과 while문을 많이 쓰게 되는데 특히 for문을 가장 많이 사용하게 됩니다. 그 이유는 for문이 while..
반복문의 종류 반복문의 종류로는 for문, while문 do-while문이 있습니다. 어떤 상황이냐에 따라 반복문의 문법을 결정하여 코딩을 하게 되는데요. for문과 while문은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택해도 상관은 없습니다만 for문은 반복횟수를 명확히 알고 있을 때 주로 사용하고 while문은 조건에 따라 반복 횟수를 결정해야 할 때 주로 사용하게 되는 것 같습니다. while문과 do-while문의 차이점은 조건을 먼저 검사하느냐 나중에 검사하느냐만 다를 뿐 기본적인 로직은 같습니다. while문 while문은 조건식이 true일 경우에 계속해서 반복하는 문법입니다. 조건식에는 비교 또는 논리 연산식이 줄로 오는데 조건식이 false가 되면 반복을 멈추고 wh..
조건문 switch문 switch문은 if문과 같이 조건 제어문에 속합니다. 하지만 switch문은 if문처럼 조건식이 =와 같은 이상, 이하, 초과, 미만 같은 부등식이 사용될 수 없습니다. if문은 조건식이 true일 경우에 블록이 실행된다고 하면 switch문은 비교할 변수가 어떤 값을 가지냐에 따라 실행문을 선택됩니다. 오직 ==만 비교할 수 있는것인셈입니다. 그러므로 모든 switch문은 if문으로 바꿀 수 있지만 if문에서 부등식이 사용된 경우에는 switch문으로 치환하실 수 없습니다. 하지만 switch문을 사용함으로써 if문보다는 좀 더 코드의 가독성이 좋게끔 작성하실 수 있고 if문보다 미세하게 switch문이 빠르기에 switch문으로 작성할 수 있는 코드가 있다고하면 if문보다 sw..
조건문 if문 If문은 조건식의 결과에 따라 중괄호 { } 로 묶어놓은 블록이 실행여부가 결정되는 조건문입니다. 조건식에는 true 또는 false값을 산출할 수 있는 연산식이나 boolean변수가 올 수 있습니다. 조건식이 true면 블록을 실행하고 false면 블록을 실행하지 않습니다. C언어에서 0은 false(거짓)로 0이 아닌 나머지 값은 모두 true(참)로 인식합니다. if문 문법 //문법 if(조건식){ 실행문.... } //사용법 if(1){ printf("if문 예제"); } 만약 조건식이 true가 될때 실행해야 할 문장이 하나밖에 없다면 중괄호 {}를 아래와 같이 생략할 수도 있습니다. //중괄호 {} 생략 if(1) printf("if문 예제") if문 예제 #include int..
이번 포스팅에서는 아두이노 IDE(통합개발환경)의 설치방법에 대해 알아보도록 하겠습니다. 아두이노 IDE는 아두이노안에 내가 짠 소스코드를 넣어줄 수 있는 아두이노에서 제공하는 굉장히 가벼운 개발 툴입니다. 소스코드작성, 컴파일, 업로드등의 기능을 지원합니다. 아두이노(IDE) 설치 / 다운로드 방법 1. 우선 아두이노 홈페이지에 접속하여 아두이노 IDE 설치파일을 받으셔야 합니다. 아두이노 공식 홈페이지 : https://www.arduino.cc/ 2. 아두이노 공식 홈페이지에 접속하면 상단에 SoftWare라는 탭이있습니다. 여기서 위의 사진과 같이 Downloads를 클릭합니다. 3. Downloads를 클릭한 뒤 스크롤을 조금 내려보시면 위와같은 화면이 있을텐데요. 자신이 사용하고있는 운영체제에..
아두이노란 무엇인가? 이두이노란 물리적인 세계를 감지하고 제어할 수 있는 인터랙티브 객체들과 디지털 장치를 만들기 위한 도구로, 간단한 마이크로컨트롤러(Microcontroller) 보드를 기반으로 한 오픈 소스 컴퓨팅 플랫폼과 소프트웨어 개발 환경을 말합니다. 아두이노는 다양한 스위치나 센서로부터 입력 값을 받아들여 LED나 모터와 같은 전자 장치들로 출력을 제어함으로써 환경과 상호작용이 가능한 물건을 만들어 낼 수 있습니다. 예를 들어 단순한 로봇, 온습도계, 동작 감지기, 음악 및 사운드 장치, 스마트 홈 구현, 유아 장난감 및 로봇 교육 프로그램 등의 다양한 제품들이 아두이노를 기반으로 개발 가능합니다. 또한 아두이노는 회로가 오픈소스로 공개되어 있으므로 누구나 직접 보드를 만들고 수정할 수 있습..
객체지향 기법의 특징은 크게 5가지가 있습니다. 캡슐화, 정보은닉, 추상화, 상속성, 다형성이 바로 그것이며 이중 구조적 기법과 차별되는 개념은 캡슐화, 상속성, 다형성 입니다. 객체지향 언어의 5가지 특징 캡슐화(Encapsulation) 캡슐화는 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶은 것을 의미합니다. 1. 캡슐화된 객체의 세부 내용이 외부에 은폐(정보 은닉)되어, 변경이 발생할 때 오류의 파급 효과가 적습니다. 2. 캡슐화된 객체들은 재사용이 용이합니다. 3. 객체들 간의 메시지를 주고받을 떄 각 객체의 세부 내용은 알 필요가 없으므로 인터페이스가 단순해지고, 객체간의 결합도가 낮아집니다. 정보은닉(Information Hiding) 캡슐화에서 가장 중요한 개념으로, 다른 객체에게 자..