Chapter 04 자료 유형.

Slides:



Advertisements
Similar presentations
3. 자료형. 담당교수 : 이 성 우 C++ 프로그래밍 상수와 변수 (3) 1. 변수 (variable)  프로그램 수행 도중에 자료  변수를 위해 은 변하지 않음  선언 시에 반드시 그. ※ 저장 정보의 구성 ① 정보의 종류 ② 저장 값 ③ 저장 위치 int Num.
Advertisements

03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
기본 자료형 순천향대학교 정보기술공학부 이 상 정. 자료형의 선언 컴퓨터프로그래밍 1 순천향대학교 정보기술공학부 이 상 정 3 자료형 선언 기본 자료형문자형 char 정수형 int 실수형 float double 형없음 void.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
제6장 조건문.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
제 3 장 변수와 자료형.
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
제 1장 C 언어의 소개.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
4장: 자료형과 수식.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
제 18 강 데이터 타입 타입, 변환, 캐스팅 shcho.pe.kr.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
변수와 자료형.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
Chapter 4 – 연 산 자 Outline 4.1 산술 연산자 4.2 관계 연산자 4.3 동등 연산자 4.4 논리 연산자
변수와 자료형.
제2장 데이터 및 수식.
제 2 장 변수와 상수.
제 3 장 상수와 변수
임베디드 시스템을 위한 C프로그래밍 기법 3.7 ~ 4.5 장 Raphael.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4주차: Data Types and Functions
5장. 상수와 기본 자료형. 5장. 상수와 기본 자료형 5-1 C 언어가 제공하는 기본 자료형 자료형(data type) 기본 자료형 사용자 정의 자료형 int val; "선언할 변수의 특징을 나타내기 위한 키워드" 기본 자료형 기본적으로 제공이 되는 자료형 사용자.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
Derived Types-- Enumerated, Structure and Union
adopted from KNK C Programming : A Modern Approach
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
Chapter 2 Lexical Elements, Operators, and the C System
제2장 데이터형과 표준 입출력문 문봉근.
2019년 2월 24일 오후 4시 59분 제2장 표준 입출력 함수
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
타입, 연산자 Chapter 5, 6 Kum Deuk Kyu , Ph. D. Spring 2015
Formatted Input/Output
제 3 장 연산자 (Operators).
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
Chapter 04. 데이터의 표현과 연산(Ⅱ).
Chapter 05. 입출력 함수.
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
학습목표 Chapter 2-1. 변수와 포인터 변수의 선언과 변수에 대한 메모리 할당을 살펴본다.
-Part2- 제1장 1차원 배열이란 무엇인가.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
-Part1- 제6장 자료형이란 무엇인가.
자바 5.0 프로그래밍.
포인터와 배열 조 병 규 한 국 교 통 대 학 교 SQ Lab..
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
3주차: Control Flow and Others
Introduction to Computer System 컴퓨터의 이해 3: 데이터 표현
박성진 컴퓨터 프로그래밍 기초 [03] 변수와 자료형 박성진
Spring, 2019 School of CSE Pusan National University
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C.
printf("Global Korea\n");
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
Presentation transcript:

Chapter 04 자료 유형

변수 저장 공간 프로그램에서 자료 값을 임시로 기억할 수 있는 저장 공간을 변수(variables) 임시라는 말을 이용하는 이유는 변수라는 기억 장소는 프로그램이 종료되거나 또는 프로그램 중간이라도 소멸될 수 있기 때문 변수(Variables)는 프로그램에서 이용하는 저장장소로 실제적으로는 컴퓨터의 메모리(Memory)라는 하드웨어에 저장 변수는 값을 저장하는 상자나 저장창고라고 이해하면 쉽고, 이 상자의 위치는 메모리에 존재

자료 유형의 종류와 크기 기본 자료형 변수 자료형 두 가지로 분류하면 정수형과 부동소수형 이는 자료의 종류와 자료를 저장할 수 있는 공간의 크기에 따라 나눈 것 변수 물건을 담는 박스라고 생각한다면 박스의 크기에 따라 담을 물건이 제한됨 즉 작은 박스에 부피가 적당한 책을 담을 수는 있어도, 작은 박스에 커다란 코끼리를 담을 수는 없음 기본 자료형은 세가지로 분류하여 문자형, 정수형, 부동소수형으로 나누기도 함 자료형 변수가 가질 값의 종류가 자료형이고, 변수는 값이 저장될 공간이므로 변수의 자료형에 따라 변수가 저장될 공간의 크기와 내부 저장 방식이 결정

