c언어 연산자 알아보기

  혹시 덧셈 뺄셈 곱셈 나눗셈 등을 보고 연산자라고 하죠. 그것뿐만 아니라 = +=과 같은 대입연산자와 ++i 같은 증감연산자, && and ll or 같은 논리연산자가 있는데요. 오늘은 c언어에서 4칙연산을 하는 연산자와 증감연산자에 대해서 알아 보겠습니다.



  첫번째로는 4칙연산에 대한 연산자입니다. 덧셈과 뺄셈 곱셈은 별표를 왜냐하면 곱셈으로 하면 x와 헷갈릴 수 있다고 해서 이렇게 바꾸어 놓았습니다. 나누기는 / 그리고 나머지는 %로 정의해서 적어 주시면 됩니다.



  이번에는 증감연산자에 대해서 알아볼까요. 전치증감과 후치증감이 있습니다. 이말이 뭐냐하면 ++a는 a에다가 1을 더한 값을 출력하는 것이고 a++는 일단 a를 출력한 후에 1을 더하는 것입니다. 즉 두번째 b를 보시면 1을 더해서 6이나와야 될 것 같지만 5를 출력하고 지금 상태는 안보이지만 6인 것입니다. 그리고 c+=5는 c=c+5 즉 c에 c+5라는 값을 대입하라는 뜻입니다. 네번째 보시면 d=3*d가 되겠죠. 5에서 1증감시켰으니까 6이지만 출력값은 5이고 6곱하기 3은 18이니까 18이 나오겠죠?



  자 그럼 좀 더 업그레이드 해 보겠습니다. 이번에는 연습문제로 내겠습니다. 출력값을 내라는 문제인데요. 첫번째 두번째는 쉽지만 세번째 네번째는 어려운 것 같네요.ㅎㅎ



  이게 답입니다. 그럼 세번째 풀이를 하겠습니다. 일단 a는 6에서 3*a++이니까 3곱하기 6이겠죠? 18이겠죠? 일단 출력한 후에 더하는 후치증감이기 때문이죠. 그럼 거기다가 3을 더하면 21에다가 처음에 a는 6이니까 거기에 6을 더하면 27이 됩니다. 즉 여기서 a값은 27로 저장되었습니다. 그리고 거기서 4를 더하면 31 그러면 마지막으로 27저장된 곳에 31을 빼면 -4가 나옵니다.

  그리고 네번째는 a는 결국 -4이지만 위에서 a++가 하나 있었자나요.. 세번째그림에서 더하지 않은 것을 더해줘야 합니다. 그래서 -3에 또 ++a 전치 연산자로 한번 더했으니 -2가 됩니다. -2더하기 3을 a에 저장하는 것이니까 1이겠죠??



  천천히 몇번만 해 보시면 금방 아실 겁니다. 저도 내일 실컴 재시험인데.. 후딱 자고 내일 일어나서 다시 봐야 되겠습니다. 일단 오늘은 여기까지 하고 내일 빠샤 해야 되겠습니다. 그럼 여러분들도 꼭 c언어 잘 배워 두시길 바랍니다. 나중에 써 먹을데가 있을 지도 모르니까요.^^*


댓글

Designed by JB FACTORY