반응형
4장: 표현식 (Expressions)
4.1 표현식이란?
표현식(Expressions)은 값을 계산하기 위한 연산자와 피연산자의 조합입니다.
예를 들어, 다음은 표현식입니다:
3 + 5 // 8을 계산하는 표현식
x * y // 변수 x와 y의 곱
4.2 연산자와 피연산자
연산자 (Operators)
연산자는 데이터를 처리하고 결과를 계산하는 기호입니다.
예: +, -, *, /, %
피연산자 (Operands)
연산자의 입력값이 되는 데이터입니다.
예: 3, 5, x, y
4.3 산술 연산자
C 언어는 기본 산술 연산을 지원합니다:
연산자 설명 예시
+ | 덧셈 | 3 + 2 = 5 |
- | 뺄셈 | 5 - 3 = 2 |
* | 곱셈 | 4 * 2 = 8 |
/ | 나눗셈 (몫) | 8 / 3 = 2 (정수) 또는 2.66667 (실수) |
% | 나머지 연산 | 8 % 3 = 2 |
예제: 산술 연산
#include <stdio.h>
int main(void) {
int a = 10, b = 3;
printf("덧셈: %d\n", a + b);
printf("뺄셈: %d\n", a - b);
printf("곱셈: %d\n", a * b);
printf("나눗셈: %d\n", a / b); // 정수 나눗셈
printf("나머지: %d\n", a % b);
return 0;
}
4.4 관계 연산자
관계 연산자는 두 값 간의 크기를 비교하여 참(1) 또는 **거짓(0)**을 반환합니다.
연산자 설명 예시
== | 두 값이 같음 | a == b |
!= | 두 값이 다름 | a != b |
> | 왼쪽이 큼 | a > b |
< | 오른쪽이 큼 | a < b |
>= | 왼쪽이 크거나 같음 | a >= b |
<= | 오른쪽이 크거나 같음 | a <= b |
예제: 관계 연산자
#include <stdio.h>
int main(void) {
int x = 5, y = 10;
printf("x == y: %d\n", x == y);
printf("x != y: %d\n", x != y);
printf("x > y: %d\n", x > y);
printf("x < y: %d\n", x < y);
printf("x >= y: %d\n", x >= y);
printf("x <= y: %d\n", x <= y);
return 0;
}
4.5 논리 연산자
논리 연산자는 참(1) 또는 거짓(0) 값을 결합하거나 뒤집습니다.
연산자 설명 예시
&& | 논리 AND (둘 다 참일 때 참) | a && b |
` | ` | |
! | 논리 NOT (값을 뒤집음) | !a |
예제: 논리 연산자
#include <stdio.h>
int main(void) {
int a = 1, b = 0;
printf("a && b: %d\n", a && b); // 둘 다 참이어야 참
printf("a || b: %d\n", a || b); // 하나라도 참이면 참
printf("!a: %d\n", !a); // a를 뒤집음
return 0;
}
4.6 증감 연산자
증감 연산자는 변수의 값을 1씩 증가 또는 감소시킵니다.
연산자 설명 예시
++ | 1 증가 | a++ 또는 ++a |
-- | 1 감소 | a-- 또는 --a |
전위와 후위 연산
- 전위(++a, --a): 값을 먼저 증가/감소한 뒤 사용.
- 후위(a++, a--): 값을 사용한 뒤 증가/감소.
예제: 증감 연산자
#include <stdio.h>
int main(void) {
int x = 5;
printf("x: %d\n", x);
printf("전위 증가: %d\n", ++x); // x를 먼저 증가
printf("후위 증가: %d\n", x++); // x를 출력한 후 증가
printf("현재 x: %d\n", x);
return 0;
}
출력 결과:
x: 5
전위 증가: 6
후위 증가: 6
현재 x: 7
4.7 할당 연산자
할당 연산자는 변수에 값을 저장하거나, 연산 결과를 저장하는 데 사용됩니다.
연산자 설명 예시
= | 값을 할당 | x = 5 |
+= | 더해서 할당 | x += 3 (x = x + 3) |
-= | 빼서 할당 | x -= 2 (x = x - 2) |
*= | 곱해서 할당 | x *= 2 (x = x * 2) |
/= | 나눠서 할당 | x /= 2 (x = x / 2) |
%= | 나머지 계산 후 할당 | x %= 3 (x = x % 3) |
예제: 할당 연산자
#include <stdio.h>
int main(void) {
int x = 10;
x += 5; // x = x + 5
printf("x += 5: %d\n", x);
x *= 2; // x = x * 2
printf("x *= 2: %d\n", x);
x -= 4; // x = x - 4
printf("x -= 4: %d\n", x);
return 0;
}
4.8 연산자 우선순위
연산자가 여러 개 있는 표현식에서는 우선순위에 따라 계산 순서가 결정됩니다.
우선순위 연산자 설명
1 | () | 괄호 |
2 | !, ++, -- | 논리 NOT, 증감 연산자 |
3 | *, /, % | 곱셈, 나눗셈, 나머지 |
4 | +, - | 덧셈, 뺄셈 |
5 | >, <, == | 관계 연산자 |
6 | && | 논리 AND |
7 | ` | |
8 | = | 할당 연산자 |
4장은 C 언어의 연산자와 표현식에 대해 다루고 있습니다. 추가적인 예제나 심화된 설명이 필요하면 말씀해주세요! 😊
반응형
'Computer Science > C 언어' 카테고리의 다른 글
[C #6] 반복문 (Loops) (0) | 2024.12.04 |
---|---|
[C#5] 조건문 (Selection Statements) (1) | 2024.12.03 |
[C#3] 포맷 입력과 출력 (Formatted Input/Output) (0) | 2024.12.01 |
[C#2] C의 기초 (C Fundamentals) (1) | 2024.11.30 |
[C#1] C 언어의 기초: 역사와 특징 (1) | 2024.11.29 |