오늘은 C++에 대한 개념과 변수와 자료형, 연산자, 조건문에 대해 배웠다. 또 배운 내용을 까먹지 않고 잘 활용할 수 있도록 여러 실습 과제를 수행했다.
C++은 C언어에서 확장된 언어이지만 절차 지향적인 C와 달리 객체 지향적이라서 구조화된 프로그램을 작성할 수 있다. 또한 타입 체크가 엄격해서 실행시간 오류의 가능성을 줄이고 디버깅을 돕는 장점이 있다.
C++에서의 변수는 데이터를 저장하기 위해 할당받은 공간이다. 변수의 네이밍에는 여러 규칙들이 있는데 그중에서도 가장 특이한 건 예약어를 사용할 수 없다는 것이다. 여기까지 배웠을 때 예약어가 도대체 뭔가 궁금했었다. 예약어는 C++에 미리 정의되어 있는 특별한 의미가 있는 단어를 뜻한다. 대표적으로는 true, false, while 등이 있다.
다음으로는 자료형에 대해 다뤄보자 C++에서 자료형은 불형, 문자형, 정수형, 실수형이 있다. 이 중에서 오늘 배운 것은 불형의 bool, 문자형 char, 정수형 int, 실수형 float 이다. 불형의 bool의 경우 독특한 특징이 있다. 기본적으로 bool은 true와 false를 사용해서 참, 거짓을 판별하는 자료형이다. 그런데 bool에 문자를 사용할 경우도 에러가 나지 않는 경우가 있다. 이것은 bool에 문자가 입력될 경우 true, 아무 것도 없을 경우 false로 판별하는 특징이 있기 때문이다. 따라서 bool을 사용할 경우 이런 상황을 주의해야겠다.
연산자에는 대입 연산자, 비교 연산자, 산술 연산자, 논리 연산자가 있다. 마지막 조건문의 경우는 if와 else if, else를 사용하는 조건문과 Switch문, 삼항연산자가 있다. 설명을 들었을 때 가장 이거다 싶었던 건 삼항연산자였다. 길게 늘어지지도 않고 깔끔하게 한 줄에 정리 된다는 것이 가장 맘에 들었다. 물론 사용 가능한 상황은 앞의 둘 보단 제한적일 것 같지만 가끔 사용한다면 전반적으로 코드가 깔끔해 보일 것 같다.
아래는 오늘 배운 것들을 활용해서 만들어본 실습 예제 중 하나이다. 홍길동과 성춘향을 입력하면 각각 "남자", "여자"가 출력 되고 그 외의 이름은 "모르겠습니다." 가 출력되는 것이 조건이었다.
std::string name1;
std::cout << "이름을 입력하세요. \n";
std::cin >> name1;
if(name1 == "홍길동"){
std::cout << "남자 \n\n";
}
else if(name1 == "성춘향"){
std::cout << "여자 \n\n";
}
else std::cout << "모르겠소이다. \n\n";
오늘 배운 것 중 항상 기억해야할 디테일은 console out, console in 을 줄여서 각각 cout, cin으로 사용한다는 것과 한 줄을 끝낼 때는 ;을 사용해서 확실히 마무리 해 줄것, 배수를 나타낼 때는 %를 사용해서 몫이 0인 수를 표현한다고 생각하면 된다는 것, ""는 연속되는 문자를 작성할때 쓰고 char를 사용한 변수는 ''를 사용해서 코드를 작성해야 한다는 것, \n을 사용해서 한 줄 아래로 띄울 수 있다는 것, 그리고 조건문에서 1 < a < 4 를 작성하려면 1 < a && a < 4 로 작성해서 2가지 조건을 한 줄에 묶어줘야 한다는 것이 있다. 코딩 수업을 거듭할 수록 이런 디테일들을 놓쳐서 애먹는 순간이 올 것으로 예상되는 만큼 각별히 주의를 기울이고 기억해야할 것 같다.
[포스코x코딩온] 스마트 팩토리 SW 개발자 과정 3주차 회고 | 클래스 복습(사칙연산 계산기) (0) | 2023.04.09 |
---|---|
[포스코x코딩온] 스마트 팩토리 SW 개발자 과정 3주차 회고 | 31게임, 마방진 만들기 (0) | 2023.04.09 |
[포스코x코딩온] 스마트 팩토리 SW 개발자 과정 8일차 회고 | 클래스의 상속과 오버라이드 (0) | 2023.04.05 |
[포스코x코딩온] 스마트 팩토리 SW 개발자 과정 6,7일차 회고 | 파일 입출력, 구조체, 클래스 (0) | 2023.04.01 |
[포스코x코딩온] 스마트 팩토리 SW 개발자 과정 1주차 OT 회고 | Git Hub 시작하기 (0) | 2023.03.22 |