PowerPoint Presentation

Similar documents
슬라이드 1

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

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

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

Microsoft PowerPoint - Chapter_04.pptx

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

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

K&R2 Reference Manual 번역본

OCW_C언어 기초

슬라이드 1

PowerPoint Presentation

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

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - [2009] 02.pptx

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

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

PowerPoint Presentation

Microsoft PowerPoint - chap06-2pointer.ppt

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

OCW_C언어 기초

슬라이드 1

슬라이드 1

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

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

Microsoft PowerPoint - chap-03.pptx

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

OCW_C언어 기초

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

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - lec2.ppt

C 프로그램의 기본

Microsoft PowerPoint - chap-04.pptx

PowerPoint Presentation

Microsoft PowerPoint - chap06-1Array.ppt

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

ABC 2장

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

본 강의에 들어가기 전

ABC 3장

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - c2.ppt

Microsoft PowerPoint - Lesson2.pptx

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

기초컴퓨터프로그래밍

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - chap03.ppt

Microsoft PowerPoint - chap-04.pptx

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

슬라이드 1

untitled

PowerPoint Template

PowerPoint Presentation

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


11장 포인터

Microsoft PowerPoint - chap12-고급기능.pptx

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

C언어 및 실습 C Language and Practice

03 상수, 변수, 자료형

PowerPoint Presentation

<4D F736F F F696E74202D20C1A632B0AD20BAAFBCF6BFCD20C0DAB7E12C20C0FCC3B3B8AEBFCD20C0D4C3E2B7C2>

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

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

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

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

강의 개요

PowerPoint 프레젠테이션

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

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

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

PowerPoint 프레젠테이션

중간고사

11장 포인터

PowerPoint 프레젠테이션

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint 프레젠테이션

Microsoft PowerPoint - e pptx

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

untitled

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

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

Microsoft PowerPoint - 제11장 포인터

제4장 기본 의미구조 (Basic Semantics)

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - ch01.ppt

C# Programming Guide - Types

chap 5: Trees

Microsoft PowerPoint - chap05-제어문.pptx

슬라이드 1

PowerPoint Template

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

PowerPoint 프레젠테이션

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

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

Transcription:

컴퓨터프로그래밍 Computer Programming

03 자료형과변수

목차 1. 프로그래밍기초 2. 자료형과변수선언 3. 기본자료형 4. 상수표현방법 3

1. 프로그래밍기초

프로그램 C 프로그램은하나이상의여러함수가모여한프로그램으로구성 비주얼스튜디오 솔루션은여러개의프로젝트로구성 다시프로젝트는여러소스파일을포함한여러자원 resource 으로구성 한프로젝트는단하나의함수 main() 과다른여러함수로구현 최종적으로프로젝트이름으로하나의실행파일이생성 5

프로그램시작과종료 시작된함수 main() 내부 위에서아래로, 좌에서우로, 문장이위치한순서대로실행 중간에 puts( ) 와 power( ) 처럼함수가호출 호출된함수로이동하여그함수를모두실행한후다시돌아와그이후의문장을실행 6

C 프로그램소스의구조 C 프로그램은적어도 main() 함수하나는구현되어야응용프로그램으로실행가능 함수의구현은여러문장으로구성 프로그래머가만든사용자정의함수또는시스템이만든표준라이브러리함수호출이실행 7

C 프로그램의구성과실행 8

키워드 문법적으로고유한의미를갖는예약된단어 예약 되었다는의미 프로그램코드를작성하는사람이이단어들을다른용도로사용해서는안된다는뜻 예약어reserved word C 프로그램에서는미국표준화위원회 ANSI: American National Standard Institute auto break case char const default do double else enum float for goto if int long return short signed sizeof static struct typedef union unsigned void volatile while 지정한 32 개의기본적인단어 비주얼스튜디오편집기 키워드는기본적으로파란색으로표시 9

