Microsoft PowerPoint - Chapter_04.pptx

Similar documents
Microsoft PowerPoint - chap03-변수와데이터형.pptx

윤성우의 열혈 TCP/IP 소켓 프로그래밊

PowerPoint Presentation

OCW_C언어 기초

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

OCW_C언어 기초

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - 2장 변수와 자료형 pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap04-연산자.pptx

ABC 3장

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

슬라이드 1

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

untitled

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습

ABC 3장

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - chap03.ppt

Microsoft PowerPoint - chap-04.pptx

11장 포인터

Microsoft PowerPoint - chap-04.pptx

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

쉽게 풀어쓴 C 프로그래밍

K&R2 Reference Manual 번역본

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

본 강의에 들어가기 전

금오공대 컴퓨터공학전공 강의자료

컴파일러


쉽게 풀어쓴 C 프로그래밍

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

슬라이드 1

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

chap10.PDF

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Microsoft PowerPoint - c2.ppt

KNK_C_05_Pointers_Arrays_structures_summary_v02

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

The C++ Programming Language 4 장타입과선언 4.11 연습문제 Hello,world! 프로그램을실행시킨다. 프로그램이컴파일되지않으면 B3.1 을참고하자. #include<iostream> //#include 문, 헤더파일, 전처리지시

쉽게 풀어쓴 C 프로그래밍

중간고사

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap06-1Array.ppt

C 프로그래밊 개요

Microsoft PowerPoint - 제11장 포인터

03 상수, 변수, 자료형

Microsoft PowerPoint - chap-05.pptx

1.1.1 컴퓨터의 구성 p.19

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

기초컴퓨터프로그래밍

PowerPoint Presentation

PowerPoint 프레젠테이션

슬라이드 1

BMP 파일 처리

Microsoft PowerPoint - chap-03.pptx

C++ Programming

PowerPoint 프레젠테이션

C++-¿Ïº®Çؼ³10Àå

Microsoft PowerPoint - chap11-포인터의활용.pptx

4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자 (operand) 로구성 수식은평가 (evaluate) 되어최종적으로 1 개의결과값이됨 피연산자 : 상수, 변수, 또다른수식 sum - 10 (a+b) / 2 연산자 2

02장.배열과 클래스

PowerPoint Template

강의 개요

C 언어 프로그래밊 과제 풀이

4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열

Microsoft PowerPoint - 제11장 포인터(강의)

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

슬라이드 1

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - Chapter_02.pptx

TEST BANK & SOLUTION

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

Microsoft PowerPoint - Chapter_08.pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap10-함수의활용.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - Lesson2.pptx

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - chap-11.pptx

PowerPoint Presentation

<4D F736F F F696E74202D2032C1D6C2F72D32C2F7BDC32028B0ADC0C7C0DAB7E D20BAAFBCF6BFCD20BFACBBEAC0DA>

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

Transcription:

프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj

이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환

기본자료형 (1/8) 3 변수 (Variables) 이름이부여된기억장소변수는자료형 (type, 유형 ) 을가지고있음 종류 기본타입 (Basic types) 열거형타입 (Enumerated types) void 타입 (The type void) 사용자정의타입 (Derived types) 설명 a. 정수타입 (integer types) b. 실수타입 (floating-point types) 정수형의상수정의, 프로그램의이해를쉽게해줌 값을지정하지않음 a. 포인터 (pointer types) b. 배열 (array types) c. 구조체 (structure types) d. 공용 (union types) e. 함수 (function types)

기본자료형 (2/8) 4 기본자료형의종류 정수형 실수형 자료형크기값의표현범위 char 1 byte -128 to 127 or 0 to 255 short 2 bytes -32,768 to 32,767 int 4 bytes -2,147,483,648 to 2,147,483,647 long 4 bytes -2,147,483,648 to 2,147,483,647 long long 8 bytes -9,233,372,036,854,775,808 to +9,233,372,036,854,775,807 float 4 bytes 1.2E-38 to 3.4E+38 double 8 bytes 2.3E-308 to 1.7E+308 long double 8 bytes 이상 3.4E-4932 to 1.1E+4932 자료형의크기는시스템별로다름 정수형에는 unsigned 를사용하여 0 과정수만표현가능

기본자료형 (3/8) 5 sizeof 연산자 Queries size of the object or type sizeof (types); or sizeof expression; 사용법 char ch=9; int num=100; float pipi=3.14; printf("size of char : %d \n", sizeof(ch)); printf("size of int : %d \n", sizeof(inum)); printf("size of int : %d \n", sizeof inum); printf("size of int : %d \n", sizeof(int)); printf("size of float : %d \n", sizeof float);...

