22
1 2 장 장장장 장장장

2 장 변수와 연산자

  • Upload
    jenski

  • View
    89

  • Download
    0

Embed Size (px)

DESCRIPTION

2 장 변수와 연산자. 변수. 변수 (Variable) 어떤 알려지지 않은 값을 표현할 개체의 이름 컴퓨터 기억장소 셀에 대한 추상화로서 , 기억장소의 상대적 주소에 대한 이름  데이터 저장을 위한 장소로 사용 속성 이름 (name, identifier) 프로그램에서 개체를 구별하기 위한 문자열 값 (value) : 기억장소 셀의 내용 타입 (type) : 값의 범위 + 연산의 집합 주소 (address) 생존기간 , 수명 (lifetime) 영역 (scope). 변수의 정의. 선언 형식 - PowerPoint PPT Presentation

Citation preview

Page 1: 2 장 변수와 연산자

1

2 장 변수와 연산자

Page 2: 2 장 변수와 연산자

2

변수변수 (Variable) 어떤 알려지지 않은 값을 표현할 개체의 이름 컴퓨터 기억장소 셀에 대한 추상화로서 , 기억장소의 상대적

주소에 대한 이름 데이터 저장을 위한 장소로 사용

속성 이름 (name, identifier)

프로그램에서 개체를 구별하기 위한 문자열 값 (value) : 기억장소 셀의 내용 타입 (type) : 값의 범위 + 연산의 집합 주소 (address) 생존기간 , 수명 (lifetime) 영역 (scope)

Page 3: 2 장 변수와 연산자

3

변수의 정의선언 형식

변수명

{PublicⅠPrivateⅠDimⅠStatic} 변수명 As 자료형

255 자

영문자/ 한글 { 알파벳 /한글 , 숫자 , 밑줄 (_)}0

대소문자를 구별하지 않음예약어 사용 불가 (If, String, Private, Sub, End, Long, Beep 등 )짧고 간단하면서도 의미 있는 이름 ( 판독력과 작성력 향상 )

My-name, My_name, My name, _Name, @mail, 4you , Else, 이름 , k7

Page 4: 2 장 변수와 연산자

4

변수의 자료형

종류수치형 ( 정수형 , 실수형 )논리형 , 문자열형 , 가변형Byte, Currency, Decimal, Date, Object

Page 5: 2 장 변수와 연산자

5

변수의 자료형

수치형 (Integer, Long, Single, Double)

정수형 실수형 ( 부동소수점 )

Integer (2B) : -32,768 ~ 32,767 Single ( 단정도 , 4B) : -3.41038 ~ 3.41038

Long (4B) : -2,147,483,648 ~ 2,147,483,647 Double ( 배정도 , 8B) : -1.810308 ~ 1.810308

논리형 (Boolean) True/False 의 2 가지 값만 취급

문자열형 (String) 문자 데이터만 취급

가변길이 0 ~ 약 2 조자

Dim Name As String- Name 에 대입될 길이 + 10Byte

고정길이 1 ~ 약 65,400 자

Dim Name As Srting*15 - 15 문자 길이

Dim x As Boolean

Page 6: 2 장 변수와 연산자

6

변수의 자료형

가변형 (Variant) 디폴트 변수

묵시적으로 선언된 모든 변수

여러 유형의 데이터를 취급수치 , 문자 모두 취급

수행 속도나 기억장소 활용 측면에서는 비효율적숫자 : 16 바이트 할당

문자열 : 문자열 길이 + 22 바이트

선언

Dim address (As 자료형 생략 )Dim address As Variant ( 자료형

명시 )

Page 7: 2 장 변수와 연산자

7

변수 선언

자료를 저장할 적절한 크기의 기억공간 확보

선언 방법묵시적 (implicit) 선언

선언문 없이 , 변수를 문장 내에서 직접 사용

명시적 (explicit) 선언프로시저 /모듈 내에서 변수 선언문 사용

Page 8: 2 장 변수와 연산자

8

변수 선언

명시적 선언 요구모듈 내에 Option Explicit 기술 (1)

“ 사용할 모든 변수들은 선언을 필요로 한다” [ 도구 ]-[ 옵션 ]-[ 편집기 ] 탭 (2)

Option ExplicitPrivate a As IntegerPublic x As IntegerPrivate Sub Command1_Click() Dim a As Integer a = 10 Form1.Print aEnd SubPrivate Sub Command2_Click() Dim b As Integer Form1.Print a b = 5 Form1.Print b x = 3End Sub

Page 9: 2 장 변수와 연산자

9

변수 선언선언 형식

선언 예

{PublicⅠPrivateⅠDimⅠStatic} 변수명 As 자료형

Dim i As IntegerDim Score As DoubleDim Name As StringDim 주소 As VariantDim A As Boolean

Dim x, y As DoubleDim x As Double, y As Double

Page 10: 2 장 변수와 연산자

10

변수의 종류 (1)

통용 범위에 따른 종류선언된 변수가 사용 가능한 문장의 범위지역변수 , 모듈변수 , 전역변수

프로시저 안에서 선언해당 프로시저 안에서만 사용 가능초기화 : 숫자 0, 문자 “”

Dim Name As String

