최원빈 (bindon@korea.ac.kr)
고려대학교
2017. 04. 10.
C 프로그래밍 이론 및 실습
2
 반지름이 3인 원의 넓이, 둘레와 높이가 5인 부피
구하기
 모듈화(함수 사용)
 알맞은 define 또는
const 사용
 알맞은 자료형 사용
지난 과제 풀이
3
 일반적인 자료형 범위
기본 자료형의 종류
4
 워룸 기준으로의 길이 확인
기본 자료형의 종류
64비트(x64)32비트(x86)
5
 실수형 변수의 처리 방법
 float
 부호(1비트), 지수(8비트), 가수(23비트)
 double
 부호(1비트), 지수(11비트), 가수(52비트)
기본 자료형의 종류
1 8 23
1 11 52
6
 실수형 변수의 값 확인
기본 자료형의 종류
7
 실수형 변수의 값 확인
기본 자료형의 종류
8
 실수형 변수의 값 확인(IEEE 754)
 float : 000046c1 (little endian)
c1460000 (big endian)
 부호(1비트), 지수(8비트), 가수(23비트)
 -12.375 = -1100.011(2)
= -1.100011 × 23
(2)
 부호 : 0(양수), 1(음수)
 지수 : 10000010
 가수 : 10001100000...
기본 자료형의 종류
9
 정수형 부호 표현
기본 자료형의 종류
10
 정수형 부호 표현
 plus
 12345(10)
 39300000(2-little endian)
 00003039(2-big endian)
기본 자료형의 종류
11
 정수형 부호 표현
 minus
 -12345(10)
 c7cfffff(2-little endian)
 ffffcfc7(2-big endian)
기본 자료형의 종류
12
 연산자 사용 방법
축약 연산자
13
 연산자 사용 방법과 결과
1. number == 10
2. number = number + (1 * 2) == 12
3. number = number * (9 + 1) == 120
축약 연산자
14
 연산자 사용 방법
비트 연산자
15
 연산자 사용 방법과 결과
비트 연산자
16
 연산자 사용 방법과 결과
 left & right
& 0011 0000 0011 1001 // left
& 1101 0100 0011 0001 // right
-----------------------------------------------
& 0001 0000 0011 0001 // result(4145)
비트 연산자
17
 연산자 사용 방법과 결과
 left | right
| 0011 0000 0011 1001 // left
| 1101 0100 0011 0001 // right
-----------------------------------------------
| 1111 0100 0011 1001 // result(62521)
비트 연산자
18
 연산자 사용 방법과 결과
 ~left
~ 0011 0000 0011 1001 // left
-----------------------------------------------
~ 1100 1111 1100 0110 // result(-12346)
비트 연산자
19
 연산자 사용 방법과 결과
 left << 2 (* 2n의 효과)
0011 0000 0011 1001 // left
0110 0000 0111 0010 // left << 1
1100 0000 1110 0100 // left << 2 (49380)
비트 연산자
20
 연산자 사용 방법과 결과
 left >> 2 (* 2-n의 효과)
0011 0000 0011 1001 // left
0001 1000 0001 1100 // left >> 1
0000 1100 0000 1110 // left >> 2 (3086)
비트 연산자
21
 연산자 사용 방법과 결과
 result = (condition) ? (true val) : (false val)
3항 연산자
22
 연산자 사용 방법과 if문과의 비교
3항 연산자
23
 연산자 사용 방법과 if문과의 비교
3항 연산자
24
 연산자 사용 방법과 결과
전ㆍ후위 증감 연산자
25
 연산자 동작 개념
 연산 없이 출력하는 경우
1. number 변수의 값을 EAX에 저장
2. printf에 매개변수를 위해 스택에 저장(param 2)
3. printf에 매개변수를 위해 스택에 저장(param 1)
4. printf() 호출
5. ESP(Extended Stack Pointer) 이동
전ㆍ후위 증감 연산자
26
 연산자 동작 개념
 후위 연산의 경우
1. 현재 number의 값을 [ebp-0D0h]에 저장
2. number의 값을 ecx에 저장하고 1을 더한 후
number에 다시 저장
전ㆍ후위 증감 연산자
27
 연산자 동작 개념
 전위 연산의 경우
1. 현재 number의 값을 [ebp-0D0h]에 저장
1. number의 값을 eax에 저장하고 1을 더한 후
number에 다시 저장
전ㆍ후위 증감 연산자
28
 연산자 동작 개념
 연산자의 차이
전ㆍ후위 증감 연산자
29
Thank you

More Related Content

