본문 바로가기
혼공학습단

[혼공학습단 6기] 2주차 기본 미션, 선택 미션

by Kimpeep 2021. 7. 13.

2주차 기본 미션: 확인 문제 풀고 인증샷

3-1 변수 확인 문제

3-1 변수에서 핵심 부분은 자료형과 데이터 종류, 출력 반환 문자의 매칭이라고 생각한다.

자료형 데이터 종류 출력 변환 문자
char 문자 %c, %d
short 정수 %ld
int 정수 %d
long 정수 %d
float 실수 %f
double 실수 %lf

학습하며 가장 핵심이라고 생각이 되는 자료형을 정리해 보았다.

한 가지 더, 실수형에서 기억해야 할 것: 소수 첫째자리까지 나타내고 싶다면 %.1f 등, %과 문자 사이에 .숫자를 입력하여 원하는 자릿수만큼 출력시킨다.

3-2 데이터 입력 확인 문제

3-2 데이터 입력에서 가장 중요한 것은 단언코 scanf 함수라고 생각한다.

scanf("%d", &변수); 을 기본으로 변수를 입력받는데, 이때 두 개 이상의 변수를 입력받을 경우

scanf("%d%d", &변수, &변수); 등으로 표현한다.

역시 자료형마다 입력 변환 문자가 다르니, 이 부분도 기억해야 할 것 같다.

 

4-1 산술 연산자, 관계 연산자, 논리 연산자 확인 문제

4-1 산술, 관계, 논리 연산자에서는 연산자들이 의미하는 것을 이해하는 것이 핵심이라고 생각한다.

이때 산술, 관계 연산자는 실생활에서도 쓰이니 쉽게 이해할 수 있었지만 논리 연산자는 헷갈릴 수 있다고 생각한다.

연산식 논리관계 결괏값
a&&b AND (곱) a와 b 모두 참이면 1, 아니면 0
a||b OR (합) a와 b 중 하나라도 참이면 1, 아니면 0
!a NOT (부정) a가 거짓이면 1, 참이면 0

 

4-2 그 외 유용한 연산자 확인 문제

앞선 연산자들은 파이썬에서도 사용하여 익숙했지만, 4-2에서 나오는 연산자들은 조금 생소한 것들도 있었다.

연산자 연산식 예 결괏값
형 변환 res = int(10.7); res = 10
sizeof res = sizeof(double); res = 8
복합대입 a += 10; a의 값을 10 증가
콤마 res = (a,b); res에 a값 저장 후 b값 저장
조건 res = (a>b) ? a : b; a가 b보다 크면 res = a, 아니면 b
비트 a & b; ~a ; a<<b; a와 b의 비트 상태에 따라 다름

이 역시도 손에 익숙해지는 연습을 거쳐야 한다는 생각이 들었다.


2주차 선택 미션: Ch.4 도전 실전 문제 풀고 인증샷

도전 실전 문제: 체중 관리 프로그램

체중(kg)과 키(cm)를 입력하여 BMI(신체 질량 지수)를 구한 뒤에 BMI의 값이 20.0 이상 25.0 미만이라면 "표준입니다."를, 그렇지 않으면 "체중관리가 필요합니다."를 출력합니다.

 

BMI는 표준체중, 저체중, 과체중을 판별하는 수치로 몸무게를 키의 제곱으로 나누어 구합니다. 이때, 키는 미터(m) 단위로 계산합니다.

2) #define _CRT_ ~는 scanf 실행 시 오류가 나서, 2장에서 배운 내용을 바탕으로 코드를 추가하였다. 

6) 체중, 키, BMI 총 3가지의 변수를 선언한다. 이때, 세 개의 변수 모두 실수형으로 선언한다.

9) scanf를 이용하여 kg과 cm를 받아준다. 

11) cm를 100으로 나누어 준다. 앞서 배운 복합대입 연산자를 사용하여 식을 간단하게 만들어 준다.

14) if 구문은 이후 5장에서 배우지만, 파이썬에서 익힌 내용이었기에 사용해 주었다.

 


 

여담이지만, 1주차 과제를 올린 이후 관계자분들께서 남겨 주신 댓글이 너무 귀여웠다. 물론 너무 일찍 올린 탓에 혼고양이의 댓글을 받지 못한 건 아쉬웠지만 ^_T... 댓글 기다리는 맛으로 학습을 더욱 열심히 할 것 같다! 

다시 한번 좋은 기회를 주신 한빛미디어분들께 너무너무 감사하다는 말을 드리고 싶다.

댓글