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

Similar documents
Microsoft PowerPoint - Chapter_04.pptx

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

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

Microsoft PowerPoint - chap06-2pointer.ppt

OCW_C언어 기초

Microsoft PowerPoint - chap04-연산자.pptx

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

Microsoft PowerPoint - [2009] 02.pptx

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

Microsoft PowerPoint - c2.ppt

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

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint Presentation

Microsoft PowerPoint - ch07 - 포인터 pm0415

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

PowerPoint 프레젠테이션

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - Chapter_02.pptx

OCW_C언어 기초

Microsoft PowerPoint - chap-05.pptx

본 강의에 들어가기 전

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

JAVA PROGRAMMING 실습 02. 표준 입출력

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

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

C++ Programming

Microsoft PowerPoint - chap-04.pptx

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

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

ABC 3장

Microsoft PowerPoint - C_Programming_Basics.ppt [호환 모드]

Microsoft PowerPoint - chap-04.pptx

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

Microsoft PowerPoint - chap03.ppt

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

PowerPoint Presentation

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

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

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

중간고사

Microsoft PowerPoint - chap06-1Array.ppt

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

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

1.1.1 컴퓨터의 구성 p.19

슬라이드 1

11장 포인터

ABC 3장

Microsoft PowerPoint - chap-03.pptx

TEST BANK & SOLUTION

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D20C1A635C0E520BCF6BDC4B0FABFACBBEAC0DA>

Microsoft PowerPoint - Lesson2.pptx

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

쉽게 풀어쓴 C 프로그래밍


강의 개요

C 프로그래밊 개요

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

버퍼오버플로우-왕기초편 3.c언어에서버퍼사용하기 버퍼는 임시기억공간 이라는포괄적인개념이기때문에여러곳에존재할수있습니다. 즉, CPU 에도버퍼가존재할수있으며, 하드디스크에도존재할수있고, CD- ROM 이나프린터에도존재할수있습니다. 그리고앞의예제에서보신바와같이일반프로그램에도

03 상수, 변수, 자료형

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap08-1 [호환 모드]

슬라이드 1

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

쉽게 풀어쓴 C 프로그래밍

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

C 프로그램의 기본

untitled

프로그래밍 및 연습 1

KNK_C_05_Pointers_Arrays_structures_summary_v02

K&R2 Reference Manual 번역본

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

10장. 구조체

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

Microsoft PowerPoint - lec3.ppt

OCW_C언어 기초

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

Microsoft PowerPoint - 제11장 포인터

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec2.ppt

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

PowerPoint Presentation

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

<4D F736F F F696E74202D2032C1D6C2F72D32C2F7BDC32028B0ADC0C7C0DAB7E D20BAAFBCF6BFCD20BFACBBEAC0DA>

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

02 장 :5 PM 페이지 첫번째프로그램분석 1 장에서작성한 first.c 파일의소스코드를분석해보자. 다음코드는앞서작성한코드와함께 C 언어의기본구성요소들을설명하기위해몇가지요소를추가한상태다. 소스코드

00목차

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

01....b

2007백서-001-특집

(291)본문7

Microsoft PowerPoint - 7장 배열 pptx

Transcription:

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

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

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

기본자료형의종류와데이터의표현범위 컴파일러에따라서약갂의차이를보인다. C의표준에서는자료형별상대적크기를표준화할뿐구체적인크기까지언급하지는않는다. 크게정수형과실수형으로나뉘다. 데이터를표현하는방식이정수형과실수형두가지로나뉘므로! 정수형에도실수형에도둘이상의기본자료형이존재한다. 표현하고자하는값의크기에따라서적젃히선택할수있도록다수의자료형이제공!

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

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

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

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

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

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

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

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

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

리터럴상수의자료형 실행결과 리터럴상수도자료형이결정되어야메모리공갂에저장이될수있다. 위예제의실행결과는다음사실을의미한다. 정수는기본적으로 int 형으로표현된다. 실수는기본적으로 double 형으로표현된다. 문자는기본적으로 int 형으로표현된다.

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

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

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

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

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

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

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

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

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