원티드_언리얼RPG 2기/C++

프로그래밍 기초 문법

하시무 2025. 2. 19. 17:51

<변수>

  데이터를 저장할수있는 메모리 공간

  변수 사용을 위해 선언과 초기화 필요

  lvalue = rvalue (메모리에 존재하는 값)

 

<상수>

  메모리 공간에 저장되지만(초기화), 변경이 불가능한 데이터  
  int age = 28;
  const float PI = 3.141592f;

 

 

 

<연산자>

(산술,대입, 증감,비교,논리,비트, 삼항,sizeof, 범위 지정,멤버 포인터, typeid 연산자)

 

증감 연산자) 

전위 : ++i, --i      ex) num1 = ++num2 ;  num2에서 1 증가한 값을 num1에 할당함

후위:  i++, i--      ex) num1 = num2++ ;  num2 값을 num1에 할당한후 1증가함

 

삼항 연산자)

조건식 ? 반환값1 : 반환값2

 

범위 지정 연산자)

 

범위지정연산자(::) 는 c++에서 가장 우선순위가 높은 연산자

더보기
더보기

::식별자

클래스이름::식별자

네임스페이스::식별자

열거체::식별자

 

 

 

실습 1 )    고객의 나이를 입력받아서 주민등록발급대상(20살이면) true, 아니면 false

                                                            +아홉수( 1의자리가 9인지 확인해서 true , false)

#include <iostream>
using namespace std;

int main(){
	int age;
    cin >> age;
    
    cout << boolalpha
    cout << "주민등록발급대상: " << ((age == 20) ? 1 : 0);
    cout << "아홉수: " << ((age + 1) % 10 == 0);
    
    return 0;
   }

 

 

실습 2)  3 ~ 7 사이의 랜덤값 출력 프로그램

 

#include <iostream>
using namespace std;

int main() {
	int rand_num1 = (rand() % 4) + 3;
	cout << rand_num1 << endl;

	int a;
	cin >> a;
	int b;
	cin >> b;
	int rand_num2 = (rand() % (b - a)) + a;

	cout << rand_num2;
}

 

실습 3)  1~10 입력 숫자맞추기

 

int main() {	
	//숫자 생성
	int rand_num = rand() % 10 + 1;
	//입력받기
	int input;
	cin >> input;
	cout << boolalpha;
	cout << (input == rand_num);

	return 0;
}

 

<조건문>

if문 , switch문

 

조건이 4개이상이라면 switch문이  if문보다 빠르다.

switch문은 조건이 3개 이하면 점프데이블을 생성시 발생하는 오버헤드때문에 if문보다 느리지만 

                  조건이 4개 이상이면 if문 보다 빠르다. 

(but: 요즘은 컴파일러 성능이 좋아져서 if문을 쓰고 가독성 위주로 가도된다.)

 

<제어문>

while문, do while문

 

<코드 블록을 형성하는 명령어>

 

#pragma region 변수

#pragma endregion 으로 페이지 접기 가능

 

 

<코드의 가독성을 높이기 위한 이름 규칙(naming convention)>

 
1) 들여쓰기를 정확하게 활용하자.
2) 변수의 선언과 초기화는 최대한 코드 묶음의 맨 위에 두자.
3) 변수, 함수, 클래스 등 네이밍 규칙을 통일하자.
-헝가리안 표기법
변수명 앞에 변수 타입을 표기하는 약어를 붙인다.

int nPlayerCount;
float fMyWeight;
double m_dYourWeight;   //m_ 는 멤버변수라는뜻



-카멜 표기법
a) 가급적 두 단어 이상으로 이름을 구성한다.

int playerCount;
float myWeight;
bool isAlive; //bool 타입의 경우는 동사 + 명사, 동사 + 형용사, 형용사 + 명사  hasHair, isPretty,



b) 상수는 대문자로 표기

const int MAX_HP = 100;
const float MIN_MOVE_SPEED = 3.0f;



c) 함수,구조체, 클래스의 이름은 첫 단어부터 대문자로 표기하자

int GetTime();
class Monster{};
struct PlayerData{};