변수와 자료형 - C 언어
변수와 자료형
이번 장에서 학습할 내용
변수
Q) 변수(variable)이란 무엇인가?
변수 = 상자
변수는 물건을 저장하는 상자와 같다.
변수가 만들어지는 곳
변수는 메인 메모리에 만들어진다.
변수가 필요한 이유
변수와 상수
변수(variable): 저장된 값의 변경이 가능한 공간
(예) i, sum, avg
상수(constant): 저장된 값의 변경이 불가능한 공간
(예) 3.14, 100, ‘A’, “Hello World!”
상수의 이름
예제
다음에 학습할 내용
자료형
자료형(data type): 데이터의 타입(종류)
정수형 데이터(100)
실수형 데이터(3.141592)
문자형 데이터(‘A’)
다양한 자료형
자료형의 종류
자료형의 크기
sizeof 연산자 이용
예제
변수의 이름짓기
식별자(identifier): 식별할 수 있게 해주는 이름
변수 이름
함수 이름
식별자를 만드는 규칙
알파벳 문자와 숫자, 밑줄 문자 _로 구성
첫 번째 문자는 반드시 알파벳 또는 밑줄 문자 _
대문자와 소문자를 구별
C 언어의 키워드와 똑같은 이름은 허용되지 않는다.
좋은 변수 이름
변수의 역할을 가장 잘 설명하는 이름
밑줄 방식: bank_account
단어의 첫번째 글자를 대문자:BankAccount
키워드
키워드(keyword): C언어에서 고유한 의미를 가지고 있는 특별한 단어
예약어(reserved words) 라고도 한다.
변수 선언
변수 선언: 컴파일러에게 어떤 변수를 사용하겠다고 미리 알리는 것
변수에 값을 저장하는 방법
변수의 초기화
변수 선언 위치
변수는 함수의 첫부분에서만 선언할 수 있습니다.
변수의 사용
대입 연산자를 이용하여서 값을 저장한다.
변수의 사용
저장된 값은 변경이 가능하다.
예제
다음에 학습할 내용
정수형
short, int, long
정수형 선언의 예
short grade; // short형의 변수를 생성한다.
int count; // int형의 변수를 생성한다.
long distance; // distance형의 변수를 생성한다.
정수형의 범위
예제
signed, unsigned 수식자
unsigned
음수가 아닌 값만을 나타냄을 의미
(예) unsigned int
unsigned 와 signed
unsigned 수식자
unsigned int speed; // 부호없는 int형
unsigned distance; // unsigned int distance와 같다.
unsigned short players; // 부호없는 short형
unsigned long seconds; // 부호없는 long형
오버플로우
오버플로우(overflow): 변수가 나타낼 수 있는 범위를 넘는 숫자를 저장하려고 할 때 발생
오버플로우
오버플로우
규칙성이 있다.
수도 계량기나 주행거리계와 비숫하게 동작
정수 상수
정수 상수: 정수형의 상수
(예) 12, 100
정수 상수는 기본적으로 int형으로 간주
상수의 자료형을 명시하려면 다음과 같이 한다.
다양한 진법 가능
예제
기호 상수
기호 상수(symbolic constant): 기호를 이용하여 상수를 표현한 것
(예)
area = 3.141592 * radius * radius;
area = PI * radius * radius;
income = salary - 0.15 * salary;
income = salary - TAX_RATE * salary;
기호 상수의 장점
가독성이 높아진다.
값을 쉽게 변경할 수 있다.
기호 상수의 장점
기호 상수를 만드는 방법
기호 상수를 만드는 방법
중간 점검
• 정수형에 속하는 자료형을 모두 열거하라.
• 숫자 값을 직접 사용하는 것보다 기호 상수를 사용하는 것의 이점은 무엇인가?
• 왜 정수를 하나의 타입으로 하지 않고 char, int, short, long 등의 여러 가지 타입으로 복잡하게 분류하여 사용하는가?
• 부호가 없는 unsigned int형의 변수에 음수를 넣으면 어떤 일이 벌어지는가?
• 변수가 저장할 수 있는 한계를 넘어서는 값을 저장하면 어떻게 되는가? 구체적인 예로 short형의 변수에 32768을 저장하면 어떻게 되는가?
다음에 학습할 내용
부동소수점형
컴퓨터에서 실수는 부동소수점형으로 표현
소수점이 떠서 움직인다는 의미
과학자들이 많이 사용하는 과학적 표기법과 유사
실수를 표현하는 방법
#1 고정 소수점 방식
정수 부분을 위하여 일정 비트를 할당하고 소수 부분을 위하여 일정 비트를 할당
전체가 32비트이면 정수 부분 16비트, 소수 부분 16비트 할당
과학과 공학에서 필요한 아주 큰 수를 표현할 수 없다
실수를 표현하는 방법
#2 부동 소수점 방식
표현할 수 있는 범위가 대폭 늘어난다.
10-38 에서 10+38
부동 소수점 형
부동 소수점 상수
일반적인 실수 표기법
3.141592 (double형)
3.141592F (float형)
지수표기법
1.23456e4 = 12345.6
1.23456e-3 = 0.00123456
유효한 표기법의 예
1.23456
2. // 소수점만 붙여도 된다.
.28 // 정수부가 없어도 된다.
0e0
2e+10 // +나 -기호를 지수부에 붙일 수 있다.
9.26E3 //
9.26e3 //
예제
오버플로우와 언더플로우
부동소수점형 사용시 주의사항
오차가 있을 수 있다!
중간 점검
• 부동 소수점형에 속하는 자료형을 모두 열거하라.
• float형 대신에 double형을 사용하는 이유는 무엇인가?
• 부동 소수점형에서 오차가 발생하는 근본적인 이유는 무엇인가?
• 12.345처럼 소수점이 있는 실수를 int형의 변수에 넣을 경우, 어떤 일이 발생하는가?
• 수식 (1.0/3.0)을 float형 변수와 double형 변수에 각각 저장한 후에 출력하여 보자. (1.0/3.0)은 0.333333.... 값을 출력하여야 한다. 소수점 몇 자리까지 정확하게 출력되는가?
다음에 학습할 내용
문자형
문자는 컴퓨터보다는 인간에게 중요
문자도 숫자를 이용하여 표현
공통적인 규격이 필요하다.
아스키 코드(ASCII: American Standard Code for Information Interchange)
8비트를 사용하여 영어 알파벳 표현
(예) !는 33, ‘A’는 65, ‘B’는 66, ‘a’는 97, ‘b’는 98
문자 변수
char형의 변수가 문자 저장
문자 입출력 예제
예제
제어 문자
인쇄 목적이 아니라 제어 목적으로 사용되는 문자들
(예) 줄바꿈 문자, 탭 문자, 벨소림 문자, 백스페이스 문자
제어 문자를 나타내는 방법
아스키 코드를 직접 사용
이스케이프 시퀀스 사용
제어 문자
예제
정수형으로서의 char형
8비트의 정수를 저장하는데 char 형을 사용할 수 있다..
중간 점검
• C에서 문자를 나타내기 위해 사용하는 코드를 무엇이라고 하는가?
• 경고음을 출력하는 제어 문자는 무엇인가?
• 화면에 ‘\’을 출력하려면 어떻게 하는가?
'myPPT' 카테고리의 다른 글
국내 창업 성공사례 (0) | 2016.12.01 |
---|---|
무선 네트워크 기술(Wireless Network)-컴퓨터 네트워크 (0) | 2016.11.24 |
약혼, 결혼, 이혼에 대하여 (0) | 2016.11.18 |
논술의 개념과 대비 (0) | 2016.11.14 |
사회복지개론(사회복지 전달체계 : 공공 부문과 민간부분) (0) | 2016.11.08 |