윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형.

Slides:



Advertisements
Similar presentations
비즈쿨 - 정 성 욱 - - 금오공고 비즈쿨 - 정 성 욱 1. 나는 각 단원들의 활동들에 성실하게 참여 하겠습니다. 우리의 다짐 2. 나는 나와 전체의 발전을 위해 각 멘토들의 지도에 순종하겠습니다. 3. 나는 각 단원들을 숙지함으로써 비즈니스 마인드를 함양하고 자신의.
Advertisements

3. 자료형. 담당교수 : 이 성 우 C++ 프로그래밍 상수와 변수 (3) 1. 변수 (variable)  프로그램 수행 도중에 자료  변수를 위해 은 변하지 않음  선언 시에 반드시 그. ※ 저장 정보의 구성 ① 정보의 종류 ② 저장 값 ③ 저장 위치 int Num.
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
기본 자료형 순천향대학교 정보기술공학부 이 상 정. 자료형의 선언 컴퓨터프로그래밍 1 순천향대학교 정보기술공학부 이 상 정 3 자료형 선언 기본 자료형문자형 char 정수형 int 실수형 float double 형없음 void.
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++ 통합 환경 들어가기.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
데이터의 표현과 연산 (1) (Chapter 3)
제 3 장 변수와 자료형.
제 11 장 구조체.
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
4장: 자료형과 수식.
Kasimov C언어 세미나 1st.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 14. 포인터와 함수에 대한 이해.
제 18 강 데이터 타입 타입, 변환, 캐스팅 shcho.pe.kr.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
변수와 자료형.
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
Chapter 4 – 연 산 자 Outline 4.1 산술 연산자 4.2 관계 연산자 4.3 동등 연산자 4.4 논리 연산자
표준 출력 함수 printf 출력 데이터 서식화(formatting) 표준 입력 함수 scanf 입력 데이터 서식화
변수와 자료형.
제 2 장 변수와 상수.
프로그래밍2 및 실습 C언어 기반의 C++ 2.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4주차: Data Types and Functions
5장. 상수와 기본 자료형. 5장. 상수와 기본 자료형 5-1 C 언어가 제공하는 기본 자료형 자료형(data type) 기본 자료형 사용자 정의 자료형 int val; "선언할 변수의 특징을 나타내기 위한 키워드" 기본 자료형 기본적으로 제공이 되는 자료형 사용자.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 11. 1차원 배열.
“정보의 표현” 이 점 숙 컴퓨터와 인터넷 “정보의 표현” 이 점 숙
“소프트웨어의 표현” 이 점 숙 컴퓨터와 소프트웨어 “소프트웨어의 표현” 이 점 숙
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
제 3 장 연산자 (Operators).
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
칼빈의 생애와 개혁자로의 변모 사학과 김종식.
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
국제의료관광 관련 법, 제도.
Chapter 04 자료 유형.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 09. C언어의 핵심! 함수!
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
처음으로 배우는 C 프로그래밍 제3부 함수 제 6 장 함수 작성.
Chapter 11. 배열과 포인터.
Chapter 04. 데이터의 표현과 연산(Ⅱ).
Chapter 05. 입출력 함수.
학습목표 Chapter 2-1. 변수와 포인터 변수의 선언과 변수에 대한 메모리 할당을 살펴본다.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
-Part1- 제6장 자료형이란 무엇인가.
자바 5.0 프로그래밍.
CHAPTER 9-1 한국의 사회복지정책 - 사회보험제도 -
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
조선업 안전시설기준의 운영상 문제점과 개선방안
3주차: Control Flow and Others
박성진 컴퓨터 프로그래밍 기초 [03] 변수와 자료형 박성진
어서와 C언어는 처음이지 제16장.
제03장 정보의 표현.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C.
printf("Global Korea\n");
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
Chapter 09. 배열.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 17. 포인터의 포인터.
경찰학 세미나 제 5 강 경찰관직무집행법 2조 5호의 의미 신라대학교 법경찰학부 김순석.
Presentation transcript:

윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형

Chapter 05-1. C언어가 제공하는 기본 자료형의 이해 윤성우의 열혈 C 프로그래밍 Chapter 05-1. C언어가 제공하는 기본 자료형의 이해 윤성우 저 열혈강의 C 프로그래밍 개정판

자료형은 데이터를 표현하는 방법입니다. 윤성우의 열혈 C 프로그래밍 int num; 실수를 저장할 것이냐? 정수를 저장할 것이냐! ∙ 값을 저장하는 방식이 실수냐 정수냐에 따라서 달라지기 때문에 용도를 결정해야 한다. 얼마나 큰 수를 저장할 것이냐! ∙ 큰 수를 표현하기 위해서는 많은 수의 바이트가 필요하다. 이름 이외에 메모리 공간의 할당에 있어서 필요한 두 가지 정보 요청의 예 제대로 된 요청 "아! 제가 정수를 저장할건데요. 크기는 4바이트로 하려고 합니다. 그 정도면 충분할거에요. 그리고 변수의 이름은 num으로 할게요.." C언어에서의 예 int num; 동일한 요청 자료형의 수는 데이터 표현방법의 수를 뜻한다. C언어가 제공하는 기본 자료형의 수가 10개라면, C언어가 제공하는 기본적인 데이터 표현방식의 수는 10개라는 뜻이 된다.

기본 자료형의 종류와 데이터의 표현범위 윤성우의 열혈 C 프로그래밍 ∙ 컴파일러에 따라서 약간의 차이를 보인다. ∙ 크게 정수형과 실수형으로 나뉘다. 데이터를 표현하는 방식이 정수형과 실수형 두 가지로 나뉘므로! ∙ 정수형에도 실수형에도 둘 이상의 기본 자료형이 존재한다. 표현하고자 하는 값의 크기에 따라서 적절히 선택할 수 있도록 다수의 자료형이 제공!

연산자 sizeof를 이용한 바이트 크기의 확인 윤성우의 열혈 C 프로그래밍 연산자 sizeof를 이용한 바이트 크기의 확인 변수 num과 int의 크기를 계산하여 그 결과로 sz1과 sz2를 초기화 sizeof 연산자의 피연산자로는 변수, 상수 및 자료형의 이름 등이 올 수 있다. 소괄호는 int와 같은 자료형의 이름에만 필수! 하지만 모든 피연산자를 대상으로 소괄호를 감싸주는 것이 일반적! 실행결과

정수의 표현 및 처리를 위한 일반적 자료형 선택 윤성우의 열혈 C 프로그래밍 실행결과 ∙ 일반적인 선택은 int이다. CPU가 연산하기에 가장 적합한 데이터의 크기가 int형의 크기로 결정된다. 연산이 동반이 되면 int형으로 형 변환이 되어서 연산이 진행된다. 따라서 연산을 동반하는 변수의 선언을 위해서는 int로 선언하는 것이 적합히다. ∙ char형 short형 변수는 불필요한가? 연산을 수반하지 않으면서(최소한의 연산만 요구가 되면서) 많은 수의 데이터를 저장해야 한다면, 그리고 그 데이터의 크기가 char 또는 short로 충분히 표현 가능하다면, char 또는 short 로 데이터를 표현 및 저장하는 것이 적절하다. + 연산결과의 크기가 4바이트인 이유는 피연산자가 4바이트 데이터로 형 변환 되었기 때문이다. 실행결과

실수의 표현 및 처리를 위한 일반적 자료형 선택 윤성우의 열혈 C 프로그래밍 실행결과 ∙ 실수 자료형의 선택기준은 정밀도 실수의 표현범위는 float, double 둘 다 충분히 넓다. 그러나 8바이트 크기의 double이 float보다 더 정밀하게 실수를 표현한다. ∙ 일반적인 선택은 double이다. 컴퓨팅 환경의 발전으로 double형 데이터의 표현 및 연산이 덜 부담스럽다. float형 데이터의 정밀도는 부족한 경우가 많다. double형 변수의 출력 서식문자 %f - printf double형 변수의 입력 서식문자 %lf - scanf 실행결과

