03 상수, 변수, 자료형

Similar documents
Microsoft PowerPoint - chap4_2013 [호환 모드]

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

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

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

Microsoft PowerPoint - [2009] 02.pptx

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

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - ch07 - 포인터 pm0415

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

C 프로그램의 기본

PowerPoint Presentation

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

OCW_C언어 기초

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - Chapter_04.pptx

OCW_C언어 기초

Microsoft PowerPoint - chap06-1Array.ppt

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

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

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

Microsoft PowerPoint - chap-03.pptx

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

PowerPoint 프레젠테이션

untitled

PowerPoint 프레젠테이션

슬라이드 1

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

13 주차문자열의표현과입출력

OCW_C언어 기초

Microsoft PowerPoint - Lesson2.pptx

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

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

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

11장 포인터

슬라이드 1

1.1.1 컴퓨터의 구성 p.19

PowerPoint Presentation

Microsoft PowerPoint - chap-04.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

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

쉽게 풀어쓴 C 프로그래밍

歯9장.PDF

Microsoft PowerPoint - chap-04.pptx

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

PowerPoint Presentation

ABC 3장

슬라이드 1

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

슬라이드 1

본 강의에 들어가기 전

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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - chap04-연산자.pptx

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

Microsoft PowerPoint - chap03.ppt

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

chap7.key

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

Microsoft PowerPoint - 제11장 포인터

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

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - c2.ppt

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - 제9강 문자열

KNK_C02_form_IO_kor

11장 포인터

Microsoft PowerPoint APUE(Intro).ppt

PowerPoint 프레젠테이션

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx

Microsoft PowerPoint - 10장 문자열 pptx

C 프로그래밊 개요

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

02장.배열과 클래스

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

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


KNK_C_05_Pointers_Arrays_structures_summary_v02

ABC 2장

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

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap06-4 [호환 모드]

Microsoft PowerPoint 웹 연동 기술.pptx

C 언어와 프로그래밍 개요

쉽게 풀어쓴 C 프로그래밍

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

untitled

PowerPoint 프레젠테이션

YRRZBRRLMCEQ.hwp

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

JAVA PROGRAMMING 실습 02. 표준 입출력

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

Microsoft PowerPoint - 제11강 파일 처리

1.1.1 컴퓨터의 구성 p.19

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

<4D F736F F F696E74202D20C1A632B0AD20BAAFBCF6BFCD20C0DAB7E12C20C0FCC3B3B8AEBFCD20C0D4C3E2B7C2>

Transcription:

Part 03 상수, 변수, 자료형 1

이장의내용 자료형이란무엇인가? 상수와변수 정수형 부동소수형 문자형 2

3.1 자료형이란무엇인가? 3

자료형이란무엇인가? 자료형 (data type) 프로그램에서표현혹은저장하는데이터의종류혹은유형 C 언어의자료형 C 언어는 1 개의문자형, 4 개의정수형, 3 개의부동소수형을제공 4

3.2 변수 /3.3 상수 5

변수 변수 (variable) 데이터를저장하는데사용되는기억장소의이름이다. 사용전변수선언 변수이름과저장할데이터값의유형 ( 자료형 ) 을지정해야한다. 자료형변수이름 ; char c; short sum; 6

상수 상수 (constant) 프로그램이실행되는동안값이변하지않는데이터 정수형상수, 문자형상수, 부동소수형상수로구분할수있다. 예 'A', 'x' 는문자형상수 -10, 0, 55는정수형상수 3.14, 300.25는부동소수형상수 7

식별자 식별자 변수, 상수, 함수등에대한이름 문자와숫자로구성되며첫번째글자는반드시문자 밑줄문자 _ 도하나의문자로사용될수있음 대소문자를구별 8

변수의초기화 변수를선언하면서그초기값을정할수도있다 변수초기화는반드시해야하는것은아니고선택사항 int sum = 0; 9

변수의초기화 10