자료 유형 저장 값의 종류는 다양 124와 같은 일반 정수에서부터 3.14와 같은 소수, ‘a’와 같은 문자 등 다양한 종류의 값을 저장 다양한 자료 값의 종류가 프로그램 언어마다 고유하게 정해져 있는 것이 일반적 자료 유형 이 변수에 저장되는 값의 종류를 자료 유형(data types) 또는 간단히 자료형이라고도 함 C 언어에는 자료형을 크게 기본 자료형(basic type)과 유도 자료형 (derived type)으로 구분 유도 자료형에는 배열, 구조체, 공용체 등 C 언어의 기본 자료형은 모두 12가지 기본 자료형의 두 가지 부류는 정수형(integral type)과 부동소수형(floating pointing type) 정수형은 -3, 5, 100과 같은 정수 값을 저장하는 공간을 의미하며, 부동소수형은 3.14, 5.111345와 같은 소수 형태의 수  

자료유형의 종류 모두 12가지 변수가 가질 값의 종류가 자료형이고, 변수는 값이 저장될 공간이므로 변수의 자료형에 따라 변수가 저장될 공간의 크기와 내부 저장 방식이 결정 괄호는 생략 가능하다는 것을 의미 문장 char c;는 변수 이름 c를 자료형 char로 선언하는 문장 정수형 문자형 char signed char unsigned char (signed) short (int) (signed) (int) (signed) long (int) unsigned short (int) unsigned (int) unsigned long (int) 부동소수형 float double long double 자료형 변수이름; char c;

변수 선언 선언 메모리 공간의 확보 저장 공간인 변수는 사용하기 전에 반드시 선언(declaration)을 먼저 하고 이용 이것은 C 언어의 중요한 규칙으로 강력한 자료형 언어(Strong Type Language)라 함 Visual Basic은 변수의 선언없이 이용가능 선언도 하나의 문장으로 반드시 세미콜론으로 종료 메모리 공간의 확보 변수 선언은 메모리에 자료 유형에 맞는 크기의 저장 공간을 확보하라는 중요한 의미의 문장 비쥬얼 C++를 이용하는 경우, 이 변수를 위한 저장 공간의 크기는 4바이트, 즉 32비트 공간 확보 자료유형12가지중의하나 변수이름; int money;

변수 선언 의미 유형, 값, 이름 변수의 초기 값 int year; int year = 12; 변수는 변수 선언된 이후에 중요한 세 가지 의미를 갖는데, 자료 유형, 값, 이름 변수 year는 이름이고, 자료유형은 int이며, 값은 아직 미정 변수의 초기 값 변수를 선언하면서 바로 값을 저장하려면, 다음과 같이 변수이름에 이어서 대입연산자 =와 원하는 값을 기술 int year; int year = 12;

변수 선언 위치 선언 시 주의 변수의 선언은 반드시 main() 함수의 첫 줄에서부터 시작하며, 선언문이 아닌 다른 문장이 먼저 나오면 그 이후에는 선언문 이용 불가능 다음 구문은 컴파일 시간에 에러 … int main(void) { 변수 선언문; 일반 문장; } … int main(void) { int year; year = 2005; int month; }

상수 선언 상수(constant number) 선언 변수 값으로 초기 값을 저장 한 후 수정할 수 없는 수 프로그램에서 변수 선언 이후, 수정할 필요가 없는 수를 상수로 정의하여 이용 선언 변수를 상수(constant number)로 선언하기 위해서는 변수 선언 시 키워드 const를 자료유형 앞에 기술 반드시 선언하면서 초기 값으로 값을 저장해야 하며, 다음은 에러 const double phi = 3.14; const double phi; phi = 3.14;

예제 소스 Year.c 오늘의 날짜를 변수 세 개에 저장하여 출력하는 프로그램을 작성 변수의 선언은 main() 함수의 첫 줄에서부터 시작 변수는 year, month, date로 하며, printf()를 이용하여 출력

