혼자 공부하는 C언어 책 정리 및 발생하는 트러블 슈팅 해결
Chapter 03 변수와 데이터 입력
학습목표
- 키보드로 값을 입력 받는 방법을 알아보자
- 입력받은 값을 저장할 메모리 공간을 변수 선언으로 확보하는 방법을 배워보자
- 효율적인 데이터 처리를 위해 필요한 다양한 변수의 형태와 특징을 이해하자
3-1 변수
프로그램이 처리하는 데이터(자료)의 형태는 다양하고 형태별 연산 방법도 다르다. 이런 특징을 잘 이해하면 효율적이고 신뢰성 있는 프로그램을 만들 수 있다. 프로그램에서 데이터를 메모리에 저장해 놓으면 필요할 때마다 꺼내 사용할 수 있다. 이때 변수 선언을 통해 메모리에 저장 공간을 확보한다. 변수는 데이터의 종류에 따라 각각 다른 형태를 사용하는데, 정수는 int, 실수는 double, 문자는 char, 문자열은 char 배열을 사용한다.
//int형 변수 선언
int a; //int는 자료형 a는 변수명
a = 10; //a에 10을 저장(할당)한다.
변수를 선언하면 메모리에 저장 공간이 생기는데 처음 그 안에는 어떤 값이 들어 있는지 알 수 없다. 컴퓨터의 메모리 공간은 재활용된다. 프로그램이 종료되면 사용하면 메모리 공간을 반납하고 새로 실행된 프로그램이 그 공간을 사용하게 된다. 이때 종료된 프로그램이 어떤 값을 메모리 공간에 남겨 놓았는지는 알 수 없다. 새 프로그램에서 이 값은 의미가 없으므로 쓰레기 값이라고 한다. 이 쓰레기 값 때문에 프로그램에 오류가 생길 수 있으므로 반드시 원하는 값으로 바꾸는 초기화 과정이 필요하다.
핵심 포인트
- 변수 선언으로 메모리에 저장 공간을 확보하며, 대입 연산자(=)로 변숫값을 초기화하거나 저장한다. 초기화하지 않은 변수에는 쓰레기 값이 들어 있다.
- 변수의 형태를 자료형이라 하며 기본적으로 정수형과 실수형으로 나뉜다.
- 변수에 const를 사용하면 상수처럼 사용할 수 있다.
- 예약어는 컴파일러와 약속된 단어고, 식별자는 사용자가 만들어 낸 단어이다.
데이터 종류에 따른 대표 자료형
데이터 종류 | 자료형 | 크기(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 함수이다. 이 함수는 입력 문자들을 스캔해 원하는 형태의 데이터로 바꿔준다.
핵심 포인트
- 키보드로 데이터를 입력할 때는 scanf 함수를 사용하며 변수 앞에 &(엠퍼샌드)를 사용한다.
- 둘 이상의 데이터를 입력할 때는 Spcae Bar, Tab, Enter로 각 데이터를 구분하다.
- 문자열 입력은 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언어' 카테고리의 다른 글
[혼자 공부하는 C언어] - Chapter 06 정리 및 문제 해결 (0) | 2024.06.19 |
---|---|
[혼자 공부하는 C언어] - Chapter 05 정리 및 문제 해결 (1) | 2024.06.19 |
[혼자 공부하는 C언어] - Chapter 04 정리 및 문제 해결 (0) | 2024.06.18 |
[혼자 공부하는 C언어] - Chapter 02 정리 및 문제 해결 (0) | 2024.06.17 |
[혼자 공부하는 C언어] - Chapter 01 정리 및 문제 해결 (0) | 2024.06.15 |