4. C 변수
지난 시간에 출력하는 방법을 배웠다. 이번 시간에는 변수를 통해 데이터를 저장하고 출력하는 방법을 배워보자.
(1) 변수의 개념
(사과상자에 사과를 넣고 이름을 " 나의사과 " 라고 붙인 것과 같이 변수는 정해진 유형(type)의 정보를 저장하고 이름을 붙일 수 있다 )
- 변수는 유형(type)이 존재하며, 데이터의 유형에 맞는 변수를 사용해야 한다. 자주 사용하는 유형은 정수형(int), 실수형(float), 문자형(char)이 있다.
(2) 변수 사용법
변수는 유형에 따라 크기와 저장 가능한 범위가 달라지기 때문에 꼭 유형을 맞춰주어야 한다.
변수에게 이름을 지어줄 때에는 3가지만 주의하자.
1. 숫자로 시작하지않기!! - 숫자로 시작하면 변수가 아니라 숫자로 인식하기때문에 에러가 발생할 수 있다. 2. 예약어 사용하지않기!! - 예약어란 쉽게 말해 C언어에서 이미 사용되고 있는 이름으로, 변수의 이름으로 사용할 수 없다. Ex. int, main, float, double, auto ... - 예약어들은 보통 굵은 글씨로 표현되기 때문에 굵은 글씨인지만 확인해도 대부분 확인할 수 있다. 3. _(shift+-)를 제외한 특수문자 사용하지않기!! - _(언더바)를 제외한 특수문자들은 모두 사용할 수 없다. |
- 선언을 하여 변수를 생성한 다음에는 데이터를 저장해야 한다. 데이터를 저장하는 방법은 크게 2가지 있다.
1) 변수에 직접 저장하는 방법으로, " = " 을 사용하여 저장할 수 있다. 예를 들어 apple 변수에 6을 저장하고 싶다면
apple = 6;
다음과 같이 사용하면 된다. 여기서 중요한 점은 수학과 정보의 차이점을 숙지하고 있어야 한다.
수학과 정보에서 위의 수식은 각각 다른 뜻을 지니고 있다.
수학 |
정보 |
apple 과 6은 같다. |
apple 에 6을 저장하여라. |
(수학과 컴퓨터의 차이점)
정보에서는 저장을 할 때 " = " 을 사용하며, 수학처럼 같다는 의미를 나타내기 위해서는 " == " 을 사용한다는 점을 꼭 기억하자.
2) 직접 입력을 받는 방법으로, scanf( " " ) 라는 새로운 함수를 통해 저장할 수 있다. scanf(" ")는 다음 시간에 배워보자.
(3) 변수의 종류
구분(유형) |
연산자(변수) |
크기 | 형식 지정 문자 |
정수형 |
int |
4Byte | %d |
long long int |
8Byte | %lld |
|
실수형 |
float |
4Byte | %f |
double |
8Byte | %lf |
|
문자형 |
char |
1Byte | %c |
위의 소스코드에서는 변수를 총 4개 만들었으며, 각각 데이터를 저장하고 출력하고 있음을 볼 수 있다.
출력하기 위해서는 printf( ) 함수에서 큰따옴표("") 안에 출력을 원하는 변수의 형식 지정자를 원하는 위치에 쓴 다음 큰따옴표("")를 나와 변수의 이름을 적어주는 것이다. 13번째 줄을 예로 들면, 정수형 변수 i 를 출력하기 위해서는 정수형 변수의 형식 지정자인 %d 를 큰따옴표("") 안에 적고, 이름인 i 를 따로 적은 것을 볼 수 있다.
만약 출력이 2개 이상인 경우에는 어떻게 해야할까......?? 다음 소스코드를 타이핑하고 분석해보자.
4번 줄을 보면 정수형 변수를 한번에 2개 만들었으며, 6번과 7번 줄에서 a와 b의 값을 저장하고 9번 줄에서 출력하고 있다.
이 소스코드는 하나의 printf 함수로 2개의 변수를 출력하고 있다. 이처럼 여러 변수를 출력하기 위해서는 각각의 변수에 알맞은 형식 지정자를 쓴 다음, 순서대로 변수의 이름을 적어주면 된다.
지금까지 기본적인 변수에 대해 알아보았다. 프로그래밍에서 변수는 언제나 사용하기 때문에 꼭 기억하도록 하자.