정수형 자료 정수형 signed와 unsigned 정수형은 큰 의미에서는 문자형을 포함한다고 보고, 좁은 의미에서는 문자형을 제외한 순수하게 정수를 저장하는 자료 유형이라고 볼 수 있음 정수형은 키워드 int를 기본으로 하며, int 자료유형에서 파생된 자료유형 short int와 long int가 있음 자료형 short int는 간단히 short라고 할 수 있고, 마찬가지로 long int는 long 각각 저장 크기가 다름 signed와 unsigned 키워드 signed는 생략이 가능 unsigned는 0과 양수만 표현

정수형 6가지 좁은 의미의 정수형은 모두 6가지 정수를 저장하는 자료형의 종류는 short, int, long 세 가지이며, 여기에 signed와 unsigned를 지정할 수 있으므로 모두 6가지

signed int 자료형 signed int의 범위 MSB 가장 왼쪽의 비트가 0이면 양수 또는 0을 의미하며, 가장 왼쪽의 비트가 1이면 음수 수의 부호를 의미하는 저장공간의 최고 비트를 부호 비트(Signed Bit), 또는 최상위 비트(Most Significant Bit) -231 <= singed int <= 231-1

unsigned int 0과 양수만 표현 정수 자료형 unsigned int의 크기가 32 비트이면 0과 양수만 표현이 가능하므로 0에서부터 232-1까지 표현이 가능 정수 자료형 unsigned int에서는 최상위 비트(Most Significant Bit)가 부호 비트로서의 역할을 상실 0 <= unsinged int <= 232-1

short과 long short int long int 정수 자료형 signed short의 크기가 16 비트이면 음수부터 양수까지 표현이 가능 -215에서부터 215-1까지 표현이 가능 마찬가지로 unsigned short의 범위는 다음 long int 정수 자료형 signed long의 크기가 32 비트이면 음수부터 양수까지 표현이 가능 -231에서부터 231-1까지 표현이 가능 마찬가지로 unsigned long의 범위는 다음 -215 <= signed short int <= 215-1   0 <= unsigned short int <= 216-1 -231 <= signed long int <= 231-1   0 <= unsigned long int <= 232-1

오버플로우 overflow 정수 자료형에서 저장 할 수 있는 범위의 수보다 더 큰 수나 작은 수를 저장한다면 오버플로우(overflow)가 발생 정수 자료형 signed int(크기가 32 비트)에서 가장 큰 수인 231-1(2147483647)에 1을 더한 수를 signed int에 저장하면 오버플로우가 발생 2147483648를 저장할 수 없고, -2147483648이 됨 위에서 나온 결과 값인 10000000 00000000 00000000 00000000은 signed int에서 2147483648이 아니고 -2147483648 임

자료 값의 순환 정수 자료형 signed int의 크기가 32 비트이면 -231에서부터 231-1까지 표현이 가능

예제 소스 Overflow.c 정수 자료형 signed int에서 가장 큰 수인 231-1과 가장 작은 수인 -231을 각각 변수에 저장 제곱 승을 구하기 위하여 함수 pow()를 이용 이 함수를 이용하기 위해서는 #include 문으로 math.h인 헤더 파일을 추가 변수 max, min 에서 각각 1을 더한 수와 1을 뺀 수를 변수에 저장하여 출력

문자형 char 문자 유형은 모두 1 바이트, 즉 8 비트로 구성되며, 다음과 같이 세 가지 종류 signed char unsigned char 문자형은 키워드 char로 표현하며, 키워드 char 앞에 signed와 unsigned가 올 수 있다. 그러나 short, int, long과는 다르게 signed char가 항상 char와 같은 표기는 아니다. 컴파일러에 따라 char는 signed char, unsigned char 문자는 하나의 영문자를 구성 영문자를 그대로 표현하기 위해서는 반드시 작은 따옴표인 인용부호(quote) ‘   char c = ‘a’;

문자형의 표현 문자의 내부 값 문자형 자료형은 넓은 의미로 정수형 자료형 메모리에는 문자가 저장되는 것이 아니라 문자에 대응되는 정수 저장 문자 a의 아스키 코드 값이 01100001 문자형 자료형은 넓은 의미로 정수형 자료형 이유는 문자형의 내부 표현이 정수형의 내부 표현과 같고, 정수의 저장 공간으로 이용이 가능하기 때문 문자형 자료의 저장 공간은 1 바이트, 즉 8 비트이고 키워드 signed, unsigned에 따라 저장 자료의 범위가 결정 문자형 변수는 내부적으로는 정수형이므로 산술연산이 가능 문자 ‘A’의 다음 두 번째 문자인 ‘C’가 출력 char c = ‘a’; char uppercase = ‘A’; printf("대문자 C 출력 > %c\n", uppercase+2);

