지지나

C# 프로그래밍 기초 - 연산자 본문

기획자의 프로그래밍 걸음마/C#

C# 프로그래밍 기초 - 연산자

Gygyna 2020. 6. 15. 22:35

C#에서 연산자 수업은 꽤 쉬었다.

엑셀이랑 비슷하고 아아주 기본적이서인지 강의를 듣는데 전혀 무겁지 않았던 느낌이랄까? 

 

[산술연산자]

+덧셈  -뺄셈  *곱셈  /나눗셈(정수부분의 몫만 구함)  %(나누기 한 결과의 나머지값 계산) 

 

각각 볼 건데 +의 경우 숫자의 합 뿐만 아니라 문자를 연결하는 기능도 있다. 

 

+를 문자열 연결 연산자로 사용한 예시

 

산술 연산자를 좀 더 사용해볼까요? 확실히 이미 한 눈에 답이 보이는 난이도이지요? ㅋㅋ

 

마지막에 나눗셈에서 103을 5로 나누었으니 몫(/)으로 20, 나머지(%)로 3이 처리되어 나온 것을 확인 할 수 있어요. 

 

[관계연산자]

>   <   >=   <=   ==~와 같다   !=~와 같지 않다    ☞ 이 조건에 맞으면 True, 틀리면 False 값을 출력한다. 

 

b+5 는 10이고, a는 5 이므로 둘은 같지 않다고 말하는 result1은 참이므로 True가,

둘은 같다고 말하는 result2은 거짓이므로 False가 출력됨을 알 수 있다. 

 

{0} 는 인자(parameter)라고 하며, 뒤에 나오는 식 a>b, a>=b, c-5==a 을 담는 그릇을 말합니다.  

왜냐하면 저 식들은 변수로 선언을 하지 않았기 때문이에요!

 

중간에 인자를 빼면 어떻게 되나 해 보았는데, 글자만 출력이 되고 계산 결과는 출력이 되지 않았어요. 

 

[논리연산자]

! 는 참을 거짓으로, 거짓을 참으로 변환시켜줌

&& 는 AND로 조건이 모두 만족되어야 결과가 참, || 는 OR로 여러 조건중 하나만 만족되면 결과가 참

 

이것 역시 간단하게 예시를 해 보았어요.

l 과 r 변수는 같은 식을 썼지만 AND 조건이냐, OR 조건이냐에 따라 결과가 다르네 나옴을 확인 할 수 있습니다.

 

한 번 출력시, 변수가 여러개임에 따라 인자 {} 그릇명이 달라진다

 

프로그래밍 공부할때 인강 듣고 직접 해보는데 시간이 차아아암 많이 걸린다.

얼핏 강의만 들으면 다 아는 내용같고, 그냥 넘어가도 될 거 같았어도 직접 하면 오류가 난다. 

왜 오류가 났는지 잘 생각해보자! 

수학문제 직접 풀면서 공부하라는 것과 비슷한 맥락이랄까?

 

[조건연산자]

C언어의 3항 연산자와 같은 것으로, 3개의 피연산자로 구성 된다. 

어떻게 생겼을까?

조건식? 참일때 수행 값 : 거짓일때 수행 값

 

조건 연산자는 조건이 들어가서인지 조금 헷갈렸다ㅋㅋ

별것도 아닌데 =에 따라 오류가 나기도 하는데 아직 개념이 안 잡혀서인지 자꾸 버벅대 연습을 해 보았다. 

 

 

a % 5 = 0 이므로, True 값인 5의 배수를 출력

a는 20이고, 이를 5로 나누면 나머지%가 0이 된다. 

아래는 일부러 틀린 조건을 주어서 Fales 값이 출력되도록 해 보았다. 

 

출력한 값이 웃기다ㅋㅋㅋㅋㅋ

 

a % 5 = 0 인데 설정한 조건은 Fales 이므로 5의 배수가 아님을 출력

 

[증가/감소 연산자]

피연산자의 값을 1 증가시키거나, 1 감소시킨다. 

++피연산자   피연산자값을 먼저 증가시킨 후, 다른 작업 수행

피연산자++   다른 작업을 먼저 수행 한 후, 피연산자값을 증가

--피연산자   피연산자값을 먼저 감소시킨 후, 다른 작업 수행

피연산자--   다른 작업을 먼저 수행 한 후, 피연산자값을 감소

 

피연산자++는 다른 작업을 먼저 수행한 후에 1 증가시키는 것이므로, Console.WriteLine(a++) 출력에서는 값이 증가하지 않다가 그 후 Console.WriteLine(a) 로 보면 증가된 것을 볼 수 있습니다. 

 

[할당연산자]

변수에 값을 할당하는 작업을 수행한다. 

=   오른쪽 피연산자를 왼쪽 피연산자에 할당

+=   피연산자에 특정 값을 더한 후 그 결과를 해당 피연산자에 누적

(a=a+3; 은 a+=3; 과 같다.  a=a+b; 는 a+=b; 와 같다)

 

a-=3 이라면, a에서 3을 뺀 다음, 그 뺀 결과를 a에 집어 넣어라 라는 뜻입니다. 저는 이 부분이 은근 헷갈려요ㅠㅠ

 

결과를 이것저것 출력해 보았어요. 

 

빨간 부분은 이미 위에서 b-- 을 했으므로, 16-5=11 이 된 것이고,

그 아래에 False 가 나온 것은 b -=5 를 한 번 더 해서 11에서 5를 뺐으니 6이 되었는데 이게 11과 같니? 라고 물었으니 False 가 나온 것 입니다. 

Comments