식별자 identifiers 식별자사용규칙 구성 영문자 ( 대소문자알파벳 ) 숫자 (0 ~ 9) 밑줄 (_) 로구성 식별자의첫문자로숫자가나올수없음 프로그램내부의일정한영역에서는서로구별 키워드는식별자로이용할수없음 식별자는대소문자를모두구별 예를들어, 변수 Count, count, COUNT 는모두다른변수 식별자의중간에공백 (space) 문자가들어갈수없음 프로그래머가자기마음대로정의해서사용하는단어 변수이름 age, year 등 함수이름 puts, main, printf 등 10

식별자 identifiers 11

문장 statement 컴퓨터에게명령을내리는최소단위를문장 statement 문장은마지막에세미콜론 ; 으로종료 문장마지막에 ; 을빠뜨리면 컴파일시간에문법오류가발생 12

블록과들여쓰기 블록 여러개의문장을묶으면블록 block { 문장 1, 문장 2, } 처럼중괄호로열고닫음 들여쓰기 블록내부에서문장들을탭 tab 정도만큼오른쪽으로들여쓰는소스작성방식 13

적절한소스구성 적절한줄구분과빈줄삽입, 그리고들여쓰기는프로그램의이해력을돕는데매우중요한요소 14

주석의정의와중요성 주석 comments 문장과달리프로그램내용에는전혀영향을미치지않는설명문 주석은매우중요한프로그램의과정 자신을비롯한이소스를보는모든사람이이해할수있도록도움이되는설명을담고있어야함 주석은개발시에도필요하지만개발이후에유지보수기간에는더욱더중요한역할 개인이나팀, 또는프로젝트에서주석처리형식을통일성있게만들어꼼꼼히작성할필요 잘처리된주석이란시각적으로정돈된느낌 프로그램의내용을적절히설명 15

주석의예제 16

주석처리방법 한줄주석 // // 이후부터그줄의마지막까지주석으로인식 현재줄의처음이나, 문장뒤부터중간에서의주석은주로한줄주석을이용 구현방법이나작동방식을설명하는주석으로처리 블록주석 /* */ /* */ 은여러줄에걸쳐설명을사용할때이용 주석시작은 /* 로표시하며, 종료는 */ 로표시 프로그램의처음부분에는주로여러줄에걸친블록주석을사용 작성자와소스의목적 프로그램의전체적구조와저작권정보등파일관련정보 함수의시작부분 프로그램의기능과함께매개변수등을주석처리 블록주석의중첩은오류 17

Source Code #01: comments.c 키워드와식별자그리고주석등을이해하기위한간단한소스 솔루션과프로젝트 : Ch03 / Project01 소스파일 : comments.c 한줄주석 // 에서시작표시인 // 이후부터는어떤입력도주석으로인식 한줄 // 주석은중복되어도상관없음 /* 등이나타나도아무문제가없음 주석은문자열내부에서는단지문자열이지주석으로인식되지못함 문자열에서의 \n 특수문자 \n 은새로운줄 (new line) 로이동을지시하는문자로문자열내부에사용이가능 18

2. 자료형과변수선언

자료형 프로그래밍언어에서자료를식별하는종류 기본형basic types 유도형derived types 사용자정의형user defined types 20

자료형 21

저장공간 저장공간을변수 variables 라부름 변수에는고유한이름이주어짐 물리적으로기억장치인메모리에위치 변수에여러값을저장가능 저장되는값에따라변수값은바뀔수있음 마지막에저장된하나의값만저장유지 22

저장공간 23

변수선언 그릇을변수라고한다면그릇에이름을붙여준비하는것을변수선언 컴파일러에게프로그램에서사용할저장공간인변수를알리는역할 자신에게도변수를사용하겠다는약속의미 변수는고유한이름이붙여지고, 자료값이저장되는영역 24

변수선언 25

자료형을지정한후변수이름을나열 int, double, float와같이자료형키워드를사용 변수이름은관습적으로소문자를이용 사용목적에알맞은이름으로특정한영역에서중복되지않도록 변수선언도하나의문장이므로세미콜론으로종료 변수선언이후에는정해진변수이름으로값을저장하거나값을참조가능 26

자료형을지정한후변수이름을나열 27

