본문 바로가기
프로그래밍 언어/C언어

[혼자 공부하는 C언어] - Chapter 03 정리 및 문제 해결

by amobu0 2024. 6. 17.
혼자 공부하는 C언어 책 정리 및 발생하는 트러블 슈팅 해결

Chapter 03 변수와 데이터 입력

학습목표 

  • 키보드로 값을 입력 받는 방법을 알아보자
  • 입력받은 값을 저장할 메모리 공간을 변수 선언으로 확보하는 방법을 배워보자
  • 효율적인 데이터 처리를 위해 필요한 다양한 변수의 형태와 특징을 이해하자

3-1 변수

프로그램이 처리하는 데이터(자료)의 형태는 다양하고 형태별 연산 방법도 다르다. 이런 특징을 잘 이해하면 효율적이고 신뢰성 있는 프로그램을 만들 수 있다. 프로그램에서 데이터를 메모리에 저장해 놓으면 필요할 때마다 꺼내 사용할 수 있다. 이때 변수 선언을 통해 메모리에 저장 공간을 확보한다. 변수는 데이터의 종류에 따라 각각 다른 형태를 사용하는데, 정수는 int, 실수는 double, 문자는 char, 문자열은 char 배열을 사용한다.

//int형 변수 선언
int a; //int는 자료형 a는 변수명
a = 10; //a에 10을 저장(할당)한다.

 

변수를 선언하면 메모리에 저장 공간이 생기는데 처음 그 안에는 어떤 값이 들어 있는지 알 수 없다. 컴퓨터의 메모리 공간은 재활용된다. 프로그램이 종료되면 사용하면 메모리 공간을 반납하고 새로  실행된 프로그램이 그 공간을 사용하게 된다. 이때 종료된 프로그램이 어떤 값을 메모리 공간에 남겨 놓았는지는 알 수 없다. 새 프로그램에서 이 값은 의미가 없으므로 쓰레기 값이라고 한다. 이 쓰레기 값 때문에 프로그램에 오류가 생길 수 있으므로 반드시 원하는 값으로 바꾸는 초기화 과정이 필요하다.

핵심 포인트

  1. 변수 선언으로 메모리에 저장 공간을 확보하며, 대입 연산자(=)로 변숫값을 초기화하거나 저장한다. 초기화하지 않은 변수에는 쓰레기 값이 들어 있다.
  2. 변수의 형태를 자료형이라 하며 기본적으로 정수형과 실수형으로 나뉜다.
  3. 변수에 const를 사용하면 상수처럼 사용할 수 있다.
  4. 예약어는 컴파일러와 약속된 단어고, 식별자는 사용자가 만들어 낸 단어이다.

 

데이터 종류에 따른 대표 자료형

데이터 종류 자료형 크기(Byte) 출력 변환 문자
정수 int 4 다음 표 참고
실수 double 8 다음 표 참고
문자 char 1 %c
문자열 char 배열 가변적 %s

정수형의 종류

자료형 크기(Byte) 출력 변환 문자
char 1 %c 또는 %d
short 2 %d
int 4 %d
long 4 %ld
long long 8 %lld
unsiged char 1 %u
unsiged short 2 %u
unsiged int 4 %u
unsiged long 4 %lu
unsiged long long 8 %llu

실수형의 종류

자료형 크기(Byte) 유효 숫자 출력 변환 문자
float 4 7 %f
double 8 15 %lf
long double 8이상 15이상 %Lf

예약어의 종류

구분 예약어
자료형 char / double / enum / float / int / long / short /
signed / struct / union / unsigned / void
제어문 break / case / continue / default / do / else /
for / goto / if / return / switch / while
기억클래스 auto / extern / register / static
기타 const / sizeof / typedef / volatile

 


3-2 데이터 입력

키보드에서 타이핑하는 모든 내용은 문자로 인식된다. 따라서 입력한 데이터를 연산이 간으한 정수나 실수로 사용하려면 변환 과정이 필요하다. 이때 사용하는 서이 바로  scanf 함수이다. 이 함수는 입력 문자들을 스캔해 원하는 형태의 데이터로 바꿔준다. 

핵심 포인트

  1. 키보드로 데이터를 입력할 때는 scanf 함수를 사용하며 변수 앞에 &(엠퍼샌드)를 사용한다.
  2. 둘 이상의 데이터를 입력할 때는 Spcae Bar, Tab, Enter로 각 데이터를 구분하다.
  3. 문자열 입력은 char 배열을 이용하며 배열명 앞에 &를 사용하지 않는다.

자료형에 따른 입력 변환 문자

데이터 종류 자료형 크기(Byte) 입력 변환 문자
정수 (unsigned) short 2 %hd (%hu)
(unsigned) int 4 %d (%u)
(unsigned) long 4 %ld (%lu)
(unsigned) long long 8 %lld (%llu)
실수 float 4 %f
double 8 %lf
long double 8, 16 %Lf
문자 char 1 %c
문자열 char 배열 가변적 %s

 

책에 나와있는 직접해보는 손코딩 예제를 따라치면서 읽으니깐 C 언어가 조금 익숙해지기  시작했다. 긴 호흡으로 천천히 배워보자. 목표는 chapter 09 기본편까지 1회독!!!

 

https://m.hanbit.co.kr/store/books/book_view.html?p_code=B3773573071

 

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

혼자 해도 충분하다! 1:1 과외하듯 배우는 C 프로그래밍 자습서

m.hanbit.co.kr