사이먼's 코딩노트

[C언어] 변수 본문

C언어

[C언어] 변수

simonpark817 2024. 1. 17. 21:17

[변수]

  • 변수는 데이터를 저장할 수 있는 특정 공간이라고 생각하면 좋다.
  • 변수에는 공간이 매우 작기 때문에 값을 하나만 넣을 수 있다.
  • C언어에서 정수 타입을 가진 변수를 선언하고 싶다면 int x; 와 같이 작성하면 된다.
  • 여기서 말하는 int는 integer의 줄임말이며 정수를 뜻한다.
  • 변수 2개를 선언하고 각 변수에 숫자를 부여하는 구조는 아래와 같다.
#include <stdio.h>
int main(void) {

    int x;                  // x라는 변수 선언
    int y;                  // y라는 변수 선언

    x = 30;               // x에 30이라는 숫자를 넣는다.
    y = 20;               // y에 20이라는 숫자를 넣는다.

    printf("x의 값은 %d, y의 값은 %d이다", x, y);

    return 0;
}

 

  • 위 예시에서 // 하고 뒤에 씌여진 문장은 주석처리 되어있기 때문에 코드 동작 시 실제로 실행되지는 않는다.
  • 변수 2개를 선언하고 하나의 출력문에 같이 출력할 때는 %d를 사용하고 " " 뒤에 해당 변수를 넣는다.
  • " " 뒤에 변수를 넣을 때는 해당되는 %d의 개수에 맞춰 넣어줘야한다.
  • printf("x의 값은 %d, y의 값은 %d이다", x, x); 은 가능printf("x의 값은 %d, y의 값은 %d이다", x); 은 불가능
  • C언어에서 = 은 같다라는 의미가 아니고 ~에 속한다 라고 생각하면 좋다.
  • 같은 이름의 변수를 두 번 이상 선언하거나 특수문자로 변수를 지정하면 에러가 난다.

 

[문제 1]

  • C언어를 활용하여 변수 a와 b의 값을 교체해보자.

문제풀이

 

  • 처음 변수 a, b를 선언할 때 a는 20, b는 40이라는 값을 주었다.
  • 문제의 목적은 변수 a와 b의 값을 교체하는 것이고 결과적으로 a는 40, b는 20이 출력되어야 한다.
  • 변수의 값을 교체하기 위해선 a에 40, b에 20이라는 값을 직접 넣어주거나, 사칙연산을 사용하여 a에 20을 더하고, b에 20을 빼는 방법이 있다.

 

[문제 2]

  • C언어를 활용하여 변수 a와 b의 값을 교체해보자. 단, 사칙연산과 숫자를 사용하지 않고 교체해보자.

문제풀이

 

  • 처음 변수 a, b를 선언할 때 a는 20, b는 40이라는 값을 주었다.
  • 문제의 목적은 변수 a와 b의 값을 교체하는 것이지만, 사칙연산과 숫자를 쓰지 않는 조건이다.
  • 사칙연산과 숫자를 쓰지 않기 위해서는 a와 b를 서로 swap 해야한다.
  • swap 즉, 교환하기 위해서는 새로운 변수를 하나 추가해야한다.
  • c라는 변수를 추가하고 기존 a에 있던 20을 c에 넣어준다. 그럼 현재 a와 c에는 20이라는 값이 들어있다.
  • a에는 40이라는 값이 들어가야되기 때문에 현재 b에 40이라는 값이 있어 a = b를 사용해서 a에 40이라는 값을 넣는다.
  • 마지막으로 b에는 20이라는 값이 들어가야되기 때문에 새로 추가했던 변수 c에 20이라는 값이 있어 b = c를 사용해서 b에 20이라는 값을 넣는다.
반응형

'C언어' 카테고리의 다른 글

[C언어] 함수 문제풀이(1)  (0) 2024.01.24
[C언어] 함수  (1) 2024.01.23
[C언어] 반복문(for, while)  (0) 2024.01.19
[C언어] 연산자 / 조건문(if, else if, else)  (0) 2024.01.19
[C언어] C언어 기본구조 / printf  (0) 2024.01.16