1. 변수와 상수의 개념
가. 변수의 개념
1) 변수(variable)
프로그램에서 일시적으로 데이터를 저장하는 공간
데이터처리 위해 주기억장치의 특정 공간에 이름을 붙인 것
데이터를 담는 그릇
그릇에 담을 데이터의 크기와 종류에 따라 다른 그릇을 사용함.
변수도 처리할 데이터에 따라 각기 다른 종류를 사용함.
변수 = 값을 담는 그릇(공간)
변수명 = 값을 담는 그릇(공간)의 이름
2) 프로그램 내장 방식과 변수
프로그램 내장 방식(Stored Program)
컴퓨터에서 처리할 명령과 데이터를 주기억장치에 기억시켜 사용함
주기억장치의 주소(address)
1바이트 단위
0번지, 1번지, 2번지, ...
변수
데이터를 처리하기 위해 주기억장치의 특정 공간에 이름을 붙인 것
3) 변수의 필요성
사용자에게 받는 데이터를 저장하는 장소
프로그램 코드에 직접 값을 넣는 것보다 변수를 사용하는 것이 프로그램의 유연성을 높임.
4) 변수의 특징
변수는 데이터를 처리하기 위해 사용됨.
변수는 서로 구분하기 위해 이름을 가짐.
변수는 값을 저장하기 위해 메모리에 위치함.
5) 변수를 사용하지 않는 경우
// 가로(100) * 세로(50) = 넓이
rArea = 100 * 50;
tArea = 100 * 50 * 0.5;
6) 변수를 사용하는 경우
// 가로(100) * 세로(50) = 넓이
iWidth = 100;
iHeight = 50;
rArea = iWidth * iHeight;
tArea = iWidth * iHeight * 0.5;
나. 변수와 상수
1) 변수(variable)
프로그램 수행 중에 그 값이 변할 수 있는 데이터
2) 상수(Constant)
프로그램 수행 중에 그 값이 변하지 않는 데이터
3) 상수의 종류
리터럴 상수(Literal Constant)
이름이 붙지 않는 상수
정수 상수: 소수가 없는 값
실수 상수: 소수가 있는 값
문자 상수: 1개의 문자를 표현하는 값(작은 따옴표 사용)
문자열 상수: 1개 이상의 문자를 표현하는 값(큰 따옴표 사용)
기호 상수(Symbolic Constant)
이름이 붙는 상수
다. 상수
1) 정수 상수
소수점 없이 사용하는 값
모든 정수형 상수 앞에는 부호를 붙일 수 있음.(생략하면 양의 정수)
기본형: int로 취급
종류: 10진 상수, 8진 상수(접두사 0), 16진 상수(접두사 0x), long 형 상수
자료형
unsigned int: u, U(123u, 123U)
long: l, L(123l, 123L)
unsigned long: ul, UL(123ul, 123UL)
8진법: %o(형식지정자)
10진법: %d
16진법: %x
2) 실수 상수
소수점이 있는 숫자
부동(floating) 소수점 상수
종류: 10진수, 지수형(e, E로 지수 표현), float형(접미사 F)
3) 문자 상수
1개의 문자 값
메모리에 저장될 때 ASCII코드 이용
작은 따옴표 사용하여 표현함.
이스케이프 문자(Escape Character)
문자 중에 개행 문자, 백스페이스 등과 같이 화면으로 출력되지 않는 문자
C언어에서 특별한 의미로 사용되는 문자
종류: \0(널문자), \n(줄바꿈), \t(탭문자), \', \", \\ 등
4) 문자열 상수(string)
1개 이상의 문자들이 여러 개 모여 있는 문자들의 묶음
큰 따옴표 사용
널문자(null, \0): 문자열 끝을 표시
모든 문자열의 끝에는 널 문자 삽입
5) 기호 상수(Symbolic Constant)
기호를 이용하여 상수를 표현한 것
기호 상수의 장점
가독성이 높아짐.
값을 쉽게 변경할 수 있음.
기호 상수 선언 방법
#define 문장 사용(세미콜론으로 끝나지 않음)
const 키워드 사용
이름을 대문자로 구성 권장
2. 변수 선언
가) 선언
1) 변수 선언
컴파일러에게 어떤 변수를 사용하겠다고 미리 알리는 것
변수 선언은 변수 사용 전에 위치해야 함.
2) 형식
int(자료형) index(변수이름);
int(자료형) a(변수이름1), b(변수이름2), c(변수이름3); // 변수 3개를 한 번에 선언
나. 변수 선언이 필요한 이유
프로그램을 치밀하게 설계할 수 있어 성능 향상
프로그램 오류를 줄일 수 있음.
변수 관리 용이
프로그램에 대한 이해도를 높일 수 있음.
다. 값 할당
배정 연산자(대입연산자, 할당연산자): "="
3. 변수 초기화(Initialization)
변수의 선언과 동시에 값을 할당(저장)하는 것
int(자료형) index(변수이름) = 0(값); // 변수 초기화
가. 변수의 초기화 순서
변수의 이름 결정: 식별자 규칙에 맞는 이름
변수의 자료형 결정: 처리할 데이터의 크기와 성격에 맞는 자료형
변수 초기화: 대입 연산자 사용
나. 자동 초기화
변수의 종류에 따라 다름.
전역 변수는 초기화를 하지 않아도 자동으로 0으로 초기화 됨.
지역 변수는 초기화 안 해주면 쓰레기 값(garbage value)이 들어있음.