기본자료형 (4/8) 6 자료형의크기예 #include <stdio.h> char ch=9; int inum=1052; double dnum=3.1415; printf(" 변수 ch 의크기 : %d \n", sizeof(ch)); printf(" 변수 inum 의크기 : %d \n", sizeof(inum)); printf(" 변수 dnum 의크기 : %d \n", sizeof(dnum)); printf("char 의크기 : %d \n", sizeof(char)); printf("int 의크기 : %d \n", sizeof(int)); printf("long 의크기 : %d \n", sizeof(long)); printf("long long 의크기 : %d \n", sizeof(long long)); printf("float 의크기 : %d \n", sizeof(float)); printf("double 의크기 : %d \n", sizeof(double)); return 0; Results 변수 ch 의크기 : 1 변수 inum 의크기 : 4 변수 dnum 의크기 : 8 char 의크기 : 1 int 의크기 : 4 long 의크기 : 4 long long 의크기 : 8 float 의크기 : 4 double 의크기 : 8 Q: 많은자료형중에어떤자료형을선택해야하는가?

기본자료형 (5/8) 7 정수표현을위한일반적인자료형선택 #include <stdio.h> char ch1=1, ch2=2, result1=0; short sh1=300, sh2=400, result2=0; printf("size of ch1 & ch2: %d, %d \n", sizeof(ch1), sizeof(ch2)); printf("size of sh1 & sh2: %d, %d \n", sizeof(sh1), sizeof(sh2)); printf("size of char add: %d \n", sizeof(ch1+ch2)); printf("size of short add: %d \n", sizeof(sh1+sh2)); result1=ch1+ch2; result2=sh1+sh2; printf("size of result1 & result2: %d, %d \n", sizeof(result1), sizeof(result2)); return 0;

기본자료형 (6/8) 8 정수표현을위한일반적인자료형선택 Results size of ch1 & ch2: 1, 1 size of sh1 & sh2: 2, 2 size of char add: 4 size of short add: 4 size of result1 & result2: 1, 2 sizeof(ch1+ch2) sizeof(sh1+sh2) Q: 왜 char 크기와 short 크기가 4 바이트인가? A: CPU 의기본연산단위는 int ( 레지스터와관련 )

기본자료형 (7/8) 9 실수표현을위한일반적인자료형선택 값의표현범위보다중요한것은 정밀도 실수자료형 소수점이하정밀도 바이트수 float 6 자리 4 double 15 자리 8 long double 18 자리 12 (8)

기본자료형 (8/8) 10 실수표현을위한일반적인자료형선택 #include <stdio.h> double rad; double area; printf(" 원의반지름입력 : "); scanf("%lf", &rad); area = rad*rad*3.1415; printf(" 원의넓이 : %f \n", area); return 0; %lf : double 입력서식 %f : double 출력서식 Results 원의반지름입력 : 2.5 원의넓이 : 19.634375

문자표현방식과문자자료형 (1/3) 11 ASCII 코드 미국표준협회 (ANSI) 에서아스키 (ASCII) 코드를제정 ANSI: American National Standards Institute ASCII: American Standards Code for Information Interchange 총 128개의문자로구성 10진수 16진수 값 65 41 A 66 42 B 67 43 C 68 44 D 97 61 a 98 62 b 99 63 c <ASCII table> Q: A 와 a의 10진수값의차이는?

문자표현방식과문자자료형 (2/3) 12 C 에서문자표현 문자표현 1 int main() char ch1 = 'A'; char ch2 = 'C';... 문자표현 2 int main() char ch1 = 65; char ch2 = 67;... char ch1 char ch2 65 A 67 C 메모리에는문자가아니라숫자가저장됨 < 물리메모리 >

문자표현방식과문자자료형 (3/3) 13 문자인식의예 Q1: ch3 = 321 이면출력되는값은? Q2: Hello 와같은문자열을저장하고싶으면? #include <stdio.h> char ch1='a', ch2=65; int ch3='z', ch4=90; Results printf("%c %d \n", ch1, ch1); printf("%c %d \n", ch2, ch2); printf("%c %d \n", ch3, ch3); printf("%c %d \n", ch4, ch4); return 0; A 65 A 65 Z 90 Z 90 %d : 정수값출력 %c : 문자출력

상수에대한이해 (1/6) 14 상수 ( 常數, constants) 의정의 상수는값이변하지않는데이터 상수의종류 이름이없는상수 literal 상수이름이있는심볼릭 (symbolic) 상수 const 상수