Source Code #02: var.c 정수형 int 변수 snum 선언 정수형 int 변수 credits 선언 변수 snum 에학번저장 변수 credits 에신청한학점저장 각각변수 snum 과 credits 에저장된값을출력 28

대입문 원하는자료값을선언된변수에저장 대입연산자 assignment operator 표시인 = 를사용 오른쪽에위치한값을이미선언된왼쪽변수에저장한다라는의미 대입문assignment statement 변수명 age 를 int 형으로선언한후, 변수 age 에 20 을저장하는문장 가장마지막에저장된값만이남음 29

대입문 30

Source Code #03: sum.c 변수 math, korean, science, total 선언과사용 31

초기값저장 변수를선언하면서변수명이후에대입연산자 = 와수식이나값이오면바로지정한값으로초기값이저장 오류가발생 변수를선언만하고자료값이아무것도저장하지않으면원치않는값이저장 초기값이없는변수를사용하면오류 변수를선언한이후에는반드시값을저장 32

변수초기화 33

대입에서 l-value 와 r-value 대입연산자 = 의왼쪽에위치하는변수를 lvalue 또는 l-value 라하며 l-value는반드시수정이가능한하나의변수이어야함 r-value는 l-value에저장할자료값을반환하는표현식 21 = 20 + 1과문장은오류가발생 34

초기화되지않은지역변수의저장값과오류 함수내부에서선언된변수를지역변수local variables 초기화되지않은지역변수는그저장값이정의되지않음 소위쓰레기값이라고부르는의미없는값이저장 초기화되지않은지역변수를다른문장에서사용하면 C4700 컴파일오류가발생 35

Source Code #04: subtraction.c 변수 num1, num2 사용 변수 difference 에차를저장 36

변수의 3 요소 변수이름, 변수의자료형, 변수저장값 37

= 의왼쪽과오른쪽 변수의의미는저장공간자체와저장공간에저장된값으로나뉨 대입연산자 = 의왼쪽에위치한변수는저장공간자체의사용을의미 대입연산자 = 의오른쪽에위치한변수는저장값의사용을의미 16 30 14 38

Lab #01: 두정수의합, 두부동소수의차출력 두정수의합과두실수의차가출력되는프로그램 결과 정수를위한자료형은 int 로, 실수를위한자료형은 double 로이용 합을위한연산자 +, 두실수의차를위한연산자 와결과저장을위한변수 difference 합 : 73 차 : -7.003000 39

3. 기본자료형

자료형 C 의자료형 기본형 basic data types, 유도형 derived data types, 사용자정의형user defined data types 기본이되는자료형 다시정수형, 부동소수형, 문자형, 무치형 무치형자료형 : void 아무런자료형도지정하지않은자료형 함수의인자위치에놓이면 인자가없다 라는의미로사용 함수의반환값에놓으면 반환값이없다 라는의미 유도형 배열 array, 포인터 pointer, 함수 function 등으로구성 사용자정의형 기본형과유도형을이용하여프로그래머가다시만드는자료형 열거형 enumeration 구조체 structure 공용체 union 41

자료형 42

정수형 int 정수형 (integer types) 의기본키워드 : int 십진수, 팔진수, 십육진수의정수가다양하게저장 파생된자료형 : short 와 long short, short int int 보다작거나같고 short 에너무큰값을저장한다면아예저장이되지않으며 long, long int int 보다크거나같고 long 에너무작은값을저장한다면그만큼자원의낭비 정수형 short, int, long 모두양수, 0, 음수를모두표현 43

[ 부호가있는 ] signed 키워드 정수형자료형키워드앞에표시가능 signed 키워드는생략가능 signed int 와 int 는같은자료형 44

키워드 unsigned 0 과양수만을처리 short, int, long 앞에표시 unsigned int, int 는동일 45

정수형저장공간 비주얼스튜디오 short는 2바이트 int, long은모두 4바이트 int는 short보다표현범위가넓으며 long과는동일 46

