C++/[책 정리] 명품 C++ 프로그래밍

1. C++ 프로그램의 기본 요소와 화면 출력

smile blog 2023. 3. 10. 17:31
주석문

주석문 (comment)

프로그램의 실행에 영향을 미치지 않으며 개발자가 프로그램에 대한 설명이나 자유롭게 붙인 특이 사항의 메모

 

주석문을 만드는 2가지 방법

  1. '/* 와 */'
  2. '//'

main() 함수

C언어와 마찬기지로 main()함수는 C++ 프로그램의 실행 시작점

 

main() 함수의 표준 형식

1 . 리턴 타입 int

int main() {
	......
    return 0;
}

=> C++ 표준에서 정한 main() 함수의 리턴 타입은 int이다

 

2. 리턴 타입 : void

void main() {
	......
}

=> void를 리턴 타입으로 선언할 때도 있지만 C++ 표준은 아니다

 

 

int main() 함수에서 return 문 생략 가능

  • int main() 함수는 정수를 리턴하는 return 문을 가지고 있어야 하지만 C++ 표준에서 main() 함수에 대해서만 return 문을 생략할 수 있도록 함
  • return 문이 생략되면 main()이 종료할 때 자동으로 return 0; 문이 실행됨

 

return 0;란?

  • 프로그램이 정상적으로 종료되었다는 뜻 (0외의 숫자는 프로그램이 비정상적으로 종료되었다는 의미)

 

main() 함수가 return 한 정수 값은 누구에게 전달되는가?

  • main() 함수가 return 한 정수 값은 운영 체제에게 전달된다
  • 일반적으로 main() 함수는 운영 체제에 의해 호출되며, main() 함수의 반환 값은 프로그램이 성공적으로 실행되었는지 여부를 나타내는데 사용된다
  • 일반적으로 0이 아닌 값을 반환하면 프로그램이 오류로 종료되었음을 나타내며, 0을 반환하면 프로그램이 정상적으로 종료되었음을 나타낸다
  • 이러한 반환 값은 운영 체제에 의해 처리되며, 이후에 사용자나 다른 프로그램 등에게 전달될 수 있습니다.

#include <iostream>
  • 전처리기(C++ Preprocessor)에 대한 지시문으로서, C++ 소스 파일(.cpp)을 컴파일하기 전에 <iostream> 헤더 파일을 읽어 C++ 소스 파일 안에 삽입할 것을 지시
  • C++ 컴파일러는 처음에 전처리기를 호출하여 #include로 된 라인을 모두 처리하도록 한 후, C++ 소스 파일을 컴파일

 

<iostream> 헤더 파일

  • C++ 표준 입출력을 위한 클래스와 객체가 선언되어 있음

화면 출력

cout 객체

cout은 스크린 장치와 연결된 C++ 표준 출력 스트림 객체 (standard output stream object)

 

<< 연산자

스트림 삽입 연산자 (stream insertion operator)로 불리며, 오른쪽 피연산자 데이터를 왼쪽 스트림 객체에 삽입

 

*본래 << 연산자는 정수를 왼쪽으로 시프트하는 연산자이지만, <iostream> 헤더 파일에 재정의 (operator overloading) 됨*

 

 

여러 개의 << 연산자로 한 문장에 여러 개의 데이터 출력

std::cout << "Hello\n" << "첫 번째 맛보기입니다";

 

cout과 << 연산자 활용

<< 연산자는 문자열뿐만 아니라 C++ 기본 타입 데이터도 출력할 수 있음


화면에서 다음 줄로 넘어가기

\n

  • cout의 스트림 버퍼에 단순히 삽입하고 끝

 

endl 조작자

  • \n 보다 느림
  • <iostream> 헤더 파일에 작성되어 있는 함수
  • endl() 함수는 '\n' cout의 스트림 버퍼에 넣고, cout에게 현재 스트림 버퍼에 있는 데이터를 즉각 장치에 출력하도록 지시
  • 커서를 다음 줄로 넘기는 것과 동시에 현재 cout의 스트림 버퍼에 있는 모든 데이터를 출력