TITEDIOS 편한 코딩

C 기초강의: #5 변수와 상수, 입력과 출력 본문

C++

C 기초강의: #5 변수와 상수, 입력과 출력

TitediosKW 2024. 8. 3. 19:00
반응형

이번 포스팅에서는 C 언어의 기본 개념인 변수와 상수, 그리고 간단하게 입력과 출력을 다뤄보겠습니다. 각각의 개념을 예제와 함께 자세히 설명하겠습니다.

1. 변수 (Variables)

변수는 데이터를 저장하기 위한 메모리 공간을 의미합니다. C 언어에서 변수를 사용하기 위해서는 먼저 변수의 타입과 이름을 선언해야 합니다. 변수의 타입은 해당 변수가 저장할 데이터의 종류를 나타냅니다.

기본 변수 타입

  • int: 정수형 변수
  • float: 실수형 변수 (소수점 포함)
  • double: 배정도 실수형 변수 (더 많은 소수점 포함)
  • char: 문자형 변수

변수 선언 및 초기화 예제

#include <stdio.h>

int main() {
    // 선언 형식: 자료형(int) 변수명(age);
    int age = 25;           // 정수형 변수 선언 및 초기화
    float height = 5.9;     // 실수형 변수 선언 및 초기화
    double weight = 70.5;   // 배정도 실수형 변수 선언 및 초기화
    char grade = 'A';       // 문자형 변수 선언 및 초기화

    printf("Age: %d\n", age);
    printf("Height: %.1f\n", height);
    printf("Weight: %.1f\n", weight);
    printf("Grade: %c\n", grade);

    return 0;
}

 

예제를 그림으로 한번 살펴보겠습니다.


변수 타입인 int나 float를 선언하고 변수에 값을 할당하게 됩니다. 예제에서는 int로 25를 float로 5.9를 입력하였습니다. 그러면 메모리에 int형으로 일정 공간에 25의 값이 저장됩니다. 그리고 float 역시 일정 공간(int와는 다를 수 있습니다)에 5.9 값이 저장됩니다.

결과

Age: 25
Height: 5.9
Weight: 70.5
Grade: A

2. 상수 (Constants)

상수는 값이 변경되지 않는 변수입니다. 원주율(Pi)와 같이 변하지 않는 값을 선언할 때 사용합니다. C 언어에서는 const 키워드를 사용하여 상수를 선언합니다. 상수는 초기화된 후에는 값을 변경할 수 없습니다.

상수 선언 예제

#include <stdio.h>

int main() {
    const int MAX_AGE = 100;    // 정수형 상수 선언 및 초기화
    const float PI = 3.14;      // 실수형 상수 선언 및 초기화

    printf("Max Age: %d\n", MAX_AGE);
    printf("Pi: %.2f\n", PI);

    // MAX_AGE = 120;  // 오류: 상수의 값을 변경할 수 없음

    return 0;
}

결과

Max Age: 100
Pi: 3.14

3. 입력과 출력 (Input and Output)

C 언어에서는 표준 입출력 라이브러리 <stdio.h>를 사용하여 데이터를 입력받고 출력할 수 있습니다. 입력과 출력을 위해 자주 사용되는 함수는 printf와 scanf입니다. 이전 포스팅에서 Hello, world를 출력할 때 작성했던 코드와 유사합니다. printf와 scanf 함수의 형식은 아래와 같습니다.

  • int printf(const char * restrict format, ...);
  • int scanf(const char * restrict format, ...);

입력 예제

#include <stdio.h>

int main() {
    int age;
    float height;

    printf("Enter your age: ");
    scanf("%d", &age);     // 정수형 입력

    printf("Enter your height: ");
    scanf("%f", &height);  // 실수형 입력

    printf("Your age is %d and your height is %.1f\n", age, height);

    return 0;
}

 

??? 갑자기 모르는 기호가 나왔죠? 변수명 앞에 붙은 '&' 기호는 무슨 의미일까요?

 

&는 바로 메모리 주소를 가리키는 기호입니다. &age를 해석해보자면 age 변수가 위치한 메모리 공간의 주소, 즉 위치를 가리킵니다. 따라서 scanf 함수는 정수형 입력을 age 변수가 위치한 메모리 공간에 저장한다는 의미가 됩니다.

 

%d는 형식지정자라고 하는 것인데요 이 형식지정자는 추후에 추가로 설명하도록 하겠습니다. 여기에서는 그냥 정수형 입력이구나라고 하고 넘어가시길 바라겠습니다.

결과 (사용자 입력: 25, 5.9)

Enter your age: 25
Enter your height: 5.9
Your age is 25 and your height is 5.9

출력 예제

출력 예제는 간단합니다. 바로 변수를 출력의 파라미터로 제공하면 끝입니다. 앞서 말씀드린 형식지정자는 여기에서는 그냥 넘어가는 것으로 하겠습니다.

#include <stdio.h>

int main() {
    int age = 25;
    float height = 5.9;

    printf("Age: %d\n", age);          // 정수형 출력
    printf("Height: %.1f\n", height);  // 실수형 출력

    return 0;
}

결과

코드 복사
Age: 25
Height: 5.9

4. 변수와 상수의 활용 예제

다음은 변수와 상수, 입력과 출력을 모두 활용한 간단한 예제입니다. 사용자로부터 반지름을 입력받아 원의 넓이를 구하는 프로그램입니다.

예제: 원의 면적 계산기

#include <stdio.h>

int main() {
    const float PI = 3.14159;   // 상수 선언
    float radius, area;         // 변수 선언

    printf("Enter the radius of the circle: ");
    scanf("%f", &radius);       // 반지름 입력

    area = PI * radius * radius;  // 면적 계산

    printf("The area of the circle with radius %.2f is %.2f\n", radius, area);  // 결과 출력

    return 0;
}

결과 (사용자 입력: 5):

Enter the radius of the circle: 5
The area of the circle with radius 5.00 is 78.54

결론

이번 포스팅에서는 C 언어의 기본 개념인 변수와 상수, 그리고 입력과 출력에 대해 살펴보았습니다. 변수를 통해 데이터를 저장하고 조작하는 방법, 상수를 통해 변경되지 않는 값을 사용하는 방법, 그리고 printf와 scanf 함수를 통해 데이터를 출력하고 입력받는 방법을 학습했습니다. 이러한 기초 개념을 확실히 이해하고 나면, 더 복잡한 프로그램을 작성하는 데 큰 도움이 될 것입니다.


앞으로의 포스팅에서는 제어 구조, 배열, 함수 등 더 복잡한 C 언어의 개념을 다루며, 여러분의 C 언어 실력을 한층 더 높일 수 있도록 도와드리겠습니다. C 언어의 기초를 탄탄히 다져서 더 넓은 프로그래밍의 세계로 헤엄쳐 갔으면 좋겠습니다!


도움이 되셨다면 공감 부탁드리겠습니다. 여러분의 공감이 정말 큰 힘이 됩니다.


감사합니다

반응형