정수형저장공간 저장공간크기 n 비트인 singed -2n-1 에서 2n-1-1 까지유효 저장공간크기 n 비트인 unsinged 0 에서 2n-1 까지유효 47

Source Code #05: integer.c 21 억보다큰정수의사용 48

C99 표준 1999 년에제정한 C99 표준에따르면정수형을다음과같이 5 개로구분 49

자료형 long long int 간단히 long long 으로사용할수있으며 약 922 경정도의수를음수와양수로지원 unsigned long long 은 0 에서약 1,844 경까지지원 50

Source Code #06: float.c 실수를위한저장공간사용 51

부동소수형 3 가지 키워드는 float, double, long double 세가지 비주얼스튜디오 float 는 4 바이트이며, double 과 long double 은모두 8 바이트 52

Source Code #07: char.c 문자저장공간사용 53

문자형 char char, signed char, unsigned char 세가지종류 문자형저장공간크기는모두 1바이트 키워드 signed와 unsigned를함께이용가능 비주얼스튜디오 char 는 signed char 와같으나, 컴파일러에따라다를수있음 54

문자형자료형저장방법 a 와같이문자상수를이용하거나, 정수를직접저장 문자코드값저장 \ddd 와같이세자리의팔진수로, \xhh 와같이두자리의십육진수로표현 55

아스키코드 C 언어에서문자형자료공간에저장되는값 실제로정수값이며 아스키코드표에의한값 아스키코드 ASCII: American Standard Code for Information ANSI(American National Standards Institute) 에서제정한정보교환용표준코드 총 127 개의문자로구성 소문자 a 16 진수로 61 이진수로는 1100001 십진수로 97 56

Source Code #08: size.c 연산자 sizeof 사용 57

문자형 char 기본자료형은 long long 을포함하면모두 14 가지 58

연산자 sizeof 자료형, 변수, 상수의저장공간크기를바이트단위반환 자료형키워드로직접저장공간크기를알려면자료형키워드에괄호가반드시필요 59

Source Code #09: overflow.c 자료형의범주에서벗어난값을저장 오버플로 overflow / 언더플로 underflow 가발생 60

오버플로와언더플로 오버플로 자료형 unsigned char 8 비트로 0 에서 255 까지저장가능 만일 256 을저장하면 0 으로저장 정수의순환 정수형자료형에서최대값 +1 은오버플로로인해최소값이저장 마찬가지로최소값 -1 은최대값 언더플로 실수형 float 변수에정밀도가매우자세한수를저장하면언더플로 underflow 가발생 0 이저장 61

Lab #02: 아스키코드값 126 문자 ~ 의다양한출력 다음결과로출력되는프로그램을작성 문자 ~ 의코드값 십진수 126 팔진수 176 십육진수 72 출력을위한함수 print() 에서 %d 로정수를, %c 로문자를출력 62

상수의종류와표현방법 상수 constant 이름없이있는그대로표현한자료값 우린생활에서숫자 32, 32.4, 문자 *, &, # 그리고문자열 Hello World! 등을사용 이름이있으나정해진하나의값만으로사용되는자료값 리터럴상수 소스에그대로표현해의미가전달되는다양한자료값 10, 24.3 과같은수, C 는흥미롭습니다. 와같은문자열 심볼릭상수 변수처럼이름을갖는상수 심볼릭상수를표현하는방법, 세가지 const 상수const constant 매크로상수macro constant 열거형상수enumeration constant 63

상수의종류와표현방법 64

상수의종류와표현방법 65

정수와실수, 문자와문자열 리터럴상수 정수, 실수 문자, 문자열상수 문자상수표현 문자하나의앞뒤에작은따옴표 single quote 를넣어표현 \ddd 팔진수코드값을이용 \xhh 십육진수코드값을이용 코드값이 97 인문자 A 함수 printf() \141 와 \x61 로표현 문자상수를출력하려면 %c 또는 %C 사용 %c 의 c 는문자 character 를의미 66

정수와실수, 문자와문자열 67

정수와실수, 문자와문자열 68

Source Code #10: charliteral.c 문자리터럴의표현과출력 69