PPTX
[170517 5주차]C언어 A반
DOCX
TestBCD2018-2(answer)
PDF
2.Startup JavaScript - 연산자
PPTX
Startup JavaScript 3 - 조건문, 반복문, 예외처리
PDF
C++ Concurrency in Action 9-2 Interrupting threads
PPTX
javascript02
PDF
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...
[170517 5주차]C언어 A반
TestBCD2018-2(answer)
2.Startup JavaScript - 연산자
Startup JavaScript 3 - 조건문, 반복문, 예외처리
C++ Concurrency in Action 9-2 Interrupting threads
javascript02
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...

What's hot (20)

PDF
Data Structure - 1st Study
PPTX
7가지 동시성 모델 - 3장. 함수형 프로그래밍
PPTX
Startup JavaScript 6 - 함수, 스코프, 클로저
PDF
7가지 동시성 모델 4장
PDF
7. variable scope rule,-storage_class
PPTX
Startup JavaScript 4 - 객체
PDF
Unity Surface Shader for Artist 04
PDF
함수적 사고 2장
PDF
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
PPTX
R 프로그래밍 기본 문법
PDF
딥러닝기본-신경망기초
PDF
[C++ Korea] Effective Modern C++ MVA item 9 Prefer alias declarations to type...
PDF
알고리즘과 자료구조
PDF
5. queue
PDF
[KOSSA] C++ Programming - 13th Study - exception handling
PDF
2021 2학기 정기 세미나 5주차
PDF
Unity Surface Shader for Artist 02
PDF
Haskell study 10
PDF
[C++ korea] effective modern c++ study item 7 distinguish between () and {} w...
Data Structure - 1st Study
7가지 동시성 모델 - 3장. 함수형 프로그래밍
Startup JavaScript 6 - 함수, 스코프, 클로저
7가지 동시성 모델 4장
7. variable scope rule,-storage_class
Startup JavaScript 4 - 객체
Unity Surface Shader for Artist 04
함수적 사고 2장
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
R 프로그래밍 기본 문법
딥러닝기본-신경망기초
[C++ Korea] Effective Modern C++ MVA item 9 Prefer alias declarations to type...
알고리즘과 자료구조
5. queue
[KOSSA] C++ Programming - 13th Study - exception handling
2021 2학기 정기 세미나 5주차
Unity Surface Shader for Artist 02
Haskell study 10
[C++ korea] effective modern c++ study item 7 distinguish between () and {} w...
Ad

Similar to [170410 3주차]C언어 A반 (20)

PDF
게임프로그래밍입문 3주차
PDF
02장 자료형과 연산자
PPTX
System+os study 2
 
PPT
C수업자료
PPT
C수업자료
PDF
2 1. variables & data types
PPTX
[170327 1주차]C언어 A반
PDF
2015 Kitel C 언어 강좌1
PDF
2013 C++ Study For Students #1
PPT
자바 스터디(6기) 1
PDF
프로그래머가 알아야 하는 2진수 기반의 컴퓨터 동작 원리
PPTX
프로그래밍 및 실습 Chap2
PPTX
G+ Summer C Study 20130709(3일차)
PDF
2015 Kitel C 언어 강좌3
DOCX
자료구조 Project1
PPTX
Assembly 스터디 2
 
PDF
제3장 계산방법에대한 파이썬학습진행방법. 계산을 통해 python programing
PPTX
C review
PDF
코딩인카페 C&JAVA 기초과정 C프로그래밍(2)
PDF
HI-ARC PS 101
게임프로그래밍입문 3주차
02장 자료형과 연산자
System+os study 2
 
C수업자료
C수업자료
2 1. variables & data types
[170327 1주차]C언어 A반
2015 Kitel C 언어 강좌1
2013 C++ Study For Students #1
자바 스터디(6기) 1
프로그래머가 알아야 하는 2진수 기반의 컴퓨터 동작 원리
프로그래밍 및 실습 Chap2
G+ Summer C Study 20130709(3일차)
2015 Kitel C 언어 강좌3
자료구조 Project1
Assembly 스터디 2
 
제3장 계산방법에대한 파이썬학습진행방법. 계산을 통해 python programing
C review
코딩인카페 C&JAVA 기초과정 C프로그래밍(2)
HI-ARC PS 101
Ad

