Canvas of Bliss

#include <iostream>

using namespace std;

void main()
{
// 형 변환
// 서로 다른 자료형의 데이터가 규칙에 맞는 자료형으로 변환이 되는 것.

// ##1. 대입 연산자 기준
// ##2. 산술 연산 시 기준

// ##1. 대입 연산자 기준
// -> 대입 연산자 기준 좌측 자료형으로 형 변환이 발생한다.

//// 대입 연산자 기준 좌측은 int형, 우측은 double형이다.
//// 우측에 있는 double형 데이터가 int형 데이터로 형 변환이 발생한다.
//// -> 10.5의 double형 데이터가 10이라는 int형으로 형 변환이 발생한다.
//// -> 형 변환이 발생한 후 iA에 대입이 이루어진다.
//// 아무런 조치없이 대입을 시도하면 경고 메시지가 출력이 된다!
//// -> 묵시적 형 변환
//int iA = 10.5;
//cout << iA << endl;

//// 경고 메시지 차단하는 방법
//// 경고 메시지는 컴파일러가 데이터 손실/잘림이 발생할 경우 사용자에게 알려주는 것이다.
//// 이를 차단하기 위해서는 컴파일러한테 변환시킬거야! 라고 미리 알려주어야 한다.
//// -> 명시적 형 변환
//int iA = (int)10.5;
//int iB = int(10.5);



//// ##2. 산술 연산 시 기준_##1. 정수 대 실수 (묵시적 형 변환)
//// -> 실수 형으로 형 변환이 발생한다!
//int iA = 10;
//float fB = 3.14f;

//float  fRes = (iA * fB);


//// ##2. 산술 연산 시 기준_##2. 같은 타입 / 메모리 크기가 다를 경우 (묵시적 형 변환)
//// -> 메모리가 큰 쪽으로 형 변환이 발생한다!
//int iA = 10;
//long long llB = 20;

//long long llRes = (iA + llB);

}

 

#include <iostream>

using namespace std;

void main()
{
// 분기문
// ##1. if문
/*
if ( 조건 )
{ // 여기부터

코드 블록

} // 여기까지

if문으로 넘겨주는 조건이 참일 경우 {(여기부터) }(여기까지) 안에 작성한 코드 블록을 수행한다.
만약, 조건이 거짓일 경우에는 코드 블록을 수행하지 않는다.
*/

//int iA = 7, iB = 5;
//if (iA < iB)
//{
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
//}


//// else
//// if문으로 검사한 조건이 거짓일 경우 수행하는 코드 블록을 설정할 수 있다!
//// if와 else는 흑백 논리로 작동한다.
//// -> 이거(if) 아니면 저거(else)
//// if와 짝을 이루어야 하며, 혼자 존재할 수 없다!

//int iA = 5, iB = 5;
//if (iA < iB)
//{
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
//}
//else
//{
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
//}


// else if
// if문으로 여러 조건들을 검사할 때 사용한다.
// else if 또한 if와 짝을 이루어야 하며, 혼자 존재할 수 없다!
// if/else if가 여러개 있을 경우 우선 조건이 맞는 if/else if문만 수행하고 끝난다.
// -> 동일한 조건이 있어도 먼저 조건이 맞는 코드 블록만 수행한다.

//int iA = 5, iB = 5;
//if (iA < iB)
//{
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
//}
//else if (iA > iB)
//{
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
//}
//else
//{
// cout << "iA와 iB는 같다!" << endl;
// cout << "iA와 iB는 같다!" << endl;
// cout << "iA와 iB는 같다!" << endl;
// cout << "iA와 iB는 같다!" << endl;
//}


//// if문 사용 시 주의 사항
//// ##1. else if문을 쓰다가 else를 누락하는 경우
//// -> 단순하게 if문이 2개인 것이다.
//int iA = 3, iB = 5;
//if (iA < iB)
//{
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl;
//}
//if (iA > iB)
//{
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
// cout << "iA가 iB보다 크다!" << endl;
//}
//else
//{
// cout << "iA와 iB는 같다!" << endl;
// cout << "iA와 iB는 같다!" << endl;
// cout << "iA와 iB는 같다!" << endl;
// cout << "iA와 iB는 같다!" << endl;
//}


//// ##2. if/else if/else는 짝을 이루어야 한다!
//// -> if/else if/else 사이에 다른 코드라인이 올 수 없다!
//// -> if/else if/else는 수행해야할 코드라인이 1줄일 경우 중괄호는 생략할 수 있다.

//int iA = 3, iB = 5;
//if (iA < iB)
// cout << "iA가 iB보다 작다!" << endl;
// cout << "iA가 iB보다 작다!" << endl; // 코드라인 삽입
//else if (iA > iB)
// cout << "iA가 iB보다 크다!" << endl;
//else
// cout << "iA와 iB는 같다!" << endl;

// ##3. if문의 조건 다음에는 세미콜론이 오면 안된다!
int iA = 7, iB = 5;
if (iA < iB)
cout << "iA가 iB보다 작다!" << endl;
}

 

#include <iostream>

using namespace std;

void main()
{
// ##2. switch문
// 상수 조건 분기문
// 정수를 조건으로 받는다.
// 상수로 분기를 진행한다.
/*
switch ( 조건(정수[변수/상수]) )
{ // 여기부터
case 상수:
break;
case 상수:
break;
case 상수:
break;
} // 여기까지
*/


//int iSelect = 0;
//cin >> iSelect;

//switch (iSelect)
//{
//case 1:
// cout << "콜라" << endl;
//case 2:
// cout << "사이다" << endl;
//case 3:
// cout << "환타" << endl;
//}

// iSelect로 2번을 넣었을 경우
// 사이다와 환타가 모두 출력이 되고 있다!


//// break
//// switch문 또는 반복문 내부에서만 사용이 가능한 명령어
//// switch문 또는 반복문을 수행 중 break를 만나면 탈출한다.

//int iSelect = 0;
//cin >> iSelect;

//switch (iSelect)
//{
//case 1:
// cout << "콜라" << endl;
// break;
//case 2:
// cout << "사이다" << endl;
// break;
//case 3:
// cout << "환타" << endl;
// break;
//}


// default
// 분기할 상수가 없을 경우 수행하는 코드라인을 설정할 수 있다!
int iSelect = 0;
cin >> iSelect;

switch (iSelect)
{
case 1:
cout << "콜라" << endl;
break;
case 2:
cout << "사이다" << endl;
break;
case 3:
cout << "환타" << endl;
break;
default:
cout << "메뉴가 없습니다." << endl;
break;
}
}

 

#include <iostream>

using namespace std;

void main()
{
// goto
// 프로그램의 흐름을 사용자가 원하는 곳으로 이동 시킬 때 사용한다.
// 단, 강제로 이동하기 때문에 자연스러운 프로그램의 흐름을 방해한다.
// goto로 인해 프로그램의 흐름이 꼬일 경우 '스파게티 코드'라고 한다.

//int iA = 10;

//goto AABBCC;

//iA = 999;

//AABBCC:

//cout << iA << endl;


int iA = 0;

AABBCC:

cin >> iA;
cout << iA << endl;

goto AABBCC;
}

'개발 공부 > C++' 카테고리의 다른 글

C++ while, do while, 난수, 구구단 출력하기  (0) 2020.10.07
C++ 성적관리 프로그램 2  (0) 2020.10.07
C++ 성적관리 프로그램  (0) 2020.10.07
C++ 연산자  (0) 2020.10.07
C++ 자료형 표기법 N진수  (0) 2020.10.07

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band