프로그래밍 기초 문법
<변수>
데이터를 저장할수있는 메모리 공간
변수 사용을 위해 선언과 초기화 필요
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{};