03-1 변수
- 변수: 값을 저장할 수 있는 메모리 공간에 붙은 이름
- 변수 선언 방법
ex) int num; → 정수 저장이 가능한 메모리 공간을 할당하고 이를 num이라 이름지음.
- 초기화: 선언된 변수에 처음 값을 저장하는 것
- 변수의 자료형
- 정수형 변수: int, long, short, char형 등
※ 유의점
ⓐ 변수를 선언함과 동시에 초기화할 수 있다.
ex) int num=12;
ⓑ 둘 이상의 변수를 동시에 선언 및 초기화하는 것이 가능하다.
ex) int num1=20, num2=30;
ⓒ 중괄호 내에서 변수를 선언할 경우 선언문은 중괄호의 앞부분에 위치해야 한다.
ⓓ 변수 이름 관련 규칙
- 변수의 이름은 알파벳, 숫자, 언더바(_)로 구성됨 (특수문자 불가)
- 대소문자는 구분됨
- 변수의 이름은 숫자로 시작할 수 없고, 키워드도 변수의 이름으로 사용할 수 없음
- 공백 삽입 불가
03-2 연산자
1. 이항 연산자
- 콤마 연산자(,) : 구분 목적
- 대입 연산자(=)
- 산술 연산자(+, -, *, /, %) (/는 몫을 반환, %는 나머지를 반환)
- 관계 연산자(<, >, ==, !=, <=, >=) → 조건 만족 시 1(true), 그렇지 않으면 0(false) 반환
- 논리 연산자
- && : 피연산자 모두가 참이면 연산 결과로 참을 반환(and)
- || : 피연산자 둘 중 하나라도 참이면 연산 결과로 참을 반환(or)
- 복합 대입 연산자(+=, -=, *=, /=, %= 둥)
산술 연산자 O를 포함한 복합 대입 연산자 P가 있다고 가정했을 때,
a P b 는 a = a O b
2. 단항 연산자
- 부호를 나타내는 +, - 연산자
- 논리 연산자 ! : 피연산자가 참이면 거짓, 거짓이면 참을 반환(not)
C언어는 0이 아닌 모든 값을 참으로 간주한다.
ex) int num1=10;
result3= (!num1);
→ result3에는 0이 저장된다(false)
- 증가, 감소 연산자
- ++(변수), --(변수) : 변수 값 1 증가/감소 후, 속한 문장의 나머지를 진행 → 전위 증가/감소
- (변수)++, (변수)== : 속한 문장을 먼저 진행한 후, 변수 값 1 증가/감소 → 후위 증가/감소
※ 후위 증가/감소는 소괄호의 영향을 받지 않는다.
3. 연산자의 우선순위와 결합방향
우선순위가 동일한 두 연산자가 하나의 수식에 존재할 때, 결합방향을 따라 연산한다. (결합방향 표는 p.69 참고)
03-3 데이터 입력
- scanf 함수: 키보드로부터 데이터를 입력받는 함수
int num;
scanf("%d", &num);
→ 키보드로 입력된 10진수 정수를 변수 num에 저징히리.
※ scant 함수는 공백을 기준으로 데이터를 구분함
→ 데이터 구분이 필요할 땐 스페이스바/탭/엔터를 입력