[170410 3주차]C언어 A반

  • 1. 최원빈 (bindon@korea.ac.kr) 고려대학교 2017. 04. 10. C 프로그래밍 이론 및 실습
  • 2. 2  반지름이 3인 원의 넓이, 둘레와 높이가 5인 부피 구하기  모듈화(함수 사용)  알맞은 define 또는 const 사용  알맞은 자료형 사용 지난 과제 풀이
  • 3. 3  일반적인 자료형 범위 기본 자료형의 종류
  • 4. 4  워룸 기준으로의 길이 확인 기본 자료형의 종류 64비트(x64)32비트(x86)
  • 5. 5  실수형 변수의 처리 방법  float  부호(1비트), 지수(8비트), 가수(23비트)  double  부호(1비트), 지수(11비트), 가수(52비트) 기본 자료형의 종류 1 8 23 1 11 52
  • 6. 6  실수형 변수의 값 확인 기본 자료형의 종류
  • 7. 7  실수형 변수의 값 확인 기본 자료형의 종류
  • 8. 8  실수형 변수의 값 확인(IEEE 754)  float : 000046c1 (little endian) c1460000 (big endian)  부호(1비트), 지수(8비트), 가수(23비트)  -12.375 = -1100.011(2) = -1.100011 × 23 (2)  부호 : 0(양수), 1(음수)  지수 : 10000010  가수 : 10001100000... 기본 자료형의 종류
  • 9. 9  정수형 부호 표현 기본 자료형의 종류
  • 10. 10  정수형 부호 표현  plus  12345(10)  39300000(2-little endian)  00003039(2-big endian) 기본 자료형의 종류
  • 11. 11  정수형 부호 표현  minus  -12345(10)  c7cfffff(2-little endian)  ffffcfc7(2-big endian) 기본 자료형의 종류
  • 12. 12  연산자 사용 방법 축약 연산자
  • 13. 13  연산자 사용 방법과 결과 1. number == 10 2. number = number + (1 * 2) == 12 3. number = number * (9 + 1) == 120 축약 연산자
  • 14. 14  연산자 사용 방법 비트 연산자
  • 15. 15  연산자 사용 방법과 결과 비트 연산자
  • 16. 16  연산자 사용 방법과 결과  left & right & 0011 0000 0011 1001 // left & 1101 0100 0011 0001 // right ----------------------------------------------- & 0001 0000 0011 0001 // result(4145) 비트 연산자
  • 17. 17  연산자 사용 방법과 결과  left | right | 0011 0000 0011 1001 // left | 1101 0100 0011 0001 // right ----------------------------------------------- | 1111 0100 0011 1001 // result(62521) 비트 연산자
  • 18. 18  연산자 사용 방법과 결과  ~left ~ 0011 0000 0011 1001 // left ----------------------------------------------- ~ 1100 1111 1100 0110 // result(-12346) 비트 연산자
  • 19. 19  연산자 사용 방법과 결과  left << 2 (* 2n의 효과) 0011 0000 0011 1001 // left 0110 0000 0111 0010 // left << 1 1100 0000 1110 0100 // left << 2 (49380) 비트 연산자
  • 20. 20  연산자 사용 방법과 결과  left >> 2 (* 2-n의 효과) 0011 0000 0011 1001 // left 0001 1000 0001 1100 // left >> 1 0000 1100 0000 1110 // left >> 2 (3086) 비트 연산자
  • 21. 21  연산자 사용 방법과 결과  result = (condition) ? (true val) : (false val) 3항 연산자
  • 22. 22  연산자 사용 방법과 if문과의 비교 3항 연산자
  • 23. 23  연산자 사용 방법과 if문과의 비교 3항 연산자
  • 24. 24  연산자 사용 방법과 결과 전ㆍ후위 증감 연산자
  • 25. 25  연산자 동작 개념  연산 없이 출력하는 경우 1. number 변수의 값을 EAX에 저장 2. printf에 매개변수를 위해 스택에 저장(param 2) 3. printf에 매개변수를 위해 스택에 저장(param 1) 4. printf() 호출 5. ESP(Extended Stack Pointer) 이동 전ㆍ후위 증감 연산자
  • 26. 26  연산자 동작 개념  후위 연산의 경우 1. 현재 number의 값을 [ebp-0D0h]에 저장 2. number의 값을 ecx에 저장하고 1을 더한 후 number에 다시 저장 전ㆍ후위 증감 연산자
  • 27. 27  연산자 동작 개념  전위 연산의 경우 1. 현재 number의 값을 [ebp-0D0h]에 저장 1. number의 값을 eax에 저장하고 1을 더한 후 number에 다시 저장 전ㆍ후위 증감 연산자
  • 28. 28  연산자 동작 개념  연산자의 차이 전ㆍ후위 증감 연산자