대입문을이용한변수값변경 대입문 (assignment statement) 변수에새로운값을저장함으로써기존값을변경한다. 대입연산자 (=) 의오른쪽식이계산되고, 그결과값이왼쪽변수에저장된다. sum = 10; 11

score.c 12

변수값변경과정 13

변수값증가 대입문오른쪽과왼쪽에나타난변수는다른의미 대입문오른쪽변수는그변수로부터읽어온값을의미 대입문왼쪽변수는그변수에저장 ( 쓰기 ) 의미 sum = sum + 1; 변수에접근 ( 읽기 ) 은그값을변경시키지않음. 변수에대입 ( 쓰기 ) 은이전데이터를새로운데이터로대체 14

15

이름상수 이름상수 (named constant) 상수에이름이부여되어있는것. 이름상수에는식별자가부여되어있으므로이름상수는변수와유사하지만상수이므로값을변경할수없다. 예약어 const const int MAX_STUDENT = 20000; 16

3.4 자료형 17

정수형 크게 4 개의정수형 char, short, int, long 18

정수표현 8 비트를이용한양수와음수표현예 첫번째비트는부호비트로서, 0은양수 1은음수를나타낸다. 나머지 7개의비트들은수의크기를나타낸다. 음수표현 연산의효율성을위해수의크기를 2 의보수형태로나타낸다. 19

변수에기억공간할당 기억공간할당 정수형종류에따라해당변수에다른크기로할당 sizeof() 연산자 자료형의크기를나타내는연산자 20

21

정수형오버플로우 정수형오버플로우 정수형에서저장할수있는수보다더큰수나더작은수를저장 예 32 비트 int 가장큰수 (2 31-1 = 2,147,483,647) 에 1 을더하면어떻게될까? 질문 long budget = 237000000000000L; 22

unsigned 정수형 0 과양의정수만을나타낼수있는 unsigned 정수형 음수를표현할수없는대신에나타낼수있는양의정수가두배 23

부동소수형 C 언어의 3 개의부동소수형 float, double, long double 부동소수점 (floating-point) 이란? 부동소수점에서점 (point) 은소수점을말하며, 이소수점이수의어느위치에도올수있으므로부동소수점이라고한다. 24

문자형 각문자에고유번호를부여한코드를사용하여표현한다. C 에서는 ASCII 코드를사용한다. ASCII(American Standard Code for Information Interchange) 128 개의문자를 7 비트를사용하여표현 (8 비트로확장됨 ) 대문자 (A, B, C 등등 ) 소문자 (a, b, c 등등 ) 구두점 (punctuation)( 마침표, 세미콜론, 쉼표등등 ) 숫자 (digit)(0 에서 9 까지 ) 공백문자 ( ) 특수문자 (&,, \ 등 ) 제어문자 열복귀 (carriage return), 널 (null), 문서 - 끝 - 표시자 (end-of-text) 액센트 (accent) 가있는문자 25

ASCII 코드표 표 3.1) ASCII 코드표 26

27

28

문자형관련입출력함수 문자형관련입출력함수 getchar() putchar() int getchar() 매개변수가없으며한문자를읽어그문자의 ASCII 값을반환한다. 파일끝에도달하면 EOF 를반환한다. <stdio.h> 파일을 #include 해야한다. int putchar(int c) 한글자를받아화면에출력하고출력한문자의 ASCII 값을반환한다. 오류시에는 EOF 를반환한다. <stdio.h> 파일을 #include 해야한다. 다음예제프로그램 char.c 1 키보드로부터한개문자읽기 2 문자로출력 3 ASCII 값을보기위해정수로출력 29

char.c 30

getchar, putchar: 문자입출력 표준입력 a... 문자 getchar 'a' 대문자로변환하는함수 toupper() 문자 'A' putchar...a 표준출력 31

32