이스케이프문자 \n 와같이역슬래쉬 \ 와문자의조합으로표현하는문자 \n 이새로운줄 (new line) 을의미하는대표적인이스케이프문자 문자열에도사용가능 이스케이프문자는제어문자, 특수문자또는확장문자라고도부름 70

이스케이프문자 71

정수형리터럴상수의다양한형태 100L, 20U, 5000UL 정수뒤에 l 또는 L을붙이면 long int u 또는 U는 unsigned int ul 또는 UL은 unsigned long long long형은 LL, ll과 ULL, ull 72

2 진수와 16 진수표현방식 상수의정수표현은 10진수로인식 숫자 0을정수앞에놓으면 8진수 octal number 로인식 숫자 0과알파벳으로 0x, 0X를숫자앞, 16진수 hexadecimal number 로인식 십육진수는 0 에서 9 까지의수와알파벳 a, b, c, d, e, f( 대소문자모두가능 ) 함수 printf() 에서정수를출력 %d의사용 d는십진수라는 decimal 73

8 진수와 16 진수의상수표현과출력 74

실수리터럴상수 지수표현방식 : 3.14E+2는 3.14*102 함수 printf() 에서지수표현방식과함께일반실수를출력 %f의형식제어문자를사용, f는실수를의미하는 float에서나온 f 형식제어문자 %f로출력되는실수는소수점 6자리까지출력 실수형상수 : float, double, long double 소수는 double 유형 float 상수 : 숫자뒤에 f나 F를붙임 long double 상수 : 숫자뒤에L 또는 l을붙여표시 75

실수리터럴상수 76

실수리터럴상수 77

심볼릭 const 상수 키워드 const 변수로는선언되지만일반변수와는달리초기값을수정할수없으며 이름이있는심볼릭상수constant number 상수는변수선언시반드시초기값을저장 상수는다른변수와구별하기위해관례적으로모두대문자로선언 78

심볼릭 const 상수 변수 RATE 상수로선언하는구문 선언이후저장값을수정 대입문장에서컴파일오류 C2166 이발생 이자율을 3% 에서 3.2% 로수정하려면 const 가있는선언문에서직접 0.03 을 0.032 로수정 79

Source Code #11: const.c 키워드 const 사용한심볼릭상수이용 80

문자열리터럴 char* 변수에저장 * 는포인터 (pointer) 라는의미의문자 변수 str에는대입한문자열에서첫문자의주소 (address) 가저장되는변수 변수 title 에서다른문자열로대체할수없도록상수로만들려면 반드시 title 앞에 const를삽입 만일 char* 앞에 const를삽입하면문법적으로다른의미 81

Source Code #12: enum.c Enum 을사용한정수상수의이용 82

열거형상수의이용 열거형 : 정수형상수목록집합을정의하는자료형 열거형상수에서목록첫상수의기본값이 0 다음부터 1 씩증가하는방식으로상수값이자동으로부여 83

열거형상수의이용 상수목록에서특정한정수지정가능 상수값을지정한상수는그값으로, 따로지정되지않은첫번째상수는 0 이며, 중간상수는앞의상수보다 1 씩증가한상수값으로지정 84

매크로상수 전처리기지시자 #define 매크로상수 macro constant 를정의하는지시자 주로대문자이름으로정의 전처리기 preprocessor : 매크로상수를모두 #define 지시자에서정의된문자열로대체 replace 85

매크로상수 86

매크로상수 87

Lab #03: 부동소수형최대최소매크로상수출력 헤더파일 float.h 에정의된최대최소상수를출력하는프로그램작성 결과 자료형 float 의최대최소매크로상수 : FLT_MIN, FLT_MAX 자료형 double 의최대최소매크로상수 : DBL_MIN, DBL_MAX 위상수를참고로자료형 long double 의최대최소매크로상수출력 출력을위한함수 printf() 에서 %e 로부동소수형출력 float 범위 : 1.175494e-38 3.402823e+38 double 범위 : 1.175494e-38 3.402823e+38 long double 범위 : 2.225074e-308 1.797693e+308 88

89