Microsoft PowerPoint - lec3.ppt

Similar documents
4장.문장

OCW_C언어 기초

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

JAVA PROGRAMMING 실습 02. 표준 입출력

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - chap04-연산자.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap05-제어문.pptx

C# 입문 : 이론과 실습

K&R2 Reference Manual 번역본

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Infinity(∞) Strategy

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - C++ 5 .pptx

Java ...

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec02_ ppt [호환 모드]

PowerPoint Presentation

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch07 - 포인터 pm0415

03장.스택.key

슬라이드 1

쉽게

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

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

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint Presentation

Microsoft PowerPoint - [2009] 02.pptx

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

슬라이드 1

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

CHAPTER 02 데이터형과수식 JAVA Programing

Microsoft PowerPoint - Chapter_04.pptx

untitled

TEST BANK & SOLUTION

PowerPoint Presentation

프로그래밍 및 연습 1

Microsoft PowerPoint - Chapter_02.pptx

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

C++ Programming

untitled

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - 2강

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-05.pptx

02 C h a p t e r Java

PowerPoint Presentation

슬라이드 1

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

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

11장 포인터

Microsoft PowerPoint - e pptx

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

쉽게 풀어쓴 C 프로그래밍

Tcl의 문법

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

5.스택(강의자료).key

PowerPoint Presentation

Microsoft PowerPoint - c2.ppt

본 강의에 들어가기 전

Java

Microsoft PowerPoint - 04-UDP Programming.ppt

06 세상을 변화시키는 연산자

Microsoft PowerPoint - chap-06.pptx

Microsoft PowerPoint - Java7.pptx

Chapter_06

쉽게 풀어쓴 C 프로그래밍

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

PowerPoint 프레젠테이션

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

윈도우즈프로그래밍(1)

C프로-3장c03逞풚

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - lec12 [호환 모드]

슬라이드 1

PowerPoint 프레젠테이션

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

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

슬라이드 1

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 2

untitled


1.1.1 컴퓨터의 구성 p.19

Microsoft PowerPoint 자바스크립트(1).pptx

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

KNK_C03_Expr_kor

Microsoft PowerPoint - CSharp-2-기초문법

어휘구조 자료형 연산자 형변환 [2/49]

12-file.key

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

Transcription:

2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만

강의내용 연산자 (operator) 연산자종류연산자우선순위자료형변환 문장 (statement) 배정문 혼합문 제어문조건문, 반복문, 분기문 표준입출력 2

연산자 식 (expression) 의의미를결정 식은연산자 (operator) 와피연자 (operand) 로구성식의값에따라산술식, 관계식, 논리식으로구분 표준 C 언어와유사 연산자의의미와사용법습득 수학적인의미와구별 3

연산자종류 산술연산자 : + - * / % 단항 + 단항 - 관계연산자 : > >= < <= ==!= 자바언어의연산자 논리연산자 : &&! 증감연산자 : ++ -- 비트연산자 : & ^ ~ << >> >>> 조건연산자 :? : 배정연산자 : = += -= *= /= %= &= ^= = >>= <<= >>>= 배열연산자 : [] 메소드연산자 : (). 캐스트연산자 : ( 자료형 ) instanceof 연산자 : instanceof 4

산술연산자 수치연산을나타내는연산자 단항산술연산자 : +, - 이항산술연산자 : +, -, *, /, % 실수형연산 부동소수점표현방법과연산방법 : IEEE 754 표준 underflow, overflow 무한연산 (infinite arithmetic) java.lang.float, java.lang.double 클래스에서기호상수제공 POSITIVE_INFINITY (+ ) NEGATIVE_INFINITY(- ) NaN(Not a Number) 5

관계연산자 두개의값을비교하는연산자 연산결과 : true or false 관계연산자가포함된식 : 관계식 for, while, do-while 의조건식 <, <=, >, >=, ==,!= 6

논리연산자 두피연산자의논리관계를나타내는연산자연산자의종류!, &&, 7

증가및감소연산자 연산자기호 ++, -- 변수가아닌식에는사용못함 실수형적용안됨 : (a+b)++ // error n = 1; x = ++n; // x=2, n=2 전위연산자 (prefix operator) 후위연산자 (postfix operator) n = 1; x = n++; // x=1, n=2 8

조건연산자 조건연산자 형태 : 식 1? 식 2: 식 3 (3 항연산자 ) max = x > y? x : y ; 참 x > y if (x > y) max = x; else max = y; 거짓 max = x; max = y; 9

