본문 바로가기

개발/C&C++

(C/C++ 속성 정리) 1일 차 : 주석, cout,cin은 무엇인가?

안녕하세요 넬다이 입니다.

 

오늘은 첫 정리입니다. 많은 내용을 설명하진 않을 거예요 정말 간단하고 간략하게만 설명드립니다.


오늘은 설명 내용 목차입니다.

 

1. 주석은 무엇인가?

2. cout은 무엇인가?

3. cin은 무엇인가?

4. 예제 코드


1. 주석은 무엇인가?

주석은 메모라고 생각하면 좋습니다.

내가 짠 코드를 설명하거나 많아질 때 내가 알아볼 수 있게 남이 알아볼 수 있게 메모를 남기는 형태를 주석이라고 표현합니다.

컴파일러는 주석을 무시하고 컴파일하므로 실행 파일에서 주석은 어떠한 영향도 줄 수 없습니다.


1.1 주석의 종류는 다음과 같습니다

// 한줄 주석한다.
/* */ 여러줄 주석한다.

1.2 주석의 예제

한 줄 주석 예)

// 이 코드는 한 줄 주석이다.

 

여러 줄 주석 예)

/*

이 코드는 여러 줄 주석이다.

이 코드는 여러 줄 주석이다.

*/


1.3 주석 관련 단축키

블록 단위 주석 단축키
Ctrl + k + c

블록 단위 주석 풀기
Ctrl + k + u

 


2. cout은 무엇인가?

C언어에서는 printf라는 함수를 사용해서 콘솔 창에 출력을 했었다.

하지만 후 C++ 언어에서는 cout라는 객체는 사용해서 출력을 하게 되었다.

printf에서는 "\n"을 통해서 개행을 했지만 C++에서는 endl을 사용하여 개행을 하게 되었다.

<< 추출 연산자를 출력을 위해서 사용하고 있다.

cout과 printf의 차이로는 cout은 객체이고 printf는 함수라는 점이다.

printf는 출력 서식을 지정하여 사용을 해야 했지만 cout은 출력 서식을 지정할 필요가 없다.


2.1 사용 예시

std::cout << "Hello world!" << std::endl;
std::cout << "Hello world!" << std::endl;
std::cout << "Hello world!" << std::endl;
std::cout << "Hello world!" << std::endl;

 

cout와 endl은 iostream에 std 안에 있기 때문에

std::cout , std::endl과 같은 문법을 사용해야 한다.

 

하지만 네임스페이스를 통해서 std를 정의해주면 아래와 같이 사용이 가능하다

using namespace std;

 

cout << "Hello world!" << endl;
cout << "Hello world!" << endl;
cout << "Hello world!" << endl;
cout << "Hello world!" << endl;

이렇게 사용이 가능하다.


3. cin은 무엇인가?

C언어에서는 scanf를 통해서 사용자의 입력을 받을 수 있었다.

C++언어 에서는 cin을 통해서 사용자의 입력을 받을 수 있다.

C++에서는 >> 연사자를 통해서 입력을 받는다.

scanf는 printf와 같이 입력 서식을 지정하여 사용해야 했지만 cin은 지정할 필요가 없다.

cin도 cout과 마찬가지로 std 안에 있으며 네임스페이스 정의를 통해서 건너뛸수 있다.

 

3.1 사용 예시

//변수 선언이다 2일차 강의에 나옵니다.
int Test = 0;

//유저의 입력을 받습니다
cin >> Test;

//유저가 입력한 값을 보여줍니다.
cout << Test << endl;

위에 예시에서 Test라는 변수를 선언을 하고 이건 2일차에 나옵니다.

 

cin으로 받은 값을 Test에 넣고

cout으로 유저가 입력한 값을 출력하여 직접 확인해보자.

그렇게 되면은 유저가 10을 입력하면 출력되는 값은 10이 됩니다.

 

 

4. 예제 코드

#include <iostream>

using namespace std;

void main(void)
{
	//코드 주석

	//블록 단위 주석 단축키
	//Ctrl + k + c

	//블록 단위 주석 풀기
	//Ctrl + k + u

	std::cout << "Hello world!" << std::endl;
	std::cout << "Hello world!" << std::endl;
	std::cout << "Hello world!" << std::endl;
	std::cout << "Hello world!" << std::endl;


	//using namespace std 를 사용함으로써
	//아래와 같은 사용이 가능 해진다.
	cout << "Hello world!" << endl;
	cout << "Hello world!" << endl;
	cout << "Hello world!" << endl;
	cout << "Hello world!" << endl;
}

위 예제의 결과 화면은

 

위 코드의 실행 화면입니다

 

와 같이 나오게 됩니다.

 

 

컴파일러란?

컴파일러는 사용자가 작성한 코드를 기계어로 번역해서 실행 파일을 만들어주는 프로그램이다.

 

어셈블러란?

컴퓨터는 스위치를 생각하면 쉽다.
켜짐과 꺼짐. 즉 0과 1이라는 상태만 가질 수 있다.

컴파일러가 없던 시절에 기계에 직접 명령을 내렸어야 했다.
그 언어를 어셈블리어 라고 함.

프로그램의 실행 과정

전처리기에 의한 치환 작업(명령어들을 가져오는 작업).
어셈블리어를 생성하는 과정.
바이너리 이진 코드를 만들어냄.
링크.
실행파일 생성.
하드에 저장.

실행은 메인 메모리, 램에서 실행된다.