상수에대한이해 (2/6) 15 이름이없는상수 (literal) 상수의예 int main() int num = 10 + 20;... int num 30 10 20 type? type? 10 20 < 물리메모리 > Q: type 의변수자료형은무엇일까요?

상수에대한이해 (3/6) 16 상수의자료형 변수의예 #include <stdio.h> printf("literal int size: %d \n", sizeof(7)); printf("literal double size: %d \n", sizeof(7.14)); printf("literal char size: %d \n", sizeof('a')); return 0; Results 7 7.14 literal int size: 4 literal double size: 8 literal char size: 4 A Q: char 의변수자료형은 4byte 일까요? < 물리메모리 >

상수에대한이해 (4/6) 17 접미사를이용한다양한상수표현 int 이외의다양한정수표현 double 이외의실수표현 상수의예 #include <stdio.h> float f1 = 5.678; float f2 = 3.23 + 5.12; return 0; 상수값뒤에 f 또는 F 추가예 ) float f1 = 5.678f;

상수에대한이해 (5/6) 18 접미사를이용한다양한상수표현 정수표현을위한접미사 접미사 자료형 사용예 U unsigned int unsinged int k = 1025U; L long long k = 2467L UL unsigned long unsigned long k = 3456UL LL long long long long k = 5768LL ULL unsinged long long unsinged long long k = 8979ULL 실수표현을위한접미사 접미사자료형사용예 F float float k = 1025F; L long duble long double k = 2467L

상수에대한이해 (6/6) 19 이름있는심볼릭상수 : const 상수 1) const 키워드사용 선언과동시에값을초기화해야함 2) 매크로 (macro) 를이용하는방법 상수의예 #include <stdio.h> const int MAX = 100; const double PI = 3.1415; MAX = 350; error C2166: l-value specifies const object return 0; Tip: 상수이름만들기 1. 상수이름은대문자로표시 2. 둘이상의단어는 _ 로연결 ( 예, HOUSE_COUNT)

자료형의변환 (1/6) 20 자료형변환의정의 데이터의표현을바꾸는것예 ) char 데이터를 int 데이터로변환 자료형변환의종류 1) 자동형변환 ( 묵시적형변환 ) 2) 강제형변환 ( 명시적형변환 )

자료형의변환 (2/6) 21 자동형변환 1 : 대입연산과정에서발생 형변환예 (1) #include <stdio.h> int n1 = 3.1415; double n2 = 123; return 0; test.c(4): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data Q: Correct or not? 형변환예 (2) #include <stdio.h> int n3 = 129; char c1 = n3; return 0; Q: Correct or not?

자료형의변환 (3/6) 22 자동형변환예 #include <stdio.h> double num1=245; int num2=3.1415; int num3=129; char ch=num3; printf(" 정수 245 를실수로 : %f \n", num1); printf(" 실수 3.1415 를정수로 : %d \n", num2); printf(" 큰정수 129 를작은정수로 : %d \n", ch); return 0; Results 정수 245 를실수로 : 245.000000 실수 3.1415 를정수로 : 3 큰정수 129 를작은정수로 : 127

자료형의변환 (4/6) 23 자동형변환 -2 정수의승격 (Integral Promotion) #include <stdio.h> short n1=15, n2=15; short n3=n1+n2; return 0; 정수의승격, 대입연산과정 Q: 정수의승격이의미가있는가?

자료형의변환 (5/6) 24 자동형변환 3 피연산자의자료형불일치로발생 #include <stdio.h> double n1=5.15+19; return 0; 계산가능? * 2 가지로계산이가능 1) int 로변환 2) double 로변환 int long long long float double long double < 산술연산에서형변환규칙 > Rule : 데이터손실의최소화

자료형의변환 (6/6) 25 명시적형변환 강제로일으키는형변환 #include <stdio.h> Type casting operator int num1=3, num2=4; double divresult; divresult=(double)num1/num2; printf(" 나눗셈결과 : %f \n", divresult); return 0; Results 나눗셈결과 : 0.750000 ( 명시적형변환 : O) 나눗셈결과 : 0.000000 ( 명시적형변환 : X)

이장의결론 26 C 언어의기본자료형이해 자료형의종류및데이터의표현범위 sizeof 연산자 문자표현방식과자료형 상수 ASCII 코드 리터럴상수와심볼릭상수 자료형의변환

Quiz 27 1) int x; 가있을때x에정수값이얼마일때아래와같은결과가출력되는가? 또한이때정수값과2진수값을적으시오. C 문장 : printf("%c \n", x); 출력결과 : C 정수값, 2 진수값 :