
이번 글에서는 C언어 외에 다른 프로그래밍 언어에서도 매우 중요한 개념인 "변수"에 대해 알아보도록 하겠습니다. 변수는 데이터를 저장하는 상자입니다. C언어에도 변수라는 개념이 존재하고, 이와 더불어 변수가 어떤 유형의 데이터를 저장하느냐에 따라 변수의 유형도 달라지게 됩니다.
∨ 데이터
데이터라는 단어가 있습니다. 쉽게 말해 값이라고 생각해도 됩니다. 데이터란 프로그램에서 처리하는 모든 정보를 의미합니다. (사실 복잡하게 생각할 것 없이, 데이터는 그냥 데이터라고 생각하면 됩니다.) 데이터에는 다양한 종류가 존재합니다. C언어에서는 대표적으로 세 개 데이터 종류가 존재합니다.
- 정수
- 부동 소수점(실수)
- 문자
여기서 각각에 대해 설명하자면, 정수형 데이터는 실수가 없는 수치 데이터를 의미합니다. -3, 0, 55 등을 의미하죠. 부동 소수점 데이터는 실수 데이터를 의미합니다. 3.134, 2.0 등의 데이터를 의미합니다. 왜 실수가 아닌 부동 소수점이라고 부르는 지에 대한 이유는 마지막에 설명드리겠습니다. 여기서 주의해야 할 점은 문자형 데이터입니다. 문자형은 "Hello World"와 같은 문자열이 아닌 문자 하나 데이터를 의미합니다. 예를 들면 문자 데이터는 'H', '5', '&' 등의 한 글자 데이터입니다. 여기서 눈치채신 분들이 계실 텐데요. 문자열은 쌍따옴표 "로 감싸고, 문자는 '를 이용해서 표현합니다. 이는 매우 중요한 요소입니다. 이 규칙을 지키지 않으면 오류가 발생합니다. 참고로 문자열은 어떻게 저장하는지 궁금해 하실 분들을 위해 간략히 설명하자면 문자 데이터 하나하나를 붙여 저장합니다. 문자열을 저장하고 사용하는 방법은 추후 배우게 될겁니다.
따라서 프로그램이 다루게 되는 데이터에는 정수, 부동 소수점, 문자 데이터가 있습니다. 이때, "데이터의 종류"를 자료형이라고도 합니다. 이는 매우 자주 사용되므로 알아두시는게 좋습니다. 이제 어떤 자료형(데이터 종류)이 있는 지 보았으니, 데이터를 저장하는 변수라는 놈에 대해 알아보겠습니다.
∨ 변수
변수는 데이터를 저장하는 상자입니다. 변수가 필요한 이유는 처리해야 할 데이터가 1회성으로 사용되지 않고 계속 사용되거나, 데이터를 임시로 저장하거나 등의 경우에서 필요합니다. 예를 들어, 이자를 계산하는 프로그램에서 이율은 이자를 계산하는 데 계속 사용될 것이므로 이율을 변수에 저장하고 이자를 계산할 때마다 변수에 저장한 이율 값을 꺼내 사용할 수 있습니다. 이처럼 프로그래머들은 일반적으로 데이터가 한 번만 사용되는 것 아니라면 변수에 저장하는 것을 권장하는 편입니다.
여기서 변수의 두 가지만 더 알아야 합니다. 첫째, 하나의 변수는 한 번에 하나의 값만 저장할 수 있습니다. 둘째, 변수의 종류에 따라 어떤 종류의 데이터를 저장할 수 있는지 달라집니다. 데이터의 형태에 따라 해당 데이터를 저장하는 방식이 달라지기 때문입니다.