배정연산자의형태 배정연산자 식 1 = 식 1 op 식 2 식 1 op= 식 2 결합연산자 산술연산자 : + - * / % 비트연산자 : & ^ << >> >>> 의미 : sum += i ; sum = sum + i ; x *= y + 1 ; x = x * y + 1 ; x = x * (y+1) 10

캐스트연산자 --- 자료형변환연산자 형태 : ( 자료형 ) 식 캐스트연산자 캐스트연산자사용예 : (int) 3.75 ===> 3 (float) 3 ===> 3.0 (float) (1 / 2) ===> 0.0 (float) 1 / 2 ===> 0.5 정수사이의연산결과는정수 11

연산자우선순위 연산자결합법칙우선순위 () []. 좌측결합! ~ ++ -- 단항 + 단항 -( 자료형 ) 우측결합 ( 높음 ) * / % 좌측결합 + - 좌측결합 << >> >>> 좌측결합 < <= > >= instanceof 좌측결합 ==!= 좌측결합 & 좌측결합 ^ 좌측결합 좌측결합 && 좌측결합 좌측결합? : 우측결합 = += -= *= /= %= &= ^= = <<= >>= >>>= 우측결합 ( 낮음 ) 12

자료형의크기방향 자료형변환 광역화형변환작은자료형의값을큰자료형의값으로변환협소화형변환큰자료형의값을작은자료형의값으로변환 형변환의주체 묵시적형변환컴파일러에의해자동수행명시적형변환캐스팅을이용하여프로그래머가형변환을명시 13

광역화형변환 자료형크기변환 컴파일러에의해자동으로수행되는묵시적변환 예 : byte short, int, long, float, double short int, long, float, double char int, long, float, double int long, float, double long float, double float double 정밀도상실 int float long float long double 14

협소화형변환 프로그래머가반드시캐스트연산자를사용하여변환될자료형 을표시하여변환 예 : byte char short byte, char char byte, short int byte, short, char long byte, short, char, int float byte, short, char, int, long double byte, short, char, int, long, float 15

묵시적형변환 자료형변환주체 컴파일러에의해자동적으로수행 char c = A ; short s=1; int i=2; long l=3; float f=2.1f; double d=3.2; 1 i = ( c + s ); // i = 66 (int) (int) (short) (short) (int) 16

2 l = s + i ; // l = 3 (long) (short) (int) (long) (int) 3 d = f + d; // d = 5.3 (double) (float) (double) (double) (double) 17

명시적형변환 프로그래머가캐스트연산자를사용하여변환 char c = A ; short s=1; int i=2; long l=3; float f=2.1f; double d=3.2; 1 s = (short) ( c + i ); // s = 67 (short) (char) (int) (short) (int) 18

2 f = (float) ( f + d ); // f = 5.3 (float) (float) (double) (float) (double) 19

박싱 박싱 (boxing)/ 언박싱 (unboxing) 기본형의데이터를참조형으로변환 언박싱 참조형의데이터를기본형으로변환 자동박싱 / 자동언박싱 (auto boxing/auto unboxing) 자바컴파일러가프로그램문맥에따라자동으로박싱 / 언박싱 20

박싱 (boxing) 스택에저장된기본형데이터를힙영역의참조형으로변환 21

기본형과참조형간에지원 boolean byte char short int long float double Boolean Byte Char Short Integer Long Float Double 22

참조형과기본형간에지원 Boolean boolean Byte byte Char char Short short Integer int Long long Float float Double double 언박싱 (unboxing) 잘못된형식의형변환시 Exception 발생 23

문장의종류 24

값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; 배정문 remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환 협소화 (narrowing) 형변환 : 캐스트 (cast) 연산자 25

여러문장을한데묶어하나의문장으로나타냄 주로문장의범위를표시 혼합문 형태 { < 선언 > 혹은 < 문장 > } if (a > b) a--; b++; if (a > b) {a--; b++;} 지역변수 (Local Variable) 블록의내부에서선언된변수 선언된블록안에서만참조가능 26

제어문 프로그램의실행순서를바꾸는데사용 실행순서를제어하는방법에따라 조건문 : if 문, switch 문반복문 : for 문, while 문, do-while 문분기문 : break 문, continue 문, return 문 27

조건문 : if 문장 조건에따라실행되는부분이다를때사용. if 문의형태 if ( < 조건식 > ) < 문장 > if ( < 조건식 > ) < 문장 1> else < 문장 2> 예 : 조건식의연산결과 : 논리형 (true or false) if (a < 0) a = -a; // 절대값 if (a > b) m = a; else m = b; // 큰값 28