지역변수Option ExplicitPrivate a As IntegerPublic x As IntegerPrivate Sub Command1_Click() Dim a As Integer a = 10 Form1.Print aEnd SubPrivate Sub Command2_Click() Dim b As Integer Form1.Print a b = 5 Form1.Print b x = 3End Sub

Page 11: 2 장 변수와 연산자

11

변수의 종류 (1)

표준 모듈을 추가하여 선언 ( 일반 )-( 선언 ) 에서 선언폼 모듈에서 선언 변수가 선언된 폼의 이름을 붙여 사용프로그램의 모든 모듈간에 공통으로 사용 가능

Public Name As String

전역변수

모듈 수준에서 선언코드창의 ( 일반 )-( 선언 ) 에서 선언동일 모듈 내의 모든 프로시저에서 사용 가능

Private( 또는 Dim) Name As String

모듈변수Option ExplicitPrivate a As IntegerPublic x As IntegerPrivate Sub Command1_Click() Dim a As Integer a = 10 Form1.Print aEnd SubPrivate Sub Command2_Click() Dim b As Integer Form1.Print a b = 5 Form1.Print b x = 3End Sub

Page 12: 2 장 변수와 연산자

12

지역 /모듈 /전역 변수

지역 변수

프로시저 안에서 선언 프로시저 안에서만 사용 가능Dim Name As String

초기화 : 숫자 0, 문자 “”

모듈 변수모듈 수준에서 선언Private( 또는 Dim) Name As String

동일 모듈 내의 모든 프로시저에서 사용 가능

전역 변수

표준 모듈을 추가하여 일반 선언부에서 선언폼 모듈에서 선언 변수가 선언된 폼의 이름을 붙여 사용Public Name As String

프로그램의 모든 모듈간에 공통으로 사용 가능

Page 13: 2 장 변수와 연산자

13

지역 /모듈 /전역 변수

Option ExplicitPrivate a As IntegerPublic x As IntegerPrivate Sub Command1_Click() Dim a As Integer a = 10 Form1.Print aEnd SubPrivate Sub Command2_Click() Dim b As Integer Form1.Print a b = 5 Form1.Print b x = 3End Sub

Form1

Option Explicit

Private Sub Command3_Click() Form2.Print Form1.xEnd Sub

Form2

Page 14: 2 장 변수와 연산자

14

폼 /모듈 추가1. [ 프로젝트 ]-[ 폼 추가 ] / [ 모듈 추가 ]2. 프로젝트 탐색창에서 단축메뉴

Page 15: 2 장 변수와 연산자

15

변수의종류 (2)

수명에 따른 종류 변수를 위해 할당된 기억공간을 차지하고 있는 시간 동적변수 , 정적변수

모든 지역변수 : 프로시저에서 Dim 으로 선언된 변수할당 /회수 : 프로시저를 실행하는 매 순간 , 프로시저를 종료하는 순간재실행될 때 마다 변수의 값이 초기화된다

동적변수

키워드 Static 사용 : Static Name As String

할당 /회수 : 프로시저를 처음 실행하는 순간 , 프로그램 종료 순간

프로시저가 재실행되어도 이전 값을 유지

정적변수

Page 16: 2 장 변수와 연산자

16

동적 /정적 변수

Private Sub Command1_Click() Dim D As Integer Static S As Integer

D = D + 1 S = S + 1 Form1.Print D, SEnd Sub

Page 17: 2 장 변수와 연산자

17

상수

Constant실행 중에 변하지 않는 고정된 값을 표현

사용 형식

판독력과 수정력의 향상

{Public|Private} Const 상수명 [As 자료형 ] = 상수값

Private Const Pi As Double = 3.141592Const Radius = 30Const Str As String = “knou”

Page 18: 2 장 변수와 연산자

18

산술 /관계 연산자

구분 연산자 예

산술

+, -, *, / 2+7, 7-2, 2*7, 7/2

^ 2^3

\ ( 역슬래쉬 ) 7\2 ( 정수나누기 )

Mod 7 Mod 2

관계<, <=, >, >=

a<b, a<=ba>b, a>=b

결과값True False=, <> a=b, a<>b

Page 19: 2 장 변수와 연산자

19

논리 /연결 연산자구분 연산자 예

논리

And 3>5 And 4<6

결과값

TrueFalse

Or 3>5 Or 4<6

Xor 3>5 Xor 4<6

Not Not 3>5

Eqv 3>5 Eqv 4<6

Imp 3>5 Imp 4<6

연결& “ab” & “cd”, “a” & 123

+ “ab” + “cd”

X Y And Or Xor Eqv Imp

F F F F F T T

F T F T T F T

T F F T T F F

T T T T F T T

Page 20: 2 장 변수와 연산자

20

연결 연산자

Private Sub Form_Load() Form1.Show Print "ab" + "cd" Print "ab" & "cd"

Print 12 + 12 Print 12 & 12

Print "ab" + 12 Print "ab" & 12End Sub

abcdabcd

241212

Errorab12

Page 21: 2 장 변수와 연산자

21

연산자 우선순위

산술 연산자

연결 연산자

관계 연산자

논리 연산자낮음

높음 ^ -( 부정 ) *, /

\ Mod +, -

&

<, <=, >, >=, =, <>

Not And Or

Xor Eqv Imp

Page 22: 2 장 변수와 연산자

22

실습