절차지향 프로그래밍
-> 프로그램 전체가 유기적으로 연결하도록 만드는 프로그래밍 기법이다.
객체지향 프로그래밍
-> 프로그램을 유연하고 변경 용이하게 설계할 수 있기 때문에 대규모 프로젝트에서 이점을 보인다.
문자열 출력
문자열을 출력하는 코드는 C언어의 printf와 C++언어부터 생긴 std::cout 두 가지가 존재하는데
이번에는 std::cout을 사용하여 문자열을 출력해보겠다.
#include <iostream>
using namespace std;
void main()
{
cout << "Hello World" << endl;
}
실행순서 : 코드 작성 -> 전처리기 -> 컴파일 -> 어셈블러 -> 링커 -> 실행 파일 생성
#1 코드 작성
사용자가 프로그래밍 문법에 맞게 코드를 작성하는 단계.
#2 전처리기
#은 전처리 지시자, #이 작성된 코드 라인을 번역하기 이전에 수행하는 단계.
#3 컴파일
고수준 언어를 저수준 언어로 번역하는 단계, 즉 프로그래밍 문법에 맞는 언어를 어셈블리어로 번역하는 단계.
#4 어셈블러
저수준 언어를 기계어로 변역하는 단계
어셈블리어를 바이너리 코드(기계어)로 번역하는 단계
어셈블러 단계를 거치면 .obj 파일이 생성된다.
#5 링커
.obj 파일과 .lib파일을 하나로 묶는 작업을 수행하는 단계.
#6 실행 파일 생성
하나로 묶으면 실행파일이 생성됨.
주석이란?
코드에 삽입된 메모를 뜻한다.
주석 처리가 되면 컴파일 대상에서 제외된다.
주석을 사용하는 이유
프로그래밍은 팀 작업을 주로 한다.
타인의 코드를 분석하는 것 보다 주석을 달아 놓으면 더 쉽게 이해할 수 있다.
주석 사용 방법
#1 행 단위 주석 : //
한 행(한 줄)을 번역하지 않는다.
#2 블록 단위 주석 : /* ~ */
사용자가 설정한 위치부터 추가로 설정한 위치까지 번역하지 않는다.
주석 사용 및 해제 단축키
사용 : Ctrl + K + C
해제 : Ctrl + K + U
주석 사용 시 주의 사항
#1 단축키 사용 실수
Ctrl + U : 모든 대문자를 소문자로 바꿔주는 단축키
예를 들어 작업을 하는 도중에 주석 처리를 풀어야 되는 상황이 발생한다.
그런데 실수로 Ctrl + K + U가 아닌 Ctrl + U를 누르게 되면,
주석처리를 했던 부분의 알파벳 대문자가 소문자로 바뀌게되는 상황이 발생한다.
발생한 즉시 알게되면 Ctrl + Z로 되돌릴 수 있지만, 만약 파일을 저장하고 컴퓨터를 종료하게 되는순간
코드를 다시 짜야되는 상황이 발생할 수도 있으므로 주의해야한다.
다음은 #include <iostream>의 의미이다.
# : 전처리 지시자
컴파일 이전에 처리하라고 지시
include : 포함하다.
컴파일 이전에 포함하라고 지시
<iostream> : C++ 표준 입출력 라이브러리
i = Input / o = Output / stream = 통로
즉, #include <iostream>은 컴파일 이전에 C++ 표준 입출력 라이브러리를 포함하라고 지시한다는 의미이다.
void main() 함수
1. 프로그램의 진입점을 설정할 수 있다.
2. 프로그램 실행 시 가장 먼저 호출된다.
cout : Console Output의 약자
1. 함수가 아니라 객체이다.
<< : 본 기능은 연산자이지만 cout과 만나면서 추출 연산자로 사용된다.
1. "무엇을" 이라는 의미를 가진다.
단일 문자 : 한 개의 문자를 사용한다. 작은 따옴표로 감싼다. 'A'
문자열 : 두 개 이상 문자를 사용한다. 큰 따옴표로 감싼다. "AA"
endl : End Line의 약자.
1. 줄바꿈의 기능을 담당하는 객체
using namespace std;
1. 표준이라는 이름 공간을 사용하라고 지시.
"::" : 스코프 연산자
1. 이름공간::사용하고자하는 기능 예) std::cout
'Programming > C++ Basic' 카테고리의 다른 글
C++ 분기문(if, else if, else, switch) (0) | 2020.08.19 |
---|---|
C++ 형변환 (0) | 2020.08.18 |
C++ 진수, 연산자 (0) | 2020.08.14 |
C++ 부호비트, 음수와 양수 변환, 아스키코드, 상수, 표기법 (0) | 2020.08.13 |
C++ 변수와 자료형 (0) | 2020.08.12 |