Upload
jenski
View
89
Download
0
Embed Size (px)
DESCRIPTION
2 장 변수와 연산자. 변수. 변수 (Variable) 어떤 알려지지 않은 값을 표현할 개체의 이름 컴퓨터 기억장소 셀에 대한 추상화로서 , 기억장소의 상대적 주소에 대한 이름 데이터 저장을 위한 장소로 사용 속성 이름 (name, identifier) 프로그램에서 개체를 구별하기 위한 문자열 값 (value) : 기억장소 셀의 내용 타입 (type) : 값의 범위 + 연산의 집합 주소 (address) 생존기간 , 수명 (lifetime) 영역 (scope). 변수의 정의. 선언 형식 - PowerPoint PPT Presentation
Citation preview
1
2 장 변수와 연산자
2
변수변수 (Variable) 어떤 알려지지 않은 값을 표현할 개체의 이름 컴퓨터 기억장소 셀에 대한 추상화로서 , 기억장소의 상대적
주소에 대한 이름 데이터 저장을 위한 장소로 사용
속성 이름 (name, identifier)
프로그램에서 개체를 구별하기 위한 문자열 값 (value) : 기억장소 셀의 내용 타입 (type) : 값의 범위 + 연산의 집합 주소 (address) 생존기간 , 수명 (lifetime) 영역 (scope)
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
4
변수의 자료형
종류수치형 ( 정수형 , 실수형 )논리형 , 문자열형 , 가변형Byte, Currency, Decimal, Date, Object
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
6
변수의 자료형
가변형 (Variant) 디폴트 변수
묵시적으로 선언된 모든 변수
여러 유형의 데이터를 취급수치 , 문자 모두 취급
수행 속도나 기억장소 활용 측면에서는 비효율적숫자 : 16 바이트 할당
문자열 : 문자열 길이 + 22 바이트
선언
Dim address (As 자료형 생략 )Dim address As Variant ( 자료형
명시 )
7
변수 선언
자료를 저장할 적절한 크기의 기억공간 확보
선언 방법묵시적 (implicit) 선언
선언문 없이 , 변수를 문장 내에서 직접 사용
명시적 (explicit) 선언프로시저 /모듈 내에서 변수 선언문 사용
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
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
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
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
12
지역 /모듈 /전역 변수
지역 변수
프로시저 안에서 선언 프로시저 안에서만 사용 가능Dim Name As String
초기화 : 숫자 0, 문자 “”
모듈 변수모듈 수준에서 선언Private( 또는 Dim) Name As String
동일 모듈 내의 모든 프로시저에서 사용 가능
전역 변수
표준 모듈을 추가하여 일반 선언부에서 선언폼 모듈에서 선언 변수가 선언된 폼의 이름을 붙여 사용Public Name As String
프로그램의 모든 모듈간에 공통으로 사용 가능
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
④
14
폼 /모듈 추가1. [ 프로젝트 ]-[ 폼 추가 ] / [ 모듈 추가 ]2. 프로젝트 탐색창에서 단축메뉴
15
변수의종류 (2)
수명에 따른 종류 변수를 위해 할당된 기억공간을 차지하고 있는 시간 동적변수 , 정적변수
모든 지역변수 : 프로시저에서 Dim 으로 선언된 변수할당 /회수 : 프로시저를 실행하는 매 순간 , 프로시저를 종료하는 순간재실행될 때 마다 변수의 값이 초기화된다
동적변수
키워드 Static 사용 : Static Name As String
할당 /회수 : 프로시저를 처음 실행하는 순간 , 프로그램 종료 순간
프로시저가 재실행되어도 이전 값을 유지
정적변수
16
동적 /정적 변수
Private Sub Command1_Click() Dim D As Integer Static S As Integer
D = D + 1 S = S + 1 Form1.Print D, SEnd Sub
17
상수
Constant실행 중에 변하지 않는 고정된 값을 표현
사용 형식
판독력과 수정력의 향상
{Public|Private} Const 상수명 [As 자료형 ] = 상수값
Private Const Pi As Double = 3.141592Const Radius = 30Const Str As String = “knou”
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
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
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
21
연산자 우선순위
산술 연산자
연결 연산자
관계 연산자
논리 연산자낮음
높음 ^ -( 부정 ) *, /
\ Mod +, -
&
<, <=, >, >=, =, <>
Not And Or
Xor Eqv Imp
22
실습