#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++ 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 |