일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ADP
- 기초강의
- Python
- 에어플로우 기초강의
- mlops
- c
- 웹개발
- flask
- cpp
- 플라스크
- 장고
- 파이썬강의
- 장고 기초 강의
- 개발자
- airflow
- docker
- 개발자취업
- C언어
- 개발언어
- 쇼핑몰예제
- 파이썬 장고
- 프로그래밍
- c++
- Django
- 도커
- 예제프로젝트
- 인공지능
- 장고 튜토리얼
- 도커 컴포즈
- 파이썬
- Today
- Total
TITEDIOS 편한 코딩
C 기초강의: #6 연산자 (1) 본문
C 프로그래밍에서 다양한 연산자가 사용됩니다. 이들 연산자는 데이터의 계산, 비교, 할당 등에 사용되어 프로그램의 논리와 흐름을 제어합니다. 이 포스트에서는 산술 연산자, 대입 연산자, 나누기 및 나머지 연산자, 증감 연산자에 대해 설명하겠습니다.
1. 산술 연산자
산술 연산자는 기본적인 수학 연산을 수행하는 데 사용됩니다.
- + (더하기): 두 피연산자를 더합니다.
- - (빼기): 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다.
- * (곱하기): 두 피연산자를 곱합니다.
- / (나누기): 첫 번째 피연산자를 두 번째 피연산자로 나눕니다.
- % (나머지): 첫 번째 피연산자를 두 번째 피연산자로 나눈 후 나머지를 반환합니다.
int a = 10, b = 3;
int sum = a + b; // 13
int difference = a - b; // 7
int product = a * b; // 30
int quotient = a / b; // 3
int remainder = a % b; // 1
2. 대입 연산자
대입 연산자는 변수에 값을 저장하는 데 사용됩니다. 단순 대입(=) 외에도 연산 후 대입을 수행하는 복합 대입 연산자가 있습니다.
- = (대입): 오른쪽의 값을 왼쪽 변수에 저장합니다.
- +=, -=, *=, /=, %= 등: 기존 값에 연산 후 그 값을 다시 대입합니다.
int x = 5;
x += 2; // x = x + 2; 결과는 7
x *= 3; // x = x * 3; 결과는 21
3. 나누기 연산자 (/)
나누기 연산자는 두 숫자를 나누는 데 사용됩니다. 정수형 피연산자에서 사용할 경우 정수 나누기를 수행하며, 결과는 소수점을 버린 값이 됩니다.
int c = 9, d = 2;
int result = c / d; // 4 (정수 나누기)
4. 나머지 연산자 (%)
나머지 연산자는 두 숫자를 나눈 나머지를 반환합니다. 주로 짝수/홀수 검사나 주기적 계산에 사용됩니다. 예를 들어 7을 나머지 연산자를 적용한다면 7을 주기로하는 어떤 작업을 수행할 수 있습니다.
int e = 9, f = 2;
int remainder = e % f; // 1
5. 증감 연산자
증감 연산자는 변수의 값을 1씩 증가시키거나 감소시키는 데 사용됩니다. ++와 --는 전위(prefix)와 후위(postfix) 형태로 사용됩니다. 전위와 후위 표기에 따라 변수의 사용 및 증감에 선후가 있어 사용에 주의가 요구됩니다. 다만, 순서에 맞게 사용한다면 간단한 형태로 사용할 수 있기 때문에 많이 사용하실 것입니다.
- ++ (전위 증가): 변수의 값을 먼저 증가시키고 사용합니다.
- -- (전위 감소): 변수의 값을 먼저 감소시키고 사용합니다.
- ++ (후위 증가): 변수의 현재 값을 사용한 후 증가시킵니다.
- -- (후위 감소): 변수의 현재 값을 사용한 후 감소시킵니다.
int g = 5;
int h = ++g; // g는 6이 되고, h도 6이 됩니다.
int i = g--; // i는 6이 되고, g는 5가 됩니다(g는 이미 증가되어 6인 상태).
여러번 사용한다면요?
int a = 10;
b = (a++) + a + (++a);
printf(b);
예를 들어 이렇게 증감연산자를 여러번 사용하면 어떻게 될까요? 정답은 "알 수 없다" 입니다. 컴파일러에 따라 동작 순서가 달라질 수 있기 때문입니다. 따라서, 증감연산자는 여러 번 사용하는 것보다 한번에 하나씩만 사용하는 것이 좋습니다.
6. 계산기 예제
산술 연산자를 공부했으니 역시 계산기 예제를 해보겠습니다. 아래의 예제를 통해 계산기를 구현할 수 있습니다. 지금까지 배웠던 입출력 함수와 산술 연산자가 어떻게 쓰이는지에 대해 집중하여 살펴보시면 좋겠습니다.
#include <stdio.h>
int main() {
char operator;
double num1, num2;
printf("연산자를 입력하세요 (+, -, *, /): ");
scanf(" %c", &operator);
printf("두 개의 숫자를 입력하세요: ");
scanf("%lf %lf", &num1, &num2);
switch (operator) {
case '+':
printf("%.2lf + %.2lf = %.2lf\n", num1, num2, num1 + num2);
break;
case '-':
printf("%.2lf - %.2lf = %.2lf\n", num1, num2, num1 - num2);
break;
case '*':
printf("%.2lf * %.2lf = %.2lf\n", num1, num2, num1 * num2);
break;
case '/':
if(num2 == 0) {
printf("Zero Division!!!"); // 0으로 나누는 에러
} else {
printf("%.2lf / %.2lf = %.2lf\n", num1, num2, num1 / num2);
}
break;
default:
printf("Invalid operator");
break;
}
}
결론
이 연산자들을 잘 이해하고 활용하면, 더 복잡하고 강력한 로직을 작성할 수 있습니다. 연산자 우선순위와 결합 법칙을 잘 숙지하는 것도 중요합니다.
도움이 되셨다면 공감 부탁드리겠습니다. 여러분의 공감이 정말 큰 힘이 됩니다.
감사합니다
'C++' 카테고리의 다른 글
C 기초강의: #8 연산자 (3) (0) | 2024.08.11 |
---|---|
C 기초강의: #7 연산자 (2) (0) | 2024.08.10 |
C 기초강의: #5 변수와 상수, 입력과 출력 (0) | 2024.08.03 |
C 기초강의: #4 Hello, World - 프로그래머의 영원한 친구 (2) | 2024.07.28 |
C 기초강의: #3 MinGW 설치 (0) | 2024.07.27 |