[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.2) 연산자
「1」 소프트웨어 설계
「2」 소프트웨어 개발
「3」 데이터베이스 구축
> 「4」 프로그래밍 언어 활용
- 서버 프로그램 구현, > 프로그래밍 언어 활용, 응용 SW 기초 기술 활용
「5」 정보시스템 구축 관리
1 데이터 타입
2 변수
> 3 연산자
4 데이터 입 / 출력
5 제어문
6 반복문
7 배열과 문자열
8 포인터
9 구조체
10 Python의 기초
11 Python의 활용
12 스크립트 언어
13 라이브러리
14 예외 처리
3. 연산자
산술 연산자
산술 계산에 사용되는 연산자, 일반 산술식과 한 변수의 값을 증가하거나 감소시키는 증감 연산자
+ : 덧셈
- : 뺄셈
* : 곱셈
/ : 나눗셈
% : 나머지
++ : 증가 연산자
-- : 감소 연산자
ex)
a = 2, b = 3, c = 4,
c = ++a * b++
// c = ++2 * 3++ (연산 후 a = 3, b = 4)
// c = 3 * 3 = 9
관계 연산자
두 수의 관계를 비교하여 참(true) 또는 거짓(false)을 결과로 얻는 연산자, 거짓은 0, 참은 1(모든 숫자)
== : 같다
!= : 같지 않다
> : 크다
>= : 크거나 같다
< : 작다
<= : 작거나 같다
ex)
a = 10,
a <= 10
// 10 <= 10 = true
비트 연산자
비트별(0, 1)로 연산하여 결과를 얻는 연산자
& : and, 모든 비트가 1일 때만 1
^ : xor, 모든 비트가 같으면 0, 하나라도 다르면 1
| : or, 모든 비트 중 한 비트라도 1이면 1
~ : not, 각 비트의 부정, 0이면 1, 1이면 0
≪ : 왼쪽 시프트, 비트를 왼쪽으로 이동, r ≪ n = r * 2ⁿ
≫ : 오른쪽 시프트, 비트를 오른쪽으로 이동, r ≫ n = r / 2ⁿ
ex)
a = 5,
a ≪ 3
// 5 ≪ 3 = 5 * 2³ = 40
논리 연산자
두 개의 논리 값을 연산하여 참(true) 또는 거짓(false)을 결과로 얻는 연산자
! : not, 부정
&& : and, 모두 참이면 참
|| : or, 하나라도 참이면 참
ex)
d = 1, e = 1,
++d && --e
// ++1 && --1 (연산 후 d = 2)
// 2 && 0 = 참 && 거짓 = 거짓 = 0
대입 연산자
연산 후 결과를 대입하는 연산식을 간략하게 입력하도록 함, 산술, 관계, 비트, 논리 연산자에 모두 적용 가능
+= : a = a + 1
-= : a = a - 1
*= : a = a * 1
/= : a = a / 1
%= : a = a % 1
≪= : a = a ≪ 1
≫= : a = a ≫ 1
ex)
a = 2, b = 3, c = 4, d = 5,
c *= d ≪= (b == ++a)
// c *= d ≪= b == ++2
// c *= d ≪= 3 == 3 (연산 후 a = 3)
// c *= d ≪= 1
// c *= d = 5 ≪ 1
// c *= 5 * 2¹
// c = 4 * 10 = 40
조건 연산자
조건에 따라 서로 다른 수식 수행
조건 ? 수식1 : 수식2;
'조건'의 수식이 참이면 '수식1', 거짓이면 '수식2' 실행
ex)
a = 1, b = 2, c = 3, d = 4,
a += ++a % b++ ? c * d : b / c
// a += ++a % 2++ ? c * d : b / c (연산 후 b = 3)
// a += ++1 % 2 ? c * d : b / c (연산 후 a = 2)
// a += 2 % 2 ? 3 * 4 : 3 / 3
// a += 0 ? 12 : 1
// a += 1
// a = a + 1 = 2 + 1 = 3
기타 연산자
sizeof : 자료형의 크기 표시
.(콤마) : 콤마로 구분하여 한 줄에 두 개 이상의 수식 작성, 변수 정의, 왼쪽에서 오른쪽으로 수행, == 순서 연산자
(자료형) : 다른 자료형으로 변환할 때 사용, == cast(캐스트) 연산자, 변환할 값, 변수명 앞에 괄호 안에 변환할 자료형 넣음
연산자 우선순위
대분류 | 중분류 | 연산자 | 결합규칙 | 우선순위 |
단항 연산자 | 단항 연산자 | ! ~ ++ -- sizeof | ← | 높음 ↑ ↓ 낮음 |
이항 연산자 | 산술 연산자 | * / % | → | |
+ - | ||||
시프트 연산자 | ≪ ≫ | |||
관계 연산자 | < <= >= > | |||
== != | ||||
비트 연산자 | & ^ | | |||
논리 연산자 | && || | |||
삼항 연산자 | 조건 연산자 | ? : | → | |
대입 연산자 | 대입 연산자 | = += -= *= /= ≪= ≫= | ← | |
순서 연산자 | 순서 연산자 | , | → |
ex)
a = 3, b = 4, c = 5, d = 6
d % b + ++a * c-- || c - --a >= 10
// d % b + ++a * c-- || c - --3 >= 10 (연산 후 a = 2)
// d % b + ++a * 5-- || c - 2 >= 10 (연산 후 c = 4)
// d % b + ++2 * 5 || c - 2 >= 10 (연산 후 a = 3)
// d % b + 3 * 5 || c - 2 >= 10
// 6 % 4 + 3 * 5 || 4 - 2 >= 10
// 2 + 15 || 2 >= 10
// 17 || 0
// 1
출처 | <시나공> 정보처리기사 필기 2024 기본서 (길벗알앤디)
'💠기타 > 자격증' 카테고리의 다른 글
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.4) 제어문, 반복문, 배열과 문자열 (생략) (0) | 2024.02.14 |
---|---|
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.3) 데이터 입 / 출력 (2) | 2024.02.14 |
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.1) 데이터 타입, 변수 (0) | 2024.02.13 |
[정처기 필기] 「4」 | 서버 프로그램 구현 - (1.1) 서버 개발, 보안 / API, 배치 프로그램 (1) | 2024.02.13 |
[정처기 필기] 「3」 | 데이터 전환 - (5.1) 데이터 전환, 전환 방안, 검증, 오류 데이터 측정 / 정제 (2) | 2024.02.13 |