C:Variable, Operator

aiden·2023년 3월 14일
0

C

목록 보기
2/28

Variables

간단한 계산 프로그램을 만들어보자.

#include <stdio.h>

int main(void) {
	3 + 4;
	return 0;
}

이 코드는 문제 없이 실행된다. 하지만 아무것도 출력되지 않는다. 이 프로그램에서는 덧셈을 요구하기만 했지, 덧셈한 결과를 어디에도 저장하지 않았고, 결과를 출력하라는 명령도 내리지 않았다. 정말 덧셈만 한 것이다. 그렇다면 우리는 연산의 결과를 어떠한 공간에 저장하여 필요할 때 꺼내 쓸 수 있어야 할 것이다.
이 때 필요한 것이 바로 변수(variable)이다.

👉🏻값을 저장할 수 있는 메모리 공간을 변수라 한다.

변수를 선언한 후 그 변수의 이름을 통해 값을 저장하고 참조할 수 있다.

#include <stdio.h>

int main(void){
	int num;
    num = 20;
    printf("%d\n", num);
}

20

int num; 문장이 바로 변수의 선언문이다. 이 문장을 살펴보면, int는 변수의 자료형인 정수를 저장할 수 있는 메모리 공간을 할당한다는 의미이고, num은 변수(메모리 공간)의 이름이다.
num = 20에서 = 은 대입연산자로, 값의 대입을 의미한다. num이라는 변수에 20을 대입한다는 의미이다.

이 때, 선언된 변수에 처음으로 값을 저장하는 것을 초기화라고 한다. 초기화 이후에 값을 변경하는 것은 대입/대입연산이라 한다.
C언어에서는 변수 선언과 동시에 초기화하는 것이 가능하다. 또, 여러 변수를 한 문장에 같이 선언하거나 초기화할 수 있다.

#include <stdio.h>

int main(void) {
    int num; //변수 선언
    num = 20; //변수 초기화
    num = 30; //대입연산

    int num0 = 40;

    int num1, num2;
    num1 = 10, num2 = 90;
    
    int num3 = 70, num4 = 100;
}

📌 변수 이름 규칙

변수를 선언할 때, 변수의 이름은 어떻게 정해야 할까?
프로그래머 마음이다. 하지만 오류가 나지 않도록 규칙을 지켜야 하며 오류가 나지 않더라도 관례를 따르는 것이 보통이다.
아래의 규칙은 반드시 지켜야 할 규칙이다.

📍변수의 이름은 알파벳, 숫자, 언더바로 구성된다.
📍C언어는 대소문자를 구분한다.
📍변수의 이름은 숫자로 시작할 수 없다.
📍이름 사이에 공백이 들어갈 수 없다.
📍키워드는 변수의 이름으로 사용할 수 없다.

변수를 선언할 때, 변수의 이름은 의미를 부여하여 짓는 것이 좋다. 코드가 길어지거나 다른 사람과 협업을 할 때, 이름을 임의로 붙인다면 이 변수가 무엇을 뜻하는지 알기 어렵다.

Operators

C언어에서 제공하는 연산자들에 대해 알아보겠다.

대입 연산자(=)

대입 연산자는 오른쪽에 있는 값을 왼쪽 변수에 대입한다.

산술 연산자(+, -, *, /, %)

+ : 두 피연산자의 값을 더한다.
- : 왼쪽의 피연산자 값에서 오른쪽 피연산자의 값을 뺀다.
* : 두 피연산자 값을 곱한다.
/ : 왼쪽의 피연산자 값을 오른쪽 피연산자 값으로 나눈다. 정수끼리 연산할 경우 몫이 나온다.
% : 나머지 연산. 정수 연산만 가능하다.

👉🏻함수 호출 시 인자로 연산식을 전달할 수 있다.
ex) printf("%d", 3 + 5);

👉🏻+, - 는 부호의 의미를 갖기도 한다.
ex) +2, -3

증가, 감소 연산자

증가, 감소 연산자는 매우 많이 사용되므로 알아두어야 한다.

전위 연산

++num : 1 증가 후 문장의 나머지 연산 진행
--num : 1 감소 후 문장의 나머지 연산 진행

후위 연산

num++ : 문장의 연산 진행 후 1 증가
num-- : 문장의 연산 진행 후 1 감소

관계 연산자(<, >, ==, !=, >=, <=)

관계 연산자들은 조건을 만족하면 참(1), 만족하지 않으면 거짓(0)을 반환한다.

👉🏻C언어에서 0은 거짓, 0이 아닌 모든 값들은 참이다.

논리 연산자(&&, ||, !)

&& : 논리곱 and
|| : 논리합 or
! : not

콤마 연산자(,)

둘 이상의 변수 동시 선언, 여러 인자를 함수로 전달, 둘 이상의 문장을 한 줄에 작성할 때 등의 상황에 사용한다.

복합 대입 연산자

복합 대입 연산자는 매우 편리하여 자주 사용하므로, 알아두는 것이 좋다.

*=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=

a = b : a = a b
a /= b : a = a / b
a %= b : a = a % b
a += b : a = a + b
a -= b : a = a - b


변수와 연산자에 대해 알아보았다. 연산자의 우선순위를 알아둘 필요가 있는데, 포스팅에서는 다루지 않고 실습을 통해 연습할 것이다. 다음에는 데이털 표현 방식과 자료형에 대해 공부하겠다.

profile
파인애플 좋아하세요?

0개의 댓글