Phase 1 · C언어 입문

변수와 자료형

C언어에서 데이터를 저장하는 방법. 학생의 이름, 나이, 키, 점수 등 다양한 데이터를 기억하고 활용하기 위해
변수(Variable)와 자료형(Data Type)의 원리를 익힙니다.

예상 학습 시간 : 90분
난이도 : ★★☆☆☆ 기초
사전 지식 : Step 01 완료
다음 단계 : 연산자와 계산
01

학습 목표

이번 단계를 완료하면 다음 내용을 이해하고 직접 구현할 수 있습니다.

1
변수의 개념을 이해한다.
2
변수 선언 방법을 익힌다.
3
값을 저장하고 변경할 수 있다.
4
정수, 실수, 문자 자료형을 구분한다.
5
int, float, double, char사용할 수 있다.
6
sizeof()를 이용하여 자료형의 크기를 확인한다.
7
상수와 변수의 차이를 이해한다.
8
간단한 계산 프로그램을 작성할 수 있다.
02

변수란 무엇인가?

변수는 데이터를 저장하는 메모리 공간의 이름입니다. 사람의 정보를 저장한다고 생각해 보겠습니다.

변수는 데이터를 저장하는 이름표입니다
변수 이름표 저장된 값
age 20
score 95
height 175.5
grade A

컴퓨터는 실제로 복잡한 메모리 주소에 데이터를 저장하지만, 우리는 변수 이름을 사용하여 편리하게 데이터를 관리합니다.

03

변수 선언과 값 저장

C언어에서는 사용하기 전에 반드시 변수를 선언해야 합니다.

⚙️ C
int age;

이 코드는 다음과 같은 의미입니다.

  • int정수를 저장하는 자료형
  • age변수 이름

즉, "정수를 저장할 수 있는 age라는 변수를 만든다"는 뜻입니다.

변수를 선언한 후 값을 저장합니다.

⚙️ C
int age;    // 변수를 생성

age = 20;   // 변수에 값을 저장
int age;
(값은 아직 없음)
1. 변수 선언
age
20
2. 값 저장 (age = 20)
04

선언과 초기화

변수를 만들면서 동시에 값을 저장할 수도 있습니다. 이것을 초기화(Initialization)라고 합니다.

⚙️ C
int age = 20;
같은 결과입니다
int age;
age = 20;
VS
int age = 20;

초기화(우측)는 프로그램을 작성할 때 가장 많이 사용하는 깔끔한 방법입니다.

05

자료형 (Data Type)

컴퓨터는 모든 데이터를 같은 방식으로 저장하지 않습니다. 숫자, 실수, 문자 등에 따라 저장 방식이 다른데, 이를 자료형이라고 합니다.

자료형 의미 예제
int 정수 10, 25, -100
float 실수 3.14
double 정밀한 실수 175.523456
char 문자 1개 'A', 'B', 'Z'
06

각종 자료형 살펴보기

정수형 int

가장 많이 사용하는 자료형입니다. %d는 정수를 출력하는 형식 지정자입니다.

⚙️ C
#include <stdio.h>
int main() {
    int age = 25;
    printf("나이 : %d\n", age);
    return 0;
}

실수형 float

실수를 저장할 때 사용합니다. %.1f는 소수점 첫째 자리까지 출력한다는 의미입니다.

⚙️ C
#include <stdio.h>
int main() {
    float height = 175.5;
    printf("키 : %.1f\n", height);
    return 0;
}

정밀한 실수 double

doublefloat보다 더 정밀한 실수를 저장할 수 있습니다. 과학 계산 등에서 주로 쓰입니다.

⚙️ C
#include <stdio.h>
int main() {
    double pi = 3.141592;
    printf("%.6lf\n", pi);
    return 0;
}

문자형 char

문자 하나를 저장합니다. 문자는 반드시 작은따옴표('')를 사용합니다.

⚙️ C
#include <stdio.h>
int main() {
    char grade = 'A';
    printf("등급 : %c\n", grade);
    return 0;
}
주의: 문자와 문자열은 다릅니다

'A'는 문자 1개 (작은따옴표), "A"는 문자열 (큰따옴표)입니다. C언어에서는 이를 엄격하게 구분합니다.

07

변수의 값 변경

변수는 이름 그대로 언제든지 값이 변할 수 있는 수입니다.

⚙️ C
#include <stdio.h>
int main()
{
    int score = 80;
    printf("%d\n", score);

    score = 95; // 변수의 값을 변경
    printf("%d\n", score);

    return 0;
}
▶ 실행 결과
80
95
08

여러 개의 변수 사용하기

하나의 프로그램에는 여러 변수를 복합적으로 사용할 수 있습니다.

