1. "Hello World!"
#include <iostream> // 입출력을 위한 헤더파일
int main()
{
int num = 30;
std::cout << "Hello, World!" << std::endl;
std::cout << "안녕 반가워" << std::endl;
std::cout << "안녕 " << "방가워" << std::endl;
std::cout << num << ' ' << 'A';
std::cout << ' ' << 3.14 << std::endl;
return 0;
}
2. 주석
주석은 프로그래머에게 전달하는 메세지이며 컴파일러는 이 부분을 무시한다.
C++ 두 가지 방법을 사용한다.
첫 번째 방식 : 한 줄 주석 // 뒤는 주석처리
두 번째 방식 : 여러 줄 주석 /*로 시작해서 */로 끝난다.
3. 모듈 임포트
C++ 20 부터 새롭게 추가된 대표적인 기능 중 하나 모듈(module)이다.
모듈은 예전에 헤더 파일이라 부르던 메커니즘을 완전히 대체한다.
어떤 모듈에 담긴 기능을 사용하고 싶으면 그 모듈을 import 문으로 불러오면 된다.
import <iostream>;
-> import 적용 안될 시 c++ 20 으로 바꿔야 함
4. 전처리 지시자
현재 사용하는 컴파일러가 아직 C++20 모듈 기능을 지원하지 않는다면 import 선언문을 사용해야 한다.
#include <iostream>
◾ C++ 로 프로그램을 만드는 빌드 작업은 세 단계로 거치는데
1. 전처리(preprocess) : 소스 코드에 담긴 메타 정보를 처리한다.
2. 컴파일(compile) : 소스 코드를 머신이 읽을 수 있는 객체 파일로 변환한다.
3. 링크 : 변환한 여러 객체 파일을 애플리케이션으로 엮는다.
◾ 지시자(디렉티브) 는 전처리기에 전달할 사항을 표현하며, # 문자로 시작한다.
#include 지시자는 <iostream> 헤더 파일에 있는 내용을 현재 파일에서 사용할 수 있게 모두 가져온다.
<iostream> : 입출력을 위한 헤더 파일
◾ 헤더 파일의 주 용도는 소스 파일에서 정의할 함수를 선언하는 것이다.
📃 자주 사용하는 전처리 지시자
#include [파일] : 다른 곳에 정의된 함수 파일 가져오기
#define [키] [값] : 코드에서 '키' 에 해당하는 부분을 모두 '값'으로 지정한 내용으로 바꾼다.
#ifdef [키] : '키' 가 #define 문으로 정의되어 있으면 포함
#endif
#ifndef [키] : '키' 가 #define 문으로 정의되어 있지 않으면 포함
#endif
#pragma [xyz] : 경고나 에러 메세지를 화면에 표시하는 용도로 사용한다.
5. main( ) 함수
프로그램은 항상 main( ) 함수에서 시작한다.
main( ) 함수는 int 타입의 값을 리턴한다
int main(int argc, char* argv[]
-> argc 는 프로그램에 전달할 인수의 개수를 지정하고, argv는 전달할 인수의 값을 담는다.
5. I/O 스트림
I/O 스트림 (입출력 스트림)
std::cout 는 표준 출력이라고 부른다. ( = printf)
std::endl 는 강제 줄바꿈을 의미한다.
#include <iostream>
int main()
{
std::cout << "오늘은 " << 29 << "일이야" << std::endl;
std::cout << "출력대상1" << "출력대상2" << "출력대상3";
return 0;
}
C++ 20 부터는 스트링 포맷은 <format>에 정의된 std::format 으로 지정하는 방식을 권장한다.
std::cout << std::format("오늘은 {} 일이야", 29) << std::endl;
✳ std::cin : 입력 스트림으로 사용자가 키보드로 입력한 값을 받는다. ( = scan_f)
◾ 정수형
#include <iostream>
int main()
{
int number1;
std::cout << "첫 번째 숫자입력: ";
std::cin >> number1;
int number2;
std::cout << "두 번째 숫자입력: ";
std::cin >> number2;
int number3;
std::cout << "세 번째 숫자 입력: ";
std::cin >> number3;
int result = number1 + number2 + number3;
std::cout << "덧셈결과: " << result << std::endl;
return 0;
}
◾ 실수형
#include <iostream>
int main()
{
double number1;
std::cout << "첫 번째 숫자입력: ";
std::cin >> number1;
double number2;
std::cout << "두 번째 숫자입력: ";
std::cin >> number2;
double number3;
std::cout << "세 번째 숫자 입력: ";
std::cin >> number3;
double result = number1 + number2 + number3;
std::cout << "덧셈결과: " << result << std::endl;
return 0;
}
◾ 정수형
#include <iostream>
int main()
{
char str[10];
std::cin >> str;
return 0;
}
◾ 배열 기반의 문자열 입출력
#include <iostream>
int main()
{
char name[100];
char hobby[100];
std::cout << "이름이 무엇인가요? ";
std::cin >> name;
std::cout << "취미가 무엇인가요? ";
std::cin >> hobby;
std::cout << "내 이름은 " << name << "입니다. \n";
std::cout << "내 취미는 " << hobby << "입니다." << std::endl;
return 0;
}
'C++ > C++ 기초 문법' 카테고리의 다른 글
[C++] 열거 타입 (0) | 2023.12.22 |
---|---|
[C++] 인라인(inline) 함수 (0) | 2023.12.22 |
[C++] 매개변수의 디폴트 값 (0) | 2023.12.21 |
[C++] 함수 오버로딩 (0) | 2023.12.21 |
[C++] namespace - 네임스페이스 (1) | 2023.12.20 |