unsigned를 붙여서 0과 양의 정수만 표현 윤성우의 열혈 C 프로그래밍 unsigned를 붙여서 0과 양의 정수만 표현 ∙ 정수 자료형의 이름 앞에는 unsigned 선언을 붙일 수 있다. ∙ unsigned가 붙으면, MSB도 데이터의 크기를 표현하는데 사용이 된다. ∙ 따라서 표현하는 값의 범위가 양의 정수로 제한이 되며 양의 정수로 두 배 늘어난다.

Chapter 05-2. 문자의 표현방식과 문자를 위한 자료형 윤성우의 열혈 C 프로그래밍 Chapter 05-2. 문자의 표현방식과 문자를 위한 자료형 윤성우 저 열혈강의 C 프로그래밍 개정판

문자의 표현을 위한 약속! 아스키(ASCII) 코드! 윤성우의 열혈 C 프로그래밍 문자의 표현을 위한 약속! 아스키(ASCII) 코드! 미국 표준 협회(ANSI: American National Standards Instute)’ 에 의해서 제정된 ‘아스키(ASCII: Amerian Standard Code for Information Interchange) 코드’ 컴퓨터는 문자를 표현 및 저장하지 못한다. 따라서 문자를 표현을 목적으로 각 문자에 고유한 숫자를 지정한다. 인간이 입력하는 문자는 해당 문자의 숫자로 변환이 되어 컴퓨터에 저장 및 인식이 되고, 컴퓨터에 저장된 숫자는 문자로 변환이 되어 인간의 눈에 보여지게 된다. 컴파일 시 각 문자는 해당 아스키 코드 값으로 변환 따라서 실제로 컴퓨터에게 전달되는 데이터는 문자가 아닌 숫자이다. C 프로그램상에서 문자는 작은 따옴표로 묶어서 표현

문자는 이렇게 표현되는 거구나! 윤성우의 열혈 C 프로그래밍 실행결과 서식문자 %c 해당 숫자의 아스키 코드 문자를 출력해라! ∙ 문자를 char형 변수에 저장하는 이유 모든 아스키 코드 문자는 1바이트로도 충분히 표현가능 문자는 덧셈, 뺄셈과 같은 연산을 동반하지 않는다. 단지 표현에 사용될 뿐이다. 따라서 1바이트 크기인 char형 변수가 문자를 저장하기 최적의 장소이다. 문자는 int형 변수에도 저장이 가능하다.

윤성우의 열혈 C 프로그래밍 Chapter 05-3. 상수에 대한 이해 윤성우 저 열혈강의 C 프로그래밍 개정판

이름을 지니지 않는 리터럴 상수! 윤성우의 열혈 C 프로그래밍 연산을 위해서는 30, 40과 같이 프로그램상에 표현되는 숫자도 메모리 공간에 저장되어야 한다. 이렇게 저장되는 값은 이름이 존재하지 않으니 변경이 불가능한 상수이다. 따라서 리터럴 상수라 한다. 메모리 공간에 저장이 되어야 CPU의 연산대상이 된다.

리터럴 상수의 자료형 윤성우의 열혈 C 프로그래밍 실행결과 리터럴 상수도 자료형이 결정되어야 메모리 공간에 저장이 될 수 있다. 위 예제의 실행결과는 다음 사실을 의미한다. ∙ 정수는 기본적으로 int형으로 표현된다. ∙ 실수는 기본적으로 double형으로 표현된다. ∙ 문자는 기본적으로 int형으로 표현된다.