여기서 변수에 2라는 데이터를 넣습니다. 이 하나의 변수에 2와 다른 데이터를 같이 저장하고 싶어도 하나의 변수에는 한 번에 하나의 데이터만 저장할 수 있습니다. 또, 변수의 종류에 따라 어떤 종류의 데이터를 저장할 수 있는 지 달라진다고 하였습니다. 반대로 말하면 어떤 종류의 데이터냐 따라 어떤 종류의 변수를 사용해야 하는 지도 달라집니다. 2라는 정수 데이터를 저장하기 위해서는 정수 전용 변수를 사용해야 합니다. 변수의 종류는 어떤 데이터를 저장하느냐에 따라 크게 3개로 나뉩니다.
- 정수형 변수
- 부동 소수점(실수형) 변수
- 문자형 변수
문자형 변수는 문자 데이터를 저장할 수 있고, 정수형 변수는 정수 데이터를 저장할 수 있는 것이죠. 저장하고자 하는 데이터의 유형과 변수의 유형을 맞춰주지 않으면 일반적으로 오류가 발생하거나 의도되지 않는 결과가 나옵니다.
∨ 변수명
변수명은 변수의 이름을 뜻합니다. 변수를 선언할 때, 자료형 다음으로 오는 단어이죠. 여러 변수를 구분하기 위해 변수명을 사용하며, 따라서 변수명을 식별자라고도 합니다. 아래 경우에선 int x; 에서 int는 자료형이고 다음으로 오는 x가 변수의 이름, 즉 변수명입니다.

변수명은 사용자가 원하는 대로 지어도 되지만 규칙을 지키는 선 안에서 변수명을 지어야 합니다. 변수명의 규칙은 다음과 같습니다.
- 영문, 숫자, 언더바(_)만 사용 가능하다.
- 변수명의 제일 첫 글자에 숫자가 올 수 없다.
- 키워드(int, main 등)은 변수명으로 사용할 수 없다.
- 대/소문자는 구별된다.
첫 번째 규칙은 변수명은 영문과 숫자, 언더바(_)만 사용하여 지을 수 있습니다. 아래 예에서 변수명으로 적절하지 않은 것은 무엇일까요?
① _number ② a ③ K&J ④ x1
정답은 ③번 "K&J"입니다. 왜냐면 변수명은 영문, 숫자, 언더바(_)만 사용할 수 있는데 '&' 특수문자를 사용하였기 때문입니다. 변수명에서 특수문자는 언더바(_)만 사용할 수 있습니다.
두 번째 규칙은 변수명의 첫 글자는 숫자가 올 수 없다는 것입니다. 이는 변수명과 숫자가 혼동될 수 있기 때문에 첫 글자는 숫자가 올 수 없도록 규칙을 정한 것입니다. 그럼 이번에도 문제를 맞춰보시길 바랍니다. 아래 예에서 변수명으로 적절하지 않은 것은 무엇일까요?
① count ② n1 ③ 2nd_number ④ _123_
정답은 ③번 "2nd_number"입니다. 변수명의 첫 글자가 '2', 숫자이기 때문입니다. 첫 글자만 아니라면 나머지 자리에 숫자는 자유롭게 올 수 있습니다.
세 번째 규칙은 키워드는 변수명으로 사용할 수 없다는 것입니다. 키워드는 이전에 살펴본 return, 그리고 이번 장에서 다룬 int와 같이 C언어에서 미리 정해진 특별한 의미를 가지는 단어들입니다. 변수명을 키워드로 사용하면 컴퓨터는 변수명을 변수명이 아닌 키워드로 인식하게 되어 오류가 발생하게 되는 것입니다. 따라서 아래와 같은 코드는 오류를 발생시킵니다.
#include <stdio.h>
int main(void) {
int return; // 오류 발생!
int int; // 오류 발생!
return 0;
}
하지만 변수명이 키워드와 완전히 동일할 때만 오류가 발생하며, 키워드를 포함한 조합의 변수명은 사용할 수 있습니다. 예를 들면, 변수명으로 "return"은 오류를 발생시키지만, "return_value", "return2"과 같은 이름은 정상적으로 사용할 수 있습니다.
네 번째 규칙을 알아보기 전에, 다시 한 번 짚고 넘어가야 할 내용이 있습니다. 변수명은 변수를 구별하는 식별자라는 점입니다. 이때 대문자와 소문자의 구분은 변수를 식별하는 데 매우 중요한 요소입니다. 겉보기에는 비슷해 보이는 변수명이라도 대소문자가 다르면 컴퓨터는 이를 서로 다른 변수로 인식합니다.
아래 코드에서 선언된 4개의 변수는 모두 다 다른 변수입니다. 그 이유는 대소문자까지 같아야 같은 변수로 취급되고, 하나라도 대소문자가 다르다면 다른 변수로 취급되기 때문입니다.
#include <stdio.h>
int main(void) {
int value;
int Value;
int vaLUE;
int VAlue;
return 0;
}
∨ 변수의 선언, 자료형
그럼 이제 코드로 변수를 어떻게 사용해야 하는 지 보겠습니다. 변수를 사용하기 전에는 변수를 사용하겠다고 알리는 것을 변수의 선언이라고 합니다. 변수의 선언은 아래의 코드와 같이 사용합니다.
int x; // 변수의 선언
변수는 변수명과 자료형으로 구성되는데, 변수를 선언할 때 자료형과 변수명을 함께 명시해야 합니다. 변수의 선언 코드에서 가장 "앞의 부분"이 어떤 자료형을 저장할 지를 명시합니다. 이 경우에서 "앞의 부분"은 int이므로 정수형 데이터를 저장하겠다는 의미입니다. int가 integer(정수)를 의미하기 때문이죠. 그 다음으로는 변수명을 명시합니다. 이 경우에서의 변수명은 x입니다. 변수명은 본인이 원하는 대로 정해도 됩니다. x가 아니라 y, 혹은 X, number 등도 가능합니다.
다만 이때 중요한 것은 선언한 변수를 또 선언하는 것은 오류를 발생시킵니다.
#include <stdio.h>
int main(void) {
int number1;
int number1; // -> 오류 발생!
return 0;
}
이때는 변수의 이름을 다르게 선언해주어 변수명이 겹치는 일을 피해야 합니다.