⚙️ C
#include <stdio.h>
int main()
{
    char grade = 'A';
    int age = 20;
    float height = 175.5;
    double weight = 68.25;

    printf("등급 : %c\n", grade);
    printf("나이 : %d\n", age);
    printf("키 : %.1f\n", height);
    printf("몸무게 : %.2lf\n", weight);

    return 0;
}
09

sizeof() 알아보기

자료형은 각각 메모리를 차지하는 크기가 다릅니다. 이를 확인하는 함수가 sizeof() 입니다.

⚙️ C
#include <stdio.h>
int main()
{
    printf("int : %d byte\n", sizeof(int));
    printf("float : %d byte\n", sizeof(float));
    printf("double : %d byte\n", sizeof(double));
    printf("char : %d byte\n", sizeof(char));
    return 0;
}
▶ 예상 결과
int : 4 byte
float : 4 byte
double : 8 byte
char : 1 byte

※ 컴퓨터 환경과 컴파일러에 따라 일부 자료형의 크기는 달라질 수 있습니다.

10

상수와 변수

변수는 값이 바뀔 수 있지만, 상수(Constant)는 값이 절대로 바뀌지 않습니다.

변수

int age = 20;

나이는 언제든 변경될 수 있습니다.

상수 (const)

const int YEAR = 2026;

앞에 const를 붙이면 절대로 변경할 수 없는 값이 됩니다.

11

형식 지정자 정리

printf() 함수를 사용할 때는 자료형에 맞는 올바른 형식 지정자를 사용해야 합니다.

int (정수)

%d

char (문자)

%c

float (실수)

%f

double (정밀실수)

%lf
12

실습 문제

🧪
Practice 01
나의 정보 저장하기

이름 대신 문자 등급, 나이, 키, 몸무게를 변수에 저장하여 출력해 봅니다.

⚙️ C
#include <stdio.h>
int main()
{
    char grade = 'A';
    int age = 18;
    float height = 172.3;
    double weight = 65.8;

    printf("등급 : %c\n", grade);
    printf("나이 : %d\n", age);
    printf("키 : %.1f\n", height);
    printf("몸무게 : %.1lf\n", weight);

    return 0;
}
🧪
Practice 02
원의 넓이 계산

변수를 이용하여 원의 넓이를 계산합니다. (공식: 넓이 = π * r * r)

⚙️ C
#include <stdio.h>
int main()
{
    double radius = 5.0;
    double pi = 3.141592;
    double area;

    area = pi * radius * radius;

    printf("반지름 : %.1lf\n", radius);
    printf("원의 넓이 : %.2lf\n", area);

    return 0;
}
🧪
Practice 03
학생 성적 계산

학생의 국어, 영어, 수학 점수를 저장하고 총점을 계산합니다.

⚙️ C
#include <stdio.h>
int main()
{
    int korean = 90;
    int english = 85;
    int math = 95;
    int total;

    total = korean + english + math;

    printf("국어 : %d\n", korean);
    printf("영어 : %d\n", english);
    printf("수학 : %d\n", math);
    printf("총점 : %d\n", total);

    return 0;
}
💡 도전 과제

평균(average)까지 계산해 보세요. 힌트: average = total / 3.0; (결과를 저장할 변수는 어떤 자료형이어야 할까요?)

13

STEP 02 미션

🚀 Mission

나만의 건강 정보 프로그램

변수를 이용하여 자신의 정보를 저장하고 화면에 출력하는 프로그램을 작성합니다.

조건

다음 변수와 자료형을 반드시 사용하세요.

  • age (int)
  • height (float)
  • weight (double)
  • grade (char)
💡 출력 예시
================================
        나의 건강 정보
================================

나이       : 25세
키         : 175.5cm
몸무게     : 68.2kg
건강등급   : A

BMI 계산은 다음 단계에서 구현합니다.
================================
14

STEP 02 완료 체크리스트

변수의 의미를 설명할 수 있다.
int 변수를 선언할 수 있다.
float와 double의 차이를 이해한다.
char를 이용하여 문자 하나를 저장할 수 있다.
변수를 초기화할 수 있다.
변수의 값을 언제든지 변경할 수 있다.
printf() 형식 지정자를 올바르게 사용할 수 있다.
sizeof()로 자료형 크기를 확인할 수 있다.
여러 개의 변수를 이용한 계산 프로그램을 작성할 수 있다.
핵심 요약
  • 변수 : 데이터를 저장하는 메모리 공간의 이름
  • 자료형 : 데이터 종류 (int, float, double, char)
  • 초기화 : 변수를 만들면서 동시에 값을 저장
  • 특징 : 변수의 값은 코드가 실행되는 동안 언제든지 변경 가능
이전 : Step 01 Step 03 : 연산자와 계산