내포된 if 문 참부분에서 if 문이반복 if (< 조건식 >) if (< 조건식 >) //... < 문장 > else 부분에서 if 문이반복 if (< 조건식 1>) < 문장 1> else if (< 조건식 2>) < 문장 2>... else if (< 조건식 n>) < 문장 n> else < 문장 > 29

조건문 : switch 문장 조건에따라여러경우로처리해야되는경우형태 switch (< 식 >) { case < 상수식1> : < 문장1> case < 상수식2> : < 문장2>.. case < 상수식n> : < 문장n> default : < 문장 > } default break 문을사용하여탈출 30

정해진횟수만큼일련의문장을반복 형태 반복문 : for 문장 for ( < 식 1> ; < 식 2> ; < 식 3> ) < 문장 > < 식 1> : 제어변수초기화 < 식 2> : 제어변수를검사하는조건식 < 식 3> : 제어변수의값을수정 s = 0; for (i = 1; i <= N; ++i) // 1 부터 N 까지의합 : i 증가 s += i; 31

32

무한루프를나타내는 for 문 for ( ; ;) < 문장 > 루프종료 : break 문, return 문 내포된 for 문 for 문안에 for 문이있을때. 다차원배열을다룰때. for (i = 0; i < N; ++i) for (j=0; j<m; ++j) matrix[i][j] = 0; 33

반복문 : while 문장 조건식이참인경우, 일정한부분을반복해서실행 형태 while ( 조건식 ) < 문장 > 예 i = 1; s = 0; while (i <= N) { // 1 부터 N 까지의합 s += i; ++i; } 34

35

for 문과 while 문의비교 for (i = 0; i < N; ++i) s += i; i= 0; while (i < N) { s += i; ++i; } for while : 주어진횟수 : 주어진조건 36

반복문 : do-while 문장 반복되는문장을먼저실행한후에조건식을검사 do-while 문의형태 do < 문장 > while ( < 조건식 > ); precondition check --- postcondition check --- for, while do-while 37

블록밖으로제어를옮기는역할 break 문의형태 break [ 레이블 ]; 레이블이없는경우 C/C++ 와동일 분기문 : break 문장 int i = 1; while (true) { if (i == 3) break; System.out.println( This is a + i + iteration ); ++i; } 38

레이블 break 문 goto 문대용으로사용가능 사용형태 lablename : 반복문 1 { 반복문 2 { //... break; //... break labelname; } //... } 39

다음반복이시작되는곳으로제어를옮기는기능 continue 문의형태 continue [ 레이블 ]; 분기문 : continue 문장 for 문안에서사용될때 for(i = 0; i <= 5; ++i) { if (i % 2 == 0) continue; System.out.println("This is a " + i + " iteration"); } 40

while 문안에서사용될때 조건검사부분으로이동 i = 0; while (i <= 5) { ++i; if ((i % 2) == 0) continue; System.out.println("This is a odd iteration " + i); } 41

레이블 continue 문 레이블 break 와유사 lablename : 반복문 1 { 반복문 2 { //... continue; //... continue labelname; } //... } 42

메소드의실행종료 분기문 : return 문장 호출한메소드에게제어를반환 return 문의형태 return; return < 식 >; 43

시스템에서지정한표준파일에입출력하는방법 표준입출력 표준입출력문장 표준입력파일 : in 표준출력파일 : out 표준에러파일 : err 키보드 화면 (screen) System 클래스의정적변수 44

자바언어의기본패키지인 java.io 로부터제공 표준입력메소드 : System.in.read() 키보드로부터한개의문자를읽어그문자의코드값을정수형으로복귀하는기능 표준출력메소드 System.out.print(), System.out.println() System.out.printf(), System.out.write() 45

표준입력에서한라인을스트링형태로읽음 : import java.io.*; BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); n = Integer.parseInt(input.readLine()); 표준입력으로부터한라인을읽어스트링형태로복귀 스트링형태를정수형태로변환 46

형식화된입출력문장 형식화된입출력문장 출력하려는값에포맷 (format) 을명시하여원하는형태로출력 %[argument_index$] [flags] [width] [.precision] conversion System.out.printf() 메소드에서출력포맷지정출력포맷 System.out.printf(format-string, arg1, arg2, arg3,..., argn); 형식지정스트링 (format string) 매개변수의개수와일치하는출력포맷으로이루어진스트링상수형식화하려는값의형태 47