우선 변수에게 제일 중요한 자료형에 대해 알아보겠습니다. 어떤 자료형을 저장하느냐에 따라 변수를 선언할 때 int 대신 써주는 단어가 달라지는데요. 참고로 int와 같이 C언어에서 미리 정해져 있는 단어를 키워드(keyword)라고 합니다. 변수명을 정할 때는 이러한 키워드를 사용할 수 없으므로 주의해야 합니다.
| 크기 | 정수형(1, -3, 0, 100 등) | 부동 소수점(실수형) | 문자형('a', 'Z', '%' 등) |
| 1btye | char | char | |
| 2byte | short | ||
| 4byte | int, long | float | |
| 8byte | long, long long | double |
정수 자료형에는 int 외에도 long, short 등이 있습니다.
정수 데이터에도 여러 종류가 있다는 뜻입니다. 왜 일까요? 바로 데이터의 크기에 따라서도 데이터를 구분하기 때문입니다. 크기가 큰 데이터일수록 더 넓은 범위의 데이터를 저장할 수 있습니다. 같은 정수 자료형인 short와 int의 경우를 보겠습니다. short 자료형의 변수는 -32768 ~ 32767 범위의 정수를 저장할 수 있는데 반해, int 자료형은 -2,147,483,648 ~ 2,147,483,647 범위의 정수를 저장할 수 있습니다.
| 자료형 (정수) | short | int |
| 범위 | -32768 ~ 32767 | -2,147,483,648 ~ 2,147,483,647 |
여기서 주의할 점은, 더 넓은 범위를 저장할 수 있다는 것이 더 많은 데이터를 한꺼번에 저장할 수 있다는 의미는 아니라는 것입니다. 단지 하나의 변수에 저장할 수 있는 값의 범위가 더 크다는 뜻입니다.
이때 이런 의문이 드실 수도 있습니다. "그렇다면 항상 더 큰 범위를 저장할 수 있는 자료형만 사용하면 되지 않을까?", 하지만 더 넓은 범위의 데이터를 저장할 수 있다는 것은 그만큼 자료형의 크기가 크다는 것입니다. 자료형의 크기가 클 수록 메모리를 많이 잡아먹고, 프로그램의 용량을 크게 만듭니다. 과거에는 메모리가 매우 제한적이었기 때문에, 필요한 만큼만 메모리를 사용하기 위해 같은 데이터 유형 내에서도 다양한 크기의 자료형이 만들어졌습니다.
정수형 자료형에서 참고할 만한 부분은 char형과 long형입니다. char형은 문자형 변수로 사용되지만, 내부적으로는 정수 값을 저장합니다. 이는 문자를 저장할 때 각 문자에 대응되는 정수 값을 사용하기 때문입니다. 예를 들어 'a'는 97, 'd'는 100과 같은 정수 값으로 저장됩니다. 출력할 때는 이 정수 값을 다시 해당 문자로 변환하여 보여줍니다. (예: 100 → 'd') 따라서 char형은 문자를 저장하는 데 사용되지만, 실제로는 정수를 기반으로 동작하기 때문에 정수형 자료형의 한 종류로 볼 수 있습니다.
다음으로 long형의 경우, 표에서 4byte와 8byte로 나뉘어 있는 것을 볼 수 있는데, 이는 사용하는 환경(Windows, macOS, Linux 등)에 따라 크기가 달라질 수 있기 때문입니다. 일반적으로 Windows에서는 long이 4byte이고, 일부 다른 환경에서는 8byte가 될 수도 있습니다.
그렇다면 이제 다양한 자료형의 변수들을 사용해보겠습니다. 동시에 변수를 사용하는 방법도 알아보겠습니다.
∨ 변수의 대입
다양한 자료형의 변수를 사용하기 전에, 변수는 데이터를 저장하는 상자라고 하였는데 우리는 변수에 데이터를 어떻게 저장하는 지 모릅니다. 물론 눈치가 빠르신 분들은 이전 글에서 눈치를 채셨을 지도 모릅니다. 아래 예제를 보면서 설명을 이어 가겠습니다.
#include <stdio.h>
int main(void) {
// 변수 x 선언
int x;
x = 5;
return 0;
}
이 코드는 변수 x에 정수값 5를 저장하고 끝내는 프로그램입니다. 여기서 어떤 코드가 정수값 5를 저장하는 코드 같나요?
x = 5;
x = 5; 이 코드는 변수 x에 값 5를 저장합니다. 수학에서도 '=' 라는 표기가 존재하고 이는 "같다"를 의미합니다. 프로그래밍 언어에서는 '=' 는 "같다"를 의미하는 것이 아니라 대입을 의미합니다. 대입이란 변수에 값을 저장하는 것을 말합니다. 대입 대신 할당이라고도 합니다. 즉, x = 5; 이 코드는 "변수 x에 값 5를 대입한다."를 의미합니다. 그래서 '='를 대입 연산자, 혹은 할당 연산자라고 합니다. 대입 연산자를 통해 변수에 값을 저장할 수 있는 것입니다. 프로그래밍 언어에서 두 값이 같은 지를 물을 때는 연산자 "=="를 사용합니다.
아! 그리고 하나 말씀드리자면, 일반적으로 변수는 선언된 시점부터 유효하며, 프로그램이 종료될 때까지 사용할 수 있습니다. 즉, 변수를 선언한 이후부터 프로그램이 끝날 때까지 해당 변수를 사용할 수 있습니다. 프로그램이 종료된 이후에도 저장한 변수의 값이 사라지지 않게 하려면 특별한 방법을 사용해야 합니다. 이는 나중에 알아보겠습니다.
아래처럼 대입 연산자는 여러번 사용할 수 있습니다. 그러면 제가 퀴즈를 내보겠습니다. 최종적으로 변수 x에 저장된 값은 무엇일까요?
#include <stdio.h>
int main(void) {
// 변수 x 선언
int x;
x = 5; // 5를 할당한다.
x = 10; // 10을 할당한다.
x = 30; // 30을 할당한다.
return 0;
}
정답은 30입니다. 이유는 단순합니다. 마지막으로 변수 x에 대입한 값이 30이기 때문인데요. 제가 글 초반에서 하나의 변수에는 한번에 하나의 데이터만 저장할 수 있다고 말한 것을 기억하시나요? 처음에 x = 5;가 실행되면 x에는 5가 저장되고, 이후 x = 10;이 실행되면 기존 값인 5는 사라지고 10으로 덮어쓰기 됩니다. 마지막으로 x = 30;이 실행되면 10이 사라지고 30이 저장됩니다.
∨ 변수의 초기화
변수의 초기화라는 개념이 있습니다. “초기화”라는 말은 일상에서는 어떤 것을 완전히 없애거나 처음 상태로 되돌린다는 의미로 사용되기도 하지만, 프로그래밍에서는 초기화는 변수의 초기(처음) 값을 설정하는 것을 의미합니다.
초기화를 하는 방법은 간단합니다. 변수의 선언과 대입을 동시에 해주면 됩니다. 아래 예는 다양한 자료형의 변수를 초기화하는 예제입니다.
int W = 10;
long X = 0;
float Y = 1.2;
char Z = 'A';
이처럼 선언과 동시에 대입을 해주면 됩니다. 보통은 0으로 초기화하는 경우가 많지만, 반드시 0으로 해야 하는 것은 아니며 상황에 맞게 원하는 값을 설정하면 됩니다.
초기화에 대한 설명은 다 드렸지만, 여기서 다 아시면 편한 것이 있습니다. 변수를 선언할 때 하나의 변수가 아니라 여러 변수를 같이 선언한다면 아래 코드와 같이 여러 변수의 선언을 묶어서 할 수 있습니다.
#include <stdio.h>
int main(void) {
int X, Y, Z; // X, Y, Z 변수 선언!
return 0;
}
이때 각 변수는 쉼표 (,)로 구분해줍니다. 그리고 변수 X, Y, Z는 모두 int 형으로 선언됩니다. 꼭 3개가 아니더라도 2개, 혹은 4개 이상도 가능합니다. 초기화도 동시에 할 수 있습니다. 위 코드에 초기화하는 식으로 변환해주면 됩니다.
#include <stdio.h>
int main(void) {
int X = 0, Y = 10, Z = 25; // X, Y, Z 변수 초기화!
return 0;
}
이렇게 하면, 변수 X, Y, Z를 동시에 선언 및 초기화를 진행할 수 있습니다.
여기서 주의해야 할 지점이 있습니다. 아래 코드를 보고 변수 X, Y에는 어떤 값이 저장되어 있을 지 예상해보세요. 변수 X값을 출력하는 코드도 추가하여 보겠습니다.
#include <stdio.h>
int main(void) {
int X, Y, Z = 0; // X, Y, Z 변수 선언!
printf("%d", X);
return 0;
}
결과는 오류가 발생하거나 의도되지 않는 값이 출력됩니다. 왜냐하면 변수 X, Y에는 값을 저장한 적이 없기 때문입니다.
int X, Y, Z = 0;
이 코드의 의미는 변수 X, Y를 선언만 하고 Z는 선언 및 초기화까지 진행합니다. 즉, 초기화는 변수 Z만 해당됩니다. 모든 변수가 초기화가 되도록 하려면 아까의 예처럼 모든 변수 선언 식을 초기화 식까지 추가하여야 합니다.
∨ 변수의 참조
변수에 값을 저장하였다면, 이제 그 값을 사용해야 합니다. 변수의 참조란 변수에 저장된 값을 사용하는 것을 의미합니다. 여기서 변수의 값을 사용한다는 것은 값을 꺼낸다기보다는, 저장된 값을 읽는다고 표현하는 것이 더 적절합니다.
변수를 참조하는 방법은 단순합니다. 변수를 사용하고자 하는 곳에 변수명을 써주면 됩니다. 아래 두 예시를 보겠습니다. 첫 번째 예시는 변수를 참조하여 값을 계산합니다.
#include <stdio.h>
int main(void) {
int X = 5;
int Y = 0;
Y = X + 15; // Y = 5 + 15
return 0;
}
Y = X + 15; 이 코드는 변수 Y에 값을 대입하는 코드입니다. 여기에 변수 X를 사용하면 변수 X에 저장된 값인 5를 사용할 수 있습니다. 즉, 결과적으로 Y = 5 + 15; 코드를 수행하는 것과 동일합니다.
함수에서도 변수를 사용할 수 있습니다. printf 함수에서 변수의 값을 출력하기 위해서는 문자열 " " 안에 %d와 같은 형식 지정자를 사용해야 합니다. %d는 정수 데이터를, %f는 실수 데이터를, %c는 문자 데이터를 출력할 때 사용합니다.
#include <stdio.h>
int main(void) {
int num_int = 100;
float num_float = 3.14;
char c = 'g';
printf("%d %f %c", num_int, num_float, c);
return 0;
}
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
100 3.140000 g
printf 함수의 동작 방식을 간단히 설명하자면, 문자열 안에 있는 %d, %f, %c와 같은 형식 지정자에 맞추어 뒤에 전달된 데이터들의 값이 순서대로 치환되어 출력됩니다. 이때 변수명을 전달하면, 변수 자체가 출력되는 것이 아니라 변수에 저장된 값이 전달되어 출력됩니다. 즉, 아래의 함수를 실행하는 것과 동일한 결과를 출력합니다.
printf("%d %f %c", 100, 3.14, 'g');

