혼자 공부하는 C언어(개정판) 2주차

2023. 7. 12. 02:00C언어/혼공학습단 10기

728x90
# 진도 기본 미션 선택 미션
2주차
(7/10 ~ 7/16)
Chapter 03 ~ 04 3-2 데이터입력(p.109~110), 4-2 그 외 유용한 연산자(p.146~147) 확인 문제 풀고 인증하기 Ch.04 도전 실전 예제(p.148) 풀고 인증하기

 

 

 

각 Chapter의 '학습목표'를 바탕으로 책의 내용을 정리했습니다.

 

□ Chapter 03

 . 키보드로 값을 입력 받는 방법

   - scanf 함수를 사용하며, 변수명을 지정할 때는 앞에 &를 붙이기

   - scanf 함수에서 사용한 변환 문자와 맞는 형태의 데이터를 입력

     ※ 둘 이상의 데이터를 입력할 때는 [Space Bar], [Tab], [Enter]로 각 데이터를 구분

     ※ 문자열 입력은 char 배열을 이용하며 배열명 앞에 &를 미사용

 . 입력받은 값을 저장할 메모리 공간을 변수 선언으로 확보하는 방법

   - 변수를 선언하면 메모리에 저장 공간이 생기며, 이 공간은 재활용됨. 대입 연산자(=)로 변숫값을 초기화하거나 저장

     ※ 프로그램이 종료되면 사용하던 메모리 공간을 반납하고 새로 실행된 프로그램이 그 공간을 사용

     ※ 사용되지 않는 쓰레기 값으로 프로그램의 오류가 생길 수 있으므로 원하는 값으로 바꾸는 초기화 과정이 필요

 . 효율적인 데이터 처리를 위해 필요한 다양한 변수의 형태와 특징을 이해

   - 변수의 형태: 자료형 ( 정수형과 실수형으로 구분 )  ※ 변수에 const를 사용하면 상수처럼 사용 가능

 

□ Chapter 04

 . 데이터를 가공하는 다양한 연산자

   - 대입 연산자(=): 오른쪽 수식의 값을 왼쪽 변수에 저장

   - 관계 연산자(==): 두 값이 같은지 확인

   - 산술 연산자(+, -, *, /, %): 나누기 연산자(/)로 정수를 나누면 몫을 계산, 나머지 연산자(%)로 나머지 계산

   - 증감연산자(++,--): 변수의 값을 1씩 증가 또는 감소

     ※ 전위 표기: 값이 증감하고 나서 연산에 사용  |  후위 표기: 연산에 사용하고 나서 값이 증감

   - 논리 연산자: AND, OR, NOT과 같은 논리 관계를 판단하며, 결과는 1(참) 또는 0(거짓)

 . 연산자의 특징을 이해하고 효율적으로 사용하는 방법

   - 형 변환 연산자: 피연산자의 값을 잠깐 원하는 형태로 바꾸나 변수의 형태를 바꾸지는 않음

   - sizeof 연산자: 피연산자를 하나만 사용하며, 그 크기를 바이트 단위로 계산 ( 괄호와 함께 사용하지만 함수는 아님 )

   - 복합대입 연산자(+=, -=, *=, /=, %=): 우선순위는 대입 연산자와 같음

   - 콤마 연산자(,): 한 번에 여러 개의 수식을 차례로 나열해야 할 때 사용

   - 조건 연산자: 유일한 삼항 연산자로 ?와 : 기호를 함께 사용

     : 첫 번째 피연산자가 참이면 두 번째 피연산자가 결괏값, 첫 번째 피연산자가 거짓이면 세 번째 피연산자가 결괏값

   - 비트 연산자: 비트 단위로 연산  ※ 비트 논리 연산자(&, ^, |)와 비트 이동 연산자(>>, <<)

 

 

■ 기본 미션

3-2 데이터입력(p.109~110) 확인 문제 풀고 인증하기

012
슬라이드 쇼 →

 

4-2 그 외 유용한 연산자(p.146~147) 확인 문제 풀고 인증하기

 . 3번 시간을 계산하는 프로그램은 주석대로 진행하지 않고, 제 생각대로 진행하였습니다.

0123
슬라이드 쇼 →

 

 

■ 선택 미션

Ch.04 도전 실전 예제(p.148) 풀고 인증하기

01
슬라이드 쇼 →

 

#include <stdio.h>

int main(void)
{
	float weight, height, bmIndex;

	printf("몸무게(kg)와 키(cm) 입력 : ");
	scanf("%f%f", &weight, &height);

	bmIndex = weight / (height / 100 * height / 100);
	((bmIndex >= 20.0) && (bmIndex < 25.0)) == 1 ? printf("표준입니다") : printf("체중관리가 필요합니다");

	return 0;
}
728x90