연산자
1. 연산자
C 언어 기준으로 작성됨
다른 프로그래밍 언어도 공통적으로 사용하는 연산자가 있으나 기호나 문법이 조금씩 다름
(1) 산술 연산자
+ 더하기 - 빼기 *곱하기 / 나누기
** 제곱
// 몫 % 나머지
++ 증가 연산자--감소 연산자
++a전치(연산 전 증감) a++ 후치(연산 후 증감)
(2) 시프트 연산자
<< 비트 왼쪽 시프트 ex) 00101 → 01010
>> 비트 오른쪽 시프트ex) 00101 → 00010
(3)관계 연산자
==, != 같다, 같지 않다
> ,>= 크다(초과), 크거나 같다(이상)
< ,<= 작다(미만), 작거나 같다(이하)
(4) 비트 연산자 20년 1, 2회 기출문제
- 비트별(0, 1)로 연산해 결과를 얻는 연산자
& and 모든 비트가 1일 때만 1
| or 모든 비트 중 한 비트라도 1이면 1
^ xor 모든 비트가 같으면 0, 하나라도 다르면 1
~ not 각 비트의 부정, 0이면 1, 1이면 0
(5) 논리 연산자
- 두 개의 논리 값을 연산하여 참(true, 1) 또는 거짓(false, 0)을 결과로 얻는 연산자
&& and 모두 참(1)이면 참(1)
|| or 하나라도 참(1)이면 참(1)
! not 부정
(6) 조건 연산자(삼항 연산자) 20년 3회 기출문제
- 조건에 따라 서로 다른 수식 수행 / if(?), else(:)
조건 수식 ? 값1 : 값2; //if 조건수식이면 값1 else 값2
→ ‘조건 수식’이 참(true, 1)이면 ‘값1’ 수행, 거짓(false, 0)이면 ‘값2’ 수행
a=3;
b=4;
answer= a>b ? a : b;
//answer = 4
// 3>4 -> False => answer=4
(7) 대입 연산자
위의 산술연산자, 비트 연산자를 대입하여 대입 연산함
사칙연산 적용 : +=, -=, *= , /=
%=
<<= , >>=
//cnt에 1 을 추가하기
cnt+=1
cnt =cnt+1
cnt++ // 증가 연산자
(8) 기타 연산자
sizeof 자료형의 크기 표시
, 왼쪽에서 오른쪽으로 순서대로 수행되며, 순서를 콤마로 구분, 순서 연산자
(자료형) 사용자가 자료형을 다른 자료형으로 변환할 때 사용하는 것 캐스트(cast) 연산자
a = (int)1.3 + (int)1.4;
//a = 2 //float에서 int 변환 1+1=2
2. 연산자 우선순위
연산자가 실행되는 우선순위
대분류 | 중분류 | 연산자 | 결합규칙 | 우선 순위 |
단항 연산자 | 단항 연산자 | !(논리 not) ~(비트 not) ++ -- sizeof |
← | 높음 ↑ ↓ 낮음 |
이항 연산자 | 산술 연산자 | * / % | → | |
+ - | ||||
시프트 연산자 | << >> | |||
관계 연산자 | < <= >= > | |||
== != | ||||
비트 연산자 | & ^ | |
|||
논리 연산자 | && || |
|||
삼항 연산자 | 조건 연산자 | ? : | → | |
대입 연산자 | 대입 연산자 | = += -= *= /= %= <<= >>= | ← | |
순서 연산자 | 순서 연산자 | , | → |
3. PHP 연산자 20년 4회 기출문제
@ 함수 사용시 발생되는 오류메시지를 표시하지 않음
<> 값이 서로 같지 않을 때 (!=)
= 값을 지정할 때 사용
== 두 값이 같은지 확인하기
=== 두 값이 같고, 형식도 같은지 확인하기 (좀 더 깐깐)
:: new 지시자로 class를 미리 객체화 시켜놓지 않고, 사용하는 시점에서 객체가 생성되고 지정된 method가 실행되도록
[정보처리기사] 개정된 정보처리기사 필기 목차
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]4.프로그래밍 언어 활용/프로그래밍 언어/포인터 (0) | 2022.07.02 |
---|---|
[정보처리기사]4.프로그래밍 언어 활용/프로그래밍 언어/배열과 리스트 (0) | 2022.07.02 |
[정보처리기사]4.프로그래밍 언어 활용/프로그래밍 언어/변수 (0) | 2022.07.02 |
[정보처리기사]4.프로그래밍 언어 활용/프로그래밍 언어/데이터 타입 (0) | 2022.07.02 |
[정보처리기사]4.프로그래밍 언어 활용/프로그래밍 언어/프로그래밍 언어 개요 (0) | 2022.07.02 |