C & C++/디딤돌 C++

[C++] 11. 논리 형식 bool 제공 12. string 형식 개요

언휴 2024. 4. 6. 13:18

 

[C++] 논리 형식 bool , string  형식 개요

11. 논리 형식 bool 제공

C언어에서는 논리 형식을 제공하지 않아요. 대신 0은 거짓으로 취급하고 0 이외의 것은 참으로 판별하죠. 그리고 연산 결과가 거짓이면 0, 참이면 1이었어요.

C++언어에서는 높은 가독성과 신뢰성을 높이기 위해 논리 형식 bool을 제공하고 있어요.

bool 형식 변수에는 값으로 true와 false를 사용할 수 있어요. 하지만 C++언어에서는 여전히 0은 거짓으로 취급하고 0 이외의 것은 참으로 판별하고 있습니다.

//논리 형식 bool 사용
#include <iostream>
using namespace std;

bool IsEvenNumber(int num);
void main()
{
    bool check = false;
    int num = 0;
    
    cout<<"아무 수나 입력하세요."<<endl;
    cin>>num;
    
    check = IsEvenNumber(num);
    
    if(check)
    {
        cout<<num<<"은(는) 짝수입니다."<<endl;
    }
    else
    {
        cout<<num<<"은(는) 홀수입니다."<<endl;
    }
}

bool IsEvenNumber(int num)
{
    return (num%2)==0;
}

▷ 실행 결과

아무 수나 입력하세요.
7
7은(는) 홀수입니다.

여러분께서 C++언어로 프로그래밍할 때 참과 거짓을 판별하기 위한 변수나 조건식, 반복문에서의 조건 표현 등에서 논리 형식을 사용하면 가독성 높은 코드를 작성할 수 있어요.

12. string  형식 개요

이번에는 문자열을 표현하기 쉽게 STL(Standard Template Library, 표준 템플릿 라이브러리)에서 제공하는 string을 살펴보기로 해요.

여기에서는 string 형식의 기본적인 사용 방법 위주로 설명할 거예요. 아직 클래스에 관한 문법을 다루지 않은 상태에서 정확히 전달하는 것은 큰 의미도 없고 전달하기도 힘들어요.

먼저 string 형식을 사용하려면 string 파일을 포함하고 using namespace std; 문을 작성하세요.

#include <string>
using namespace std;

여기에서 포함한 string 파일은 C언어에서 사용했던 string.h 파일과 완전히 다른 함수예요.

string 형식은 문자열을 초기값으로 지정하거나 대입할 수 있어요.

string s = "hello";
string s2;
s2=s;

그리고 string 형식은 비교 연산도 가능해요.

if(s==s2)
{
    cout<<"서로 같아요."<<endl;
}
else
{
    cout<<"서로 달라요."<<endl;
}

다음은 string 형식 변수를 사용하여 문자열을 비교하고 대입하는 예제 코드예요.

//string 형식 개요
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s = "hello";
    string s2 = "hello";
    string s3;

    if(s==s2)
    {
        cout<<"서로 같아요."<<endl;
    }
    else
    {
        cout<<"서로 달라요."<<endl;
    }

    s3 = s;
    cout<<"s3 is "<<s3<<endl;
    return 0;
}

▷ 실행 결과

서로 같아요.
s3 is hello

이 외에도 string 형식은 다양한 멤버를 갖고 있어서 부분 문자열 비교, 복사, 변환, 분리 등을 할 수 있어요. 여기에서는 클래스 문법과 OOP 특징을 설명하기 전에 C++언어가 C언어와 차이가 있는 부분을 다루는 것이어서 더 이상 설명은 하지 않을게요.