1일차)C++ 문법 단기간에 끝내기!! _기초 문법편1
안녕하세요. CodeMuscle 입니다.
C++를 처음 배우는 분들을 위해, 기초적인 개념들을 쉽게 설명해보려 합니다. 하지만 저도 처음..ㅎ
이 글에서는 변수와 데이터 타입, 입출력 방식, 그리고 다양한 연산자들에 대해 다루겠습니다. C++의 기본을 확실히 익히면, 그 위에 다양한 응용을 쌓아 나가기가 훨씬 수월해질 것입니다! 아마~?
1. 변수와 데이터 타입
C++에서 변수를 사용하기 위해서는 데이터 타입을 지정해야 합니다. 데이터 타입에 따라 변수에 저장할 수 있는 값의 종류와 크기가 결정됩니다.
- 기본 데이터 타입
- int: 정수를 저장합니다. 예) int age = 25;
- float: 소수점을 포함한 실수를 저장합니다. 예) float height = 175.5;
- double: 좀 더 정확한 실수를 저장합니다. 예) double pi = 3.14159;
- char: 단일 문자를 저장합니다. 예) char initial = 'A';
- bool: 참(true) 또는 거짓(false) 값을 저장합니다. 예) bool isStudent = true;
- 변수 선언 및 초기화 변수는 선언 후 초기화할 수 있습니다. 초기화하지 않으면 메모리 내의 쓰레기 값이 저장될 수 있습니다.
- int a; // 선언만 a = 10; // 초기화 int b = 20; // 선언과 동시에 초기화
- 상수 (const, #define) 상수는 값을 변경할 수 없는 변수입니다.
- const 키워드를 사용하여 상수를 선언합니다.
- const int MAX = 100; // MAX는 변경할 수 없는 상수
- #define은 매크로로, 컴파일 시 특정 값을 치환하는 역할을 합니다.
- #define PI 3.14
- 타입 변환 (Type Casting) 데이터 타입을 명시적으로 변환하는 것을 타입 변환이라고 합니다. 예를 들어 double을 int로 변환할 때 사용합니다.
- double d = 3.14; int i = (int)d; // d의 값인 3.14를 정수 3으로 변환
2. 입출력 (I/O)
- cin, cout 사용법 C++에서는 입출력을 위해 cin과 cout을 사용합니다.cout은 화면에 출력하고, cin은 사용자로부터 입력을 받습니다.
- int age; std::cout << "Enter your age: "; std::cin >> age; std::cout << "Your age is " << age << " years old." << std::endl;
- printf, scanf (C 스타일 입출력) printf와 scanf는 C 스타일의 입출력 함수입니다. C++에서도 사용 가능하지만, 최신 C++에서는 cout과 cin을 권장합니다.
- int age; printf("Enter your age: "); scanf("%d", &age); printf("Your age is %d years old.\n", age);
3. 연산자
- 산술 연산자: 기본적인 수학 연산을 수행합니다.
- +, -, *, /, % (덧셈, 뺄셈, 곱셈, 나눗셈, 나머지)
int a = 10, b = 3; int sum = a + b; // 덧셈 결과: 13 int remainder = a % b; // 나머지 결과: 1
- 관계 연산자: 두 값을 비교합니다.
- ==, !=, >, <, >=, <= (같다, 다르다, 크다, 작다, 크거나 같다, 작거나 같다)
bool result = (a > b); // a가 b보다 큰지 여부 (true 또는 false)
- 논리 연산자: 참과 거짓을 결합하거나 부정합니다.
- && (AND), || (OR), ! (NOT)
bool isAdult = (age >= 18) && (age < 65); // 성인인지 여부
- 비트 연산자: 비트 단위로 연산을 수행합니다.
- &, |, ^, <<, >> (AND, OR, XOR, 왼쪽 시프트, 오른쪽 시프트)
int x = 5; // 0101 in binary int y = 3; // 0011 in binary int z = x & y; // 결과: 0001 (1)
- 증감 연산자: 값을 1씩 증가 또는 감소시킵니다.
- ++ (증가), -- (감소)
int count = 0; count++; // count는 1이 됩니다.
- 기타 연산자: 할당 및 복합 연산자를 포함합니다.
- =, +=, -=, *=, /= 등
int num = 10; num += 5; // num은 15가 됩니다.
매무리
이 글에서는 C++의 기본 문법에 대해 알아보았습니다. 변수 선언, 데이터 타입, 입출력 방식, 그리고 여러 가지 연산자들까지 다루어 보았읍니다.
-----------------------------------------
1. 변수와 데이터 타입
C++에서 변수를 사용하기 위해서는 데이터 타입을 지정해야 합니다. 데이터 타입에 따라 변수에 저장할 수 있는 값의 종류와 크기가 결정됩니다.
기본 데이터 타입
- int: 정수를 저장합니다.
- 예시: 나이를 나타내는 변수로 25를 저장합니다.
- int age = 25; // 나이를 저장하는 정수형 변수
- float: 소수점을 포함한 실수를 저장합니다.
- 예시: 키를 나타내는 변수로 175.5를 저장합니다.
- float height = 175.5f; // 키를 저장하는 실수형 변수
- double: 더 정확한 실수를 저장합니다.
- 예시: 원주율을 나타내는 변수로 3.14159를 저장합니다.
- double pi = 3.14159; // 원주율을 저장하는 변수
- char: 단일 문자를 저장합니다.
- 예시: 이름의 첫 글자를 저장합니다.
- char initial = 'A'; // 이름의 첫 글자를 저장하는 문자형 변수
- bool: 참(true) 또는 거짓(false) 값을 저장합니다.
- 예시: 학생인지 여부를 나타냅니다.
- bool isStudent = true; // 학생 여부를 나타내는 변수
변수 선언 및 초기화
변수는 선언 후 초기화할 수 있습니다. 초기화하지 않으면 메모리 내의 쓰레기 값이 저장될 수 있습니다.
예시:
int a; // 선언만 함, 초기화되지 않은 상태
a = 10; // 초기화
int b = 20; // 선언과 동시에 초기화
- a는 선언 후 나중에 값을 할당할 수 있습니다.
- b는 선언과 동시에 값을 할당합니다.
상수 (const, #define)
상수는 값을 변경할 수 없는 변수입니다.
- const 키워드를 사용하여 상수를 선언합니다.
- 예시: 최대값을 나타내는 상수로 100을 지정합니다.
- const int MAX = 100; // MAX는 변경할 수 없는 상수
- #define은 매크로로, 컴파일 시 특정 값을 치환하는 역할을 합니다.
- 예시: 원주율 값을 3.14로 정의합니다.
- #define PI 3.14
타입 변환 (Type Casting)
데이터 타입을 명시적으로 변환하는 것을 타입 변환이라고 합니다. 예를 들어 double을 int로 변환할 때 사용합니다.
예시:
double d = 3.14;
int i = (int)d; // d의 값인 3.14를 정수 3으로 변환
- 실수형 d를 정수형으로 변환하여 i에 저장합니다. 이 경우 소수점 이하가 버려집니다.
2. 입출력 (I/O)
cin, cout 사용법
C++에서는 입출력을 위해 cin과 cout을 사용합니다.
- cout은 화면에 출력을 하고, cin은 사용자로부터 입력을 받습니다.
예시:
int age;
std::cout << "Enter your age: ";
std::cin >> age;
std::cout << "Your age is " << age << " years old." << std::endl;
- 사용자에게 나이를 입력받고, 입력된 나이를 출력합니다.
printf, scanf (C 스타일 입출력)
printf와 scanf는 C 스타일의 입출력 함수입니다. C++에서도 사용 가능하지만, 최신 C++에서는 cout과 cin을 권장합니다.
예시:
int age;
printf("Enter your age: ");
scanf("%d", &age);
printf("Your age is %d years old.\n", age);
- 사용자에게 나이를 입력받고, 입력된 나이를 출력합니다. %d는 정수를 의미합니다.
3. 연산자
산술 연산자
기본적인 수학 연산을 수행합니다.
- +, -, *, /, % (덧셈, 뺄셈, 곱셈, 나눗셈, 나머지)
예시:
int a = 10, b = 3;
int sum = a + b; // 덧셈 결과: 13
int remainder = a % b; // 나머지 결과: 1
- a와 b의 덧셈과 나머지를 계산합니다.
관계 연산자
두 값을 비교합니다.
- ==, !=, >, <, >=, <= (같다, 다르다, 크다, 작다, 크거나 같다, 작거나 같다)
예시:
bool result = (a > b); // a가 b보다 큰지 여부 (true 또는 false)
- a가 b보다 큰지 여부를 result에 저장합니다.
논리 연산자
참과 거짓을 결합하거나 부정합니다.
- && (AND), || (OR), ! (NOT)
예시:
bool isAdult = (age >= 18) && (age < 65); // 성인인지 여부
- 나이가 18 이상이고 65 미만인 경우 isAdult가 참이 됩니다.
비트 연산자
비트 단위로 연산을 수행합니다.
- &, |, ^, <<, >> (AND, OR, XOR, 왼쪽 시프트, 오른쪽 시프트)
예시:
int x = 5; // 0101 in binary
int y = 3; // 0011 in binary
int z = x & y; // 결과: 0001 (1)
- x와 y의 비트 AND 연산 결과를 z에 저장합니다.
증감 연산자
값을 1씩 증가 또는 감소시킵니다.
- ++ (증가), -- (감소)
예시:
int count = 0;
count++; // count는 1이 됩니다.
- count의 값을 1 증가시킵니다.
기타 연산자
할당 및 복합 연산자를 포함합니다.
- =, +=, -=, *=, /= 등
예시:
int num = 10;
num += 5; // num은 15가 됩니다.
- num에 5를 더한 결과를 다시 num에 저장합니다.