문자의 다른 표현 \t 주로 인쇄할 수 없는 문자와 특수한 문자는 탈출 기법(escape sequences)을 이용하여 표현 한 예로 수평 탭 문자는 \t로 표현 수평 탭 문자는 하나의 문자이지만 \와 t의 두 문자의 조합으로 구성되는데 이러한 표현 방법을 탈출 기법(escape sequences) \nnn 문자의 표현 방법에서 다른 하나의 방법은 하나의 문자 코드 값을 역슬래쉬와 함께 팔진수 값으로 표현하는 방법 즉 수평 탭 문자는 \011으로 표현 즉 모든 문자는 \nnn 방법으로 표현이 가능 char alarm = ‘\a’; char quote = ‘\042’;

특수 문자 표 주로 이용하는 특수 문자 표 문자이름 영문 표현 정수값 \nnn 표현 의미 경고 7 \007 \a 경고음이 울림 주로 이용하는 특수 문자 표 문자이름 영문 표현 정수값 \nnn 표현 의미 경고 BEL (Bell) 7 \007 \a 경고음이 울림 수평탭 HT (Horizontal tab) 9 \011 \t 수평으로 다음 탭만큼 이동 개행문자 LF (Linefeed) 10 \012 \n 다음 줄로 이동 폼피드 FF (Formfeed) 12 \014 \f 새 페이지의 처음으로 이동 캐리지 리턴 CR (Carriage return) 13 \015 \r 현재 줄의 처음으로 이동 큰따옴표 Double quote 34 \042 \” “ 문자 작은따옴표 single quote 39 \047 \’ ‘ 문자 역슬래쉬 Backslash 92 \134 \\ \ 문자

예제 소스 Char.c 문자형 변수 alarm, quote, uppercase 3개에 각각 ‘\a’, ‘\042’, ‘\101’ 세 값을 저장하여 출력

부동 소수형 float, double, long double 정수가 아닌 소수를 저장하는 변수의 자료형을 부동 소수형 자료형 double은 float보다 표현 범위가 크고, 정밀도도 정확하여 표현 범위는 대략 10-308 에서 10308 이고, 소수점 이하 15자리까지 표현 long double은 double보다 더 큰 저장공간을 할당하려는 의도에서 만들어졌으나 컴파일러마다 다르며, 특히 비쥬얼 C++에서는 long double도 double 과 마찬가지로 64비트의 저장공간을 할당 float < double <= long double

예제 소스 Floatsize.c 결과 부동소수형의 세 가지 유형으로 변수를 저장하고, 출력하는 프로그램을 작성 위 변수나 자료형의 크기를 연산자 sizeof를 이용하여 출력 출력 함수 printf()에 이용되는 변환명세인 %20.18f의 의미는 부동소수형을 출력할 때, 출력 폭을 20으로, 소수점 이하를 18자리수로 출력하라는 의미 결과 자료형 float는 소수점 이하 6자리까지 표현이 가능하므로 변수 C의 출력이 소수점 이하 7자리부터는 의미가 없으며, 마찬가지로 자료형 double은 소수점 이하 15자리까지만 의미가 있음

12가지 자료형 기본 자료형 기본 자료형은 모두 12가지로 비쥬얼 C++인 경우, 다음과 같이 정리

예제 소스 Sizeof.c sizeof 이용법 기본 자료형 12가지의 저장 공간의 크기를 출력하는 프로그램 결과 값은 크기의 바이트 값 sizeof 이용법 sizeof (변수) sizeof 변수 sizeof (자료형 키워드)

프로그램 연습 프로그램 목적 내용 자료형 long과 unsigned에 각각 자료 값 22억을 저장하고 각 값을 출력 자료형 char에 문자 ‘A’를 저장하고 문자와 코드 값을 각각 출력 내용 자료형 long과 unsigned은 그 저장 범위인 22억을 벗어난다면 오버플로우가 발생