접미사를 이용한 다양한 상수의 표현 윤성우의 열혈 C 프로그래밍 실수는 double형 상수로 인식이 되어 데이터 손실에 대한 경고 메시지 발생 접미사를 통해서 상수의 자료형을 변경할 수 있다.

이름을 지니는 심볼릭(Symbolic) 상수: const 상수 윤성우의 열혈 C 프로그래밍 이름을 지니는 심볼릭(Symbolic) 상수: const 상수 상수의 이름은 모두 대문자로 표시하고, 둘 이상의 단어를 연결할 때에는 MY_AGE와 같이 언더바를 이용해서 두 단어를 구분하는 것이 관례!

윤성우의 열혈 C 프로그래밍 Chapter 05-4. 자료형의 변환 윤성우 저 열혈강의 C 프로그래밍 개정판

대입 연산의 과정에서 발생하는 자동 형 변환 윤성우의 열혈 C 프로그래밍 대입 연산자의 왼편을 기준으로 형 변환이 발생한다. 정수 245는 245.0의 비트 열로 재구성이 되어 변수 num1에 저장된다. 실수 3.1415는 int형 데이터 3의 비트 열로 재구성이 되어 변수 num2에 저장된다. 4바이트 변수 num3에 저장된 4바이트 데이터 중 상위 3바이트가 손실되어 변수 ch에 저장된다. 00000000 00000000 00000000 10000001 10000001

자동 형 변환의 방식 정리 윤성우의 열혈 C 프로그래밍 실행결과 형 변환의 방식에 대한 유형별 정리 ∙ 정수를 실수로 형 변환 3은 3.0으로 5는 5.0으로(오차가 발생하게 된다). ∙ 실수를 정수로 형 변환 소수점 이하의 값이 소멸된다. ∙ 큰 정수를 작은 정수로 형 변환 작은 정수의 크기에 맞춰서 상위 바이트가 소멸된다. 실행결과

정수의 승격에 의한 자동 형 변환 윤성우의 열혈 C 프로그래밍 일반적으로 CPU가 처리하기에 가장 적합한 크기의 정수 자료형을 int로 정의한다. 따라서 int형 연산의 속도가 다른 자료형의 연산속도에 비해서 동일하거나 더 빠르다. 따라서 다음과 같은 방식의 형 변환 발생 이를 가리켜 ‘정수의 승격(Integral Promotion)’이라 한다.

피연산자의 자료형 불일치로 발생하는 자동 형 변환 윤성우의 열혈 C 프로그래밍 피연산자의 자료형 불일치로 발생하는 자동 형 변환 두 피연산자의 자료형은 일치해야 한다. 일치하지 않으면 일치하기 위해서 자동으로 형 변환이 발생한다. double num1 = 5.15 + 19; 아래의 자동 형 변환 규칙을 근거로 int형 데이터 19가 double형 데이터 19.0으로 형 변환이 되어 덧셈이 진행된다. 산술연산에서의 자동 형 변환 규칙 바이트 크기가 큰 자료형이 우선시 된다. 정수형보다 실수형을 우선시 한다. 이는 데이터의 손실을 최소화 하기 위한 기준이다.

명시적 형 변환: 강제로 일으키는 형 변환 윤성우의 열혈 C 프로그래밍 실행결과 추천하는 코드 작성 스타일 num1과 num2가 정수이기 때문에 몫만 반환이 되는 정수형 나눗셈이 진행 실행결과 divResult = (double)num1 / num2; (type)은 type형으로의 형 변환을 의미한다. num1이 double형으로 명시적 형 변환 그리고 num1과 num2의 / 연산 과정에서의 산술적 자동 형 변환! 그 결과 실수형 나눗셈이 진행되어 divResult에는 0.75가 저장된다. 자동 형 변환이 발생하는 위치에 명시적 형 변환 표시를 해서 형 변환이 발생함을 알리는 것이 좋다! 추천하는 코드 작성 스타일

Chapter 05가 끝났습니다. 질문 있으신지요?