컴퓨터 언어
컴퓨터와 소통을 하기 위해서는 컴퓨터의 언어를 통해 해야 하는데, 그 언어는 여러 가지 종류가 있다.
대표적으로 파이썬(Python), 자바(Java), C#, C++ 등등이 있다고 한다.
그런데 이 중에서도 언어레벨이 존재하는데, 사람의 언어와 가까울수록 High level, 컴퓨터의 언어와 가까울수록
Low level이라고 할 수 있다.
만약 위의 컴퓨터 언어들을 순서대로 나열해보자면 이런 식으로 나타낼 수 있을 것이다.
사람(High level)-----Python------Java----------C#---------C++---------컴퓨터(Low level)
그중에서 나는 C++를 배우는 중이다.
Visual Studio 2019를 설치해서 우선 기본적인 단축키들 먼저 알아보았다.
단축키
- Ctrl + z : 되돌리기
- Ctrl + shift + z : 복원
- Ctrl + c,v : 복사, 붙여 넣기
- Ctrl + a : 전체 선택
- Ctrl + x : 오려내기
- Alt + 방향키 : 한 줄 이동
- Alt + shift + 방향키, Alt + 마우스 좌클릭 후 드래그 : 지정한 행만큼 동시에 입력됨
- Ctrl + 방향키 : 단어별 이동
- Ctrl + d : 한 줄 복사
- Ctrl + k + c, u : 주석 처리, 해제
그 외에도 많은 단축키들이 있다.
Visual Studio2019를 실행
새로 프로젝트를 시작하기 위해 새 프로젝트 - 콘솔 앱을 선택해준다.
여기서 "콘솔"이란 흔히 알고 있는 게임기 콘솔이 아닌, 명령 프롬프트 같은 텍스트를 기반으로 한 입출력기를 말한다.
다음 버튼을 누르고 본인이 원하는 프로젝트 이름과 저장될 경로를 지정해 준 뒤, 실행하면 아래와 같이 화면이 나온다.
여기서 바로 F5를 눌러서 컴파일(빌드)을 할 수 있는데 새로운 콘솔 창이 뜨면서 그 유명한 "Hello World!"가 출력된다.
컴파일(빌드)은 번역과 같은 것으로 컴퓨터 언어를 번역하는 것이라 생각한다.
그래서 컴파일 과정은 한마디로 번역하는 과정과 같은 것이다. 하지만 언제든 오류는 발생할 수 있는데,
대표적으로 컴파일 오류와 런타임 오류이다.
- 컴파일 오류 : 번역(컴파일) 중에 생긴 오류
- 런타임 오류 : (콘솔 창이 뜨면서) 실행 중에 생긴 오류
코드 확인하기
현재 떠있는 소스파일을 보면 아래와 같이 나와있을 것이다.
우선 제일 먼저 초록색 글씨가 가장 눈에 많이 보일 텐데, 하나같이 다 앞에 //가 붙어있다.
바로 주석이라고 하는데, 일종의 개발자가 달아놓은 코멘트, 메모 같은 것이다.
저렇게 주석처리를 해놓으면 F5를 눌러 빌드를 해도 주석들은 무시하게 된다.
앞서 말했던 단축키에 Ctrl + K + C, U를 통해서 주석을 할 수도 있지만,
직접 /* 과 */ 를 사용해도 주석을 할 수 있는데, 아래와 같이 /* 과 */ 사이에 적힌 문자들은 모두 주석처리가 가능하다.
이제 다시 코드를 보면, 맨 위에 #include가 보일 텐데 #은 지시자를 뜻한다.
include는 외부 변수와 복잡한 데이터 형식의 선언을 통합하는 데 유용한데,
뒤에 있는 iostream과 같은 헤더 파일을 불러오기 위함이다.
iostream은 Input/Output Stream(입출력 스트림)의 줄임말로 C++에 있는 입출력을 위한 헤더 파일이다.
만약, C를 먼저 공부했다면 stdio.h 와 같은 역할이라고 할 수 있겠다.
여기서 Input은 입력을 뜻하며 키보드와 마우스와 같은 것이라 생각하면 되고,
반대로 Output은 출력을 뜻하며 모니터와 같은 것을 떠올리면 된다.
(한마디로 키보드와 마우스로 입력을 하면, 그 결과가 실시간으로 모니터가 출력해주는 셈이다.)
int main() {} 문은 진입점이라고 할 수 있는데, 다음에 자세히 알아보도록 하자.
main {} 안에 아무 영타나 쳐보면 자동 완성된 단어 목록이 갑자기 나타나는 것이 보이는데, 바로 인텔리센스라고 한다.
내용 완성, 파라미터 정보, 빠른 정보 확인, 맴버 목록 같은 다양한 기능을 도와주므로 조금 더 편하게 코드를 완성할 수 있다.
cout은 출력 시작을 의미한다.
그 옆의 <<는 오른쪽 대상이 출력 대상이라고 지정해주는데, 그 출력 대상이 "Hello World!\n"을 말하는 것이다.
그리고 "Hello World!\n"를 감싸고 있는 " "는 Hello World! 와 같은 문자열을 입력할 때 사용한다.
그 뒤에 \n은 분명 " " 안에 있지만 빌드하고 콘솔 창에서는 보이지 않는다.
바로 개행문자이기 때문인데, 한마디로 글자를 치고 나서 엔터를 눌러 줄을 바꿔주는 역할이다.
마지막으로 끝에 ; 은 세미콜론이라 부르는데 문장의 마침표를 말한다.
세미콜론을 깜빡하면 무조건 오류가 발생하니 신경 써주자.
cout이 있다면 반대로 cin도 있다. cin은 입력 시작을 의미한다.
>>는 오른쪽 대상이 입력 대상임을 뜻하므로 exit에 입력할 int(정수)를 말한다.
int는 다음에 설명하도록 하고, 빌드를 하면 콘솔 창에 Hello World! 밑에 자동으로 '종료되었습니다.'라고 뜰 텐데,
지금은 바로 종료되는 것을 막으려 위와 같이 코드를 추가했다.
이제 빌드 후 콘솔 창에 아무 숫자를 입력해줘야 종료가 되는 것을 볼 수 있다.
끝으로 몇 가지 더 배웠는데,
데이터는 0과 1로 이루어진 것을 말하며, 메모리는 그 데이터를 기억, 저장하는 것을 말한다.
그 메모리를 저장하는 장치들이 있는데, 주기억장치와 보조기억장치가 있다고 한다.
주기억장치에는 ram, rom과 같은 것들이 있고 임의접근방식을 통해 속도가 빠르며 보통 휘발성을 띄고 있지만,
보조기억장치에는 hdd, ssd와 같은 것들이 있고, 순차접근방식을 통해 속도가 느리지만 보통 비휘발성을 띄고 있다.
'C++' 카테고리의 다른 글
C++ 배우기 6(이중for문, 스왑, 셔플) (0) | 2022.10.18 |
---|---|
C++ 배우기 5(랜덤함수, 배열, for문) (2) | 2022.10.18 |
C++ 배우기 4(반복문 / 논리연산자 / 증감연산자) (0) | 2022.10.13 |
C++ 배우기 3(비교 연산자, if문) (0) | 2022.10.12 |
C++ 배우기 2(자료형과 연산자) (0) | 2022.10.11 |