이스케이프시퀀스 이스케이프시퀀스 (escape sequence) 백슬래쉬문자 (\) 로시작하고, 다음문자는특별한방식으로해석 예를들어이중인용부호문자 (") 출력 : \" 33

34

4.2 표준입출력 35

표준입출력 표준입출력 (standard input/output) 거의모든컴퓨터가기본적으로수행하는입출력 입출력모두문자열로구성되어있다고간주함 표준입력은통상키보드, 표준출력은통상모니터를나타냄 표준입출력라이브러리 C 언어는표준입출력을다루는명령어를제공하지않고함수를제공하고있음 함수의인터페이스 (interface) 를표준에서정의하고있을뿐, 함수를구현하는방법은시스템마다다를수있음 이러한표준입출력함수는라이브러리로제공됨 36

표준라이브러리 라이브러리 (library) 미리작성해둔프로그램 표준라이브러리 (standard library) 컴퓨터시스템이달라도같은기능 (same functionality) 을같은방식 (same interface) 으로사용할수있도록작성해둔라이브러리 표준입출력라이브러리 (standard input/output library) 표준입출력을다루는프로그램 ( 함수 ) 집합 37

printf: 형식에맞는출력 printf 포맷스트링은데이터변환을지시함 정수 i 2 %d 문자열 "2" 3.14 실수 f %f 문자열 "3.140000" 문자 c '5' %c 문자열 "5" 38

printf 포맷스트링 자료형변환규칙을규정하는문자열 printf 의첫번째인수로사용됨 39

printf 출력폭지정 포맷스트링에서 % 다음에양의정수를기입하여출력폭지정 실행결과 : i = 2 f = 3.141593 c = 5 10 칸 40

printf 정밀도지정 포맷스트링에서 % 와 f 사이에 ( 출력폭이지정된경우, 출력폭다음에 ) ". 양수 " 형태로정밀도지정 실행결과 : pi = 3.141593 pi = 3.14 pi = 3.141592653590 10 칸 41

scanf: 형식에맞는입력 주소연산자 & 를사용한점에주의! scanf 포맷스트링은문자열을데이터로변환함 문자열 "27" 정수 n %d 27 42

scanf 에서주의할점 주소연산자 (address-of operator) & 다음 scanf 에서두번째인수에주의 scanf("%d", &n); 표준입력에서변환한값을저장할장소를알아야하기때문에변수 n 의주소 (&n) 을두번째인수로사용함 주소연산자를누락시키면실행시간오류 포맷스트링 %c 의특이함 포맷스트링 %c 는공백을건너뛰지않음 포맷스트링에공백이하나라도있으면여러공백문자에대응함 scanf("%d%c", ) scanf("%d %c", ) 포맷스트링 %c 를제외하고는모두공백을건너뜀 scanf("%d%d", ) scanf("%d %d", ) 43

scanf: 프롬프트를사용한버전 바로이것이프롬프트! 입력할내용을설명해준다. 44

scanf 포맷스트링 TIP: double 타입으로입력받아야할경우에는 %f 대신 %lf 를사용한다. 45

gets, puts: 줄단위입출력 C99 에서는 const int 로배열크기선언이가능함 실행결과 : 사용자가입력한 \n puts 가출력한 \n line 에는여기까지만저장됨 (\n 은제외됨 ) 46

gets, puts 주의점 줄바꿈문자처리 gets 는 \n 을떼고 \0 을붙여준다. puts 는 \n 을문자열출력끝에자동으로붙여준다. 주의 : fgets, fputs 는다르게동작한다. 이전예에서 gets 처리후 line[256] 상황 버퍼오버런 (buffer overrun) 버퍼 ( 임시저장소 ) 의범위를넘어섬 gets 와 puts 는버퍼오버런의위험이있음 fgets, fputs 를 사용하는것이권장됨. 47

프로그래밍실습 48

프로그래밍실습 2 2. 5 의배수를순서대로계산하여프린트하고그합을계산하여프린트한다. (1) int 변수 i 를선언하고 0 으로초기화한다. 이변수를 5 씩증가하면서 50 까지의 5 의배수를프린트하는프로그램을작성하라. int main( ) { int i; } (2) 실습 1 의프로그램을확장하여 0 부터 50 사이의 5 의배수들의합을계산하여프린트하는프로그램을작성하라. 49