본문 바로가기
기계공학부 시절의 기록/C++일기

2.6 불리언 자료형

by juhyeonglee 2021. 5. 5.
728x90
반응형

 

제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은  목차번호를 사용하고 있으니 참고하세요!

 

 


 

 

 

불리언 자료형과 and, or 연산자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
int main()
{
    using namespace std;
 
    bool b1 = true// copy initialization
    bool b2(false); // direct initialization
    bool b3{ true }; // uniform initializaiton
 
    //cout << std::boolalpha; 
 
    //not operator
    /*cout << !b1 << endl;
    cout << !b2 << endl;
    cout << !b3 << endl;*/
 
    // and operator
    cout << (true && true<< endl;
    cout << (0 && 1<< endl;
    cout << (1 && 0<< endl;
    cout << (0 && 0<< endl;
 
    // or operator
    cout << (true || true<< endl;
    cout << (0 || 1<< endl;
    cout << (1 || 0<< endl;
    cout << (0 || 0<< endl;
 
 
    return 0;
}
cs

cout << std::boolalpha;은 다음줄부터의 출력에서 1을 true로, 0를 false로 출력해주는 함수이다.

 

 

 

 

 

 

if 혹은 else 안을 채우는 내용이 2줄 이상이 되면 중괄호로 묶어주어야 한다. 

if안이 1로 항상 True이므로 if 중괄호 안의 것들만 실행되어야 하는데 else 아래에 중괄호가 없어서 두번째 줄이 실행됨을 볼 수 있다.

 

 

 

 

함수의 출력 자료형에 bool

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
bool isEqual(int a, int b)
{
    bool result = (a == b);
 
    return result;
}
 
int main()
{
    using namespace std;
    
    cout << isEqual(11<< endl;
    cout << isEqual(10<< endl;
    cout << isEqual(12<< endl;
 
    return 0;
}
cs

 

 

 

 

 

if 조건문에서 0이 아니면 모두 True로 인식한다.

 

 

 

 

 

bool 자료형의 변수를 만들고 입력을 받아보자.

0이 아니면 모두 true로 인식한다고 했는데 이를 확인할 수 있다.

 

 

 

 

 

 

영상강의에서는 true를 입력했을 때 1이 출력됐는데 나의 경우 0, false가 출력되었다.

문자를 입력했을 때, 문자역시 0이 아니므로 true가 출력되지만, 환경마다, 컴파일러마다 조금씩 다를 수 있다고 했는데 바로 나의 환경에서는 달랐다.

이렇게 환경마다 값이 달라질 수 있는 불확실한 코드는 피해가는 것이 좋다!!!

 

 

 

 

연습문제 : 정수 하나를 입력받아 그 수가 짝수인지, 홀수인지 판별하는 코드 작성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//연습문제: 정수 하나를 입력받아 그 수가 짝수인지, 홀수인지 판별하는 코드 작성
 
#include <iostream>
 
int main()
{
    using namespace std;
 
    // 나머지 연산자
    //cout << (12 % 5) << endl
    
    int num(0);
 
    cin >> num;
 
    if ((num % 2== 0)
    {
        cout << "짝수입니다." << endl;
    }
    else
    {
        cout << "홀수입니다." << endl;
    }
 
    return 0;
 }
cs

 


 

 

출처)

홍정모의 따배씨++

 

www.youtube.com/watch?v=aoePDflxaVE&list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNz&index=28

 

좋은 강의에 너무나 감사하다.

이전에는 그냥 무작정 따라썼던 코드들을 한줄한줄 이해하며 공부할 수 있다.

언젠가 어느 언어든 자신감이 있는 코드마스터가 될 것이다.

 

데이터가 인간을 대신해 일을 하게하고

데이터를 제어해 로봇을 제어하고 싶다.

 

'아앙의 전설'에서 주인공은 물/불/흙/공기 원소를 자유자재로 다룬다.

수많은 데이터가 넘실대는 현대에서는 데이터를 자유자재로 다루는 프로그래머.

실력있는 프로그래머가 되기 위해서는 코드 한줄이 내부적으로 어떻게 작동되는지를 이해해야한다.

728x90
반응형

'기계공학부 시절의 기록 > C++일기' 카테고리의 다른 글

상수 : 리터럴상수, 심볼릭상수  (0) 2021.05.07
2.7 문자형 char  (0) 2021.05.06
2.3 ~ 2.5 고정너비정수, void, double, 절단오차  (0) 2021.05.05
2.2 정수형  (0) 2021.05.04
2.1 기본자료형  (0) 2021.05.03

댓글