사이먼's 코딩노트
[C언어] 변수 본문
[변수]
- 변수는 데이터를 저장할 수 있는 특정 공간이라고 생각하면 좋다.
- 변수에는 공간이 매우 작기 때문에 값을 하나만 넣을 수 있다.
- 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 |