여러분 모두 변수가 무엇인지 아시죠? 수학시간에 많이 들어보셨을텐데요,
C언어에서도 변수라는 개념이 존재합니다.
우리가 printf함수로 곱셈연산을 해본 적이 있죠?
이번 강의에서는 연산을 한 결과를 메모리 공간에 저장하여 저장된 값을 출력하는 식으로 코드를 작성 해볼겁니다.
메모리 공간이라는 말이 아직은 낯설텐데 이 메모리 공간을 변수라고 생각하시면 되겠습니다.
메모리에 대해서도 나~~중에 배울테니 이렇게만 이해합시다.
자 그럼 변수는 어떻게 선언할까요?
num은 대충 알겠는데 int는 감이 잘 안오시죠?
얘를 '자료형' 이라고 하는데 얘는 조금 이따가 배울 겁니다.
지금은 패스~
저 num이라는 변수 안에 정수를 저장하여 출력 할 수 있습니다.
이렇게요.
여기서 = 기호를 C언어에서는 '대입 연산자' 라고 합니다.
즉 'num'이라는 변수에 20이라는 숫자를 대입 하라는 뜻이죠.
후 수학시간에 하도 많이 들어서 대입이란 말은 듣기도 싫습니다 저는
그리고 '초기화'라는 개념이 있습니다.
위 코드에서는 변수를 선언하고 그 다음 줄에서 값을 대입했잖아요?
다음은 변수 이름을 지을 때 적용되는 규칙입니다.
1. 변수의 이름은 알파벳, 숫자, 언더바( _ ) 만 사용할 수 있다. 즉 특수문자는 사용할 수 없다.
2. C언어에서는 대소문자를 구분한다. a와 A는 서로 다른 변수이다.
3. 변수 이름은 숫자로 시작할 수 없고 키워드도 변수 이름으로 사용할 수 없다.
4. 이름 사이에 공백이 들어 갈 수 없다.
아래 문장들은 모두 오류를 발생시킵니다.
int 5star; // 숫자로 시작했으므로
int abc#; //특수문자가 들어갔으므로
int my name; //공백이 들어갔으므로
그리고 변수는 그에 맞는 의미있는 이름을 지어주는것이 좋습니다.
예를 들어 돈을 저장하는 변수 이름을 num으로 하는 것 보다는 money같은 이름이 더 의미가 있겠죠?
C언어에서 제공하는 연산자는 다양한데요 대부분 수학시간에 많이 본 것들이라 익숙해지는데 어렵지 않을거에요.
대입 연산자는 아까 봤었죠? '='얘가 대입 연산자입니다.
그리고 산술연산자는 '+', '-', '*', '/', '%' 로 총 5개 입니다.
+, -, *, / 이것들은 다들아시죠? 덧셈, 뺄셈, 곱셈, 나눗셈 연산자 입니다.
그런데 %요놈은 뭘까요?
이 연산자는 '나머지'연산자 입니다.
연산자 사용방법은 모두 아실겁니다.
각 연산자들의 사용 예를 들어보면
+) num = 3 + 4;
-) num = 4 - 3;
*) num = 4 * 5;
/) num = 7 / 3;
%) num = 7 % 3;
어려울 것 없죠?
C언어에는 '복합 대입 연산자'라는 것도 있습니다.
종류는 '+=', '-=', '*=', '/=', ' %=', '<<=', '>>=', '&=', '^=', '|='
이 중에 이상한 것도 보이지만 나중에 우리가 배울 것들입니다.
이 연산자 들의 의미는
a= a + b와 a += b는 동일 연산입니다.
a= a - b도 a -= b와 동일 연산입니다.
예제를 한 번 보시죠
출력결과는
이렇게 되겠죠.
소스 코드는 복사해서 붙여넣기 보다는 직접 키보드로 두드리시는게 훨씬 좋습니다.
그리고 +와 - 연산자는 부호 연산으로 사용할 수 있습니다.
이렇게 말이죠.
이번엔 증가, 감소 연산자에 대해 알아보겠습니다.
이 연산자들은 변수에 저장된 값을 1 증가, 감소 시킬 때 사용하는 연산자인데요, 실제로 많이 사용하니 꼭 알아두시길 바랍니다.
++num: 값을 1 증가 후 그 문장의 연산 진행(선 증가, 후 연산)
num++: 연산을 먼저 진행한 후 값을 1 증가 (선 연산, 후 증가)
--num: 값을 1 감소 후 그 문장 연산 진행(선 감소, 후 연산)
num--: 연산을 먼저 진행한 후 값을 1 감소(선 연산, 후 감소)
이해를 돕기 위해 예제를 가져왔습니다.
실행 하면
이해가 되시나요?
이상으로 연산자에 대한 설명 첫 번쨰를 마치겠습니다.
Chapter -05-2에서 이어서 하겠습니다.
다음 강의 때 뵙겠습니다.
'C언어 강의' 카테고리의 다른 글
(C언어 강의) Chapter -06 데이터입력과 C언어 키워드 (0) | 2016.07.03 |
---|---|
(C언어 강의) Chapter -05 변수와 연산자 - 2 (0) | 2016.07.02 |
(C언어 강의) Chapter -04 printf함수 파헤치기 (0) | 2016.07.01 |
(C언어 강의) Chapter -03 Hello world! 코드분석 (0) | 2016.06.29 |
(C언어 강의) Chapter -02 C언어 개발환경 마련하기 (3) | 2016.06.28 |