∨ char형과 아스키 표
char형이 문자 데이터를 저장할 때, 문자에 대응되는 정수 값을 저장한다는 것을 기억하시나요? 예를 들어 문자 'a'는 정수 97로 저장됩니다. 이제 이를 직접 확인해보겠습니다. char형 변수 value를 'a'로 초기화한 뒤, printf("%d", value); 코드를 실행해봅시다. 이 코드는 변수 value에 저장된 값을 정수 형태(%d)로 출력하겠다는 의미입니다.
#include <stdio.h>
int main(void) {
char value = 'a';
printf("%d", value);
return 0;
}
97이 출력됩니다. 그 이유는 문자형 변수 char는 문자를 저장할 때 내부적으로는 해당 문자에 대응되 정수를 저장하기 때문입니다. 어떤 문자가 어떤 정수 값으로 저장되는지 알아보기 위해서는 아스키 표(ASCII Table)를 참고하면 됩니다. 아스키 표는 각 문자에 대응되는 정수 값을 정리해 놓은 표입니다. 이때 이러한 정수 값을 아스키 값(ASCII 값)이라고 합니다.
아래 표를 보는 방법은 단순합니다. Dez는 10진수이고 Hex, Okt는 16진수, 8진수를 의미합니다.ASCII는 char형이 표현하는 문자들을 나타냅니다. 이 문자에는 알파벳과 숫자뿐만 아니라 공백이나 다양한 특수 문자와 제어 문도 포함됩니다. 여기서 Dez(10진수)와 ASCII(문자)만 봅시다. 97에는 어떤 문자가 대응되나요? 'a'가 대응되죠?

문자형 변수가 내부적으로 정수를 저장하기 때문에, 아래 예와 같이 문자형 변수에 정수를 명시적으로 저장할 수 있습니다.
#include <stdio.h>
int main(void) {
char value = 72;
printf("%c의 값은 %d이다.", value, value);
return 0;
}
이전 예제에서는 char형에 문자를 저장했는데 이번에는 정수인 72를 저장한 후, printf("%c의 값은 %d이다.", value, value); 를 실행시켜 보겠습니다. 정수 72가 아스키 표에서 어떤 문자에 대응되는 지 확인해보고 오시길 바랍니다. 'H'가 대응되는 것을 발견하셨나요? 착각하실 수도 있으셔서 다시 한번 말씀드리지만 표에서 Dez가 10진수이고, ASCII문자 왼쪽은 Okt(8진수)입니다!
출력 결과는 아래와 같습니다.
H의 값은 72이다.
printf("%c의 값은 %d이다.", value, value); 여기서 %c에는 value의 값이 문자 형태인 H로 치환되고, %d에는 value의 값이 정수 형태인 72로 치환되므로 위와 같은 결과를 보실 수 있습니다.
따라서 char 자료형은 문자 데이터를 저장하지 않고, 정수 데이터를 저장하는데 이용할 수 있습니다.
∨ 변수의 응용
지금까지 배운 내용으로 변수를 응용하는 프로그램을 사용해보겠습니다. 이자를 계산하는 프로그램을 예시로 변수가 필요함을 설명드렸었는데, 그 프로그램을 한번 작성해보죠. 일단 이율을 저장하는 변수가 하나 있어야 할 것입니다. 이때 이율은 실수이므로 실수 자료형인 float을 사용하여 변수를 선언해보겠습니다.
이율은 주로 r 로 표시하므로 변수명은 'r' 로 하였습니다. 그리고 선언과 동시에 0으로 변수를 초기화하였습니다. 실수형 변수이므로 정수 값인 0을 저장하는 것이 문제가 생길 것 같지만 실수와 정수는 서로 변환이 가능하기 때문에 0이 0.0으로 변환되어 변수 r 에 저장됩니다.
이때 원금을 나타내는 변수도 선언하여 보겠습니다. 원금은 주로 A0로 나타내므로 아래와 같이 변수를 선언하여 보겠습니다.
#include <stdio.h>
int main(void) {
float r = 0; // 이율 값을 저장하는 변수 r 선언
float A0 = 0; // 원금 값을 저장하는 변수 A0 선언
return 0;
}
이때, 위에서 배운 것을 활용하여 변수의 선언, 초기화 식을 간략하게 표현하겠습니다.
#include <stdio.h>
int main(void) {
float r = 0, A0 = 0;
return 0;
}
이율와 원금에 원하는 값을 저장하여 보겠습니다. 이율은 2%로 하여서 변수 r 에 0.02를, 원금에는 1000원을 저장하여 보겠습니다.
#include <stdio.h>
int main(void) {
float r = 0, A0 = 0;
r = 0.02, A0 = 1000; // 이율, 원금 변수에 값 대입
return 0;
}
변수에 값을 대입하는 식도 쉼표 (,)를 이용하여 한 줄로 표현할 수 있습니다. 이제 원금에 이자를 붙은 총액을 저장할 변수도 필요해보이는 군요. 변수 A를 선언하여 총액을 저장하여 보겠습니다. 총액은 원금 A0에 ( 1 + 이율 r)을 곱한 값입니다.
#include <stdio.h>
int main(void) {
float r = 0, A0 = 0;
r = 0.02, A0 = 1000; // 이율, 원금 변수에 값 대입
float A = A0 * (1 + r); // 총액
return 0;
}
이제 이 총액을 출력해보겠습니다. printf(" 총액 : %f ", A); 를 사용하면 문자열 " 총액 : %f "에서 %f가 A의 값으로 치환된 후 출력됩 니다. 이때 %f는 실수 데이터 출력 전용 특수 문자입니다. 최종 코드는 다음과 같습니다.
#include <stdio.h>
int main(void) {
float r = 0, A0 = 0;
r = 0.02, A0 = 1000; // 이율, 원금 변수에 값 대입
float A = A0 * (1 + r); // 총액
printf(" 총액 : %f ", A); // 총액 출력
return 0;
}
∨ 퀴즈

∨ 정리
지금까지
읽어 주셔서 감사합니다!
'지식 아카이브 > C언어' 카테고리의 다른 글
| Chapter 8. C언어 : 연산자, 사칙 연산부터 비교 연산까지! (0) | 2026.04.19 |
|---|---|
| Chapter6. C언어 : 변수의 자료형, unsigned vs signed (0) | 2026.04.15 |
| Chapter4. C언어 : only 실습 모드 (0) | 2026.04.15 |
| Chapter3. C언어 : 코드에 대한 기본 구조. 주석 (0) | 2026.04.15 |
| Chapter2. C언어 : 프로그램이 만들어지는 과정. 컴파일과 링킹 (0) | 2026.04.15 |
