1.4.3 증감연산자 후치증가 a++: 프로그램의한명령줄이끝나고 1을증가시킨값을다시 a에저장. 후치감소 a--: 프로그램의한명령줄이끝나고 1을감소시킨값을다시 a에저장. 전치증가 ++a: 1을증가시킨값을미리 a에저장하고프로그램을수행. 전치감소 --a: 1을감소시킨값을미리

Similar documents
OCW_C언어 기초

Microsoft PowerPoint - chap04-연산자.pptx

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

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

Microsoft PowerPoint - Chapter_02.pptx

Microsoft PowerPoint - C++ 5 .pptx

C++ Programming

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

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

Microsoft PowerPoint - ch07 - 포인터 pm0415

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

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

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

C 프로그래밊 개요

Microsoft PowerPoint - [2009] 02.pptx

PowerPoint 프레젠테이션

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

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

중간고사

Microsoft PowerPoint - chap-05.pptx

JAVA PROGRAMMING 실습 02. 표준 입출력

untitled

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

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

Microsoft PowerPoint - chap05-제어문.pptx

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

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

11장 포인터

11장 포인터

PowerPoint Presentation

PowerPoint 프레젠테이션

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

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

Microsoft PowerPoint - chap06-1Array.ppt

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

Microsoft PowerPoint - Chapter_08.pptx

쉽게 풀어쓴 C 프로그래밍

untitled

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

슬라이드 1

03 상수, 변수, 자료형

02장.배열과 클래스

Microsoft PowerPoint - gnu-w10-c-chap11

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

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

본 강의에 들어가기 전

쉽게 풀어쓴 C 프로그래밍

제 4 장배열 (Array) 배열은포인터의개념을파악하게하는좋은길잡이이다. 무차원배열로부터다차원배열로확장할때에, 배열에적용되는규칙성을발견하고관계된메모리주소를검침하며의미하는바를분석한다. 그리고수와문자에관계된배열이어떻게다른지비교한다. 4.1 정수및실수배열 Memory 저장순

KNK_C03_Expr_kor

Microsoft PowerPoint - chap-03.pptx

The C++ Programming Language 5 장포인터, 배열, 구조체 5.9 연습문제 다음의선언문을순서대로작성해보자. 문자에대한포인터, 10개정수의배열, 10개정수의배열의참조자, 문자열의배열에대한포인터, 문자에대한포인터에대한포인터, 상수정수, 상수

1.1.1 컴퓨터의 구성 p.19

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - Lesson2.pptx

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

C 프로그램의 기본

chap x: G입력

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - lec3.ppt

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

Microsoft PowerPoint - KNK_C03_Expr_kor

11장 포인터

YRRZBRRLMCEQ.hwp

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

컴파일러

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

11장 포인터

쉽게

<4D F736F F F696E74202D20C1A635C0E520BCF6BDC4B0FABFACBBEAC0DA>

<4D F736F F F696E74202D D20B9AEC0DABFAD2C20BDBAC6AEB8B2B0FA20C6C4C0CF20C0D4C3E2B7C2>

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

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

쉽게 풀어쓴 C 프로그래밍

歯9장.PDF

PowerPoint Presentation

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

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

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

Microsoft PowerPoint - Chapter_04.pptx

PowerPoint 프레젠테이션

OCW_C언어 기초

쉽게 풀어쓴 C 프로그래밍

설계란 무엇인가?

PowerPoint 프레젠테이션

CHAPTER 02 데이터형과수식 JAVA Programing

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - chap4_2013 [호환 모드]

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

슬라이드 1

Java ...

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap-12.pptx

쉽게 풀어쓴 C 프로그래밍

1. 표준입출력 C++ : C의모든라이브러리를포함 printf, scanf 함수사용가능예 : int, double, 문자열값을입력받고출력하기 #include <cstdio> int ivar; double dvar; char str[20]; printf("int, dou

슬라이드 1

Transcription:

1.4.3 증감연산자 후치증가 a++: 프로그램의한명령줄이끝나고 1을증가시킨값을다시 a에저장. 후치감소 a--: 프로그램의한명령줄이끝나고 1을감소시킨값을다시 a에저장. 전치증가 ++a: 1을증가시킨값을미리 a에저장하고프로그램을수행. 전치감소 --a: 1을감소시킨값을미리 a에저장하고프로그램을수행. 예제 ) 증감연산 int a =11, b= 4; printf("a=%d\n", a); // a=11 printf("a=%d\n", ++a); // a=12 a에 1을더하여출력. printf("a=%d\n", a++); // a=12 a를출력한후 1을더함. printf("a=%d\n", a); // a=13 윗줄의수행후값. printf("a*a++=%d\n",a*a++); // a*a++=169 13*13 printf("a=%d\n\n",a); // a=14 윗줄의수행후값. printf("b=%d\n", b--); // b=4 b를출력한후 1을뺌, 출력후 b=3. printf("b=%d\n", --b); // b=2 윗줄에서 1을빼고출력. printf("b=%d\n", b); // b=2 현재의 b값. int a =11, b=4; cout<<"a="<<a<<'\n'; // a=11 cout<<"a="<<++a<<'\n'; // a=12 a에 1을더하여출력. cout<<"a="<<a++<<'\n'; // a=12 a를출력한후 1을더함. cout<<"a="<<a<<'\n'; // a=13 윗줄의수행후값. cout<<"a*a++="<<a*a++<<'\n'; // a*a++=169 13*13 cout<<"a="<<a<<"\n\n"; // a=14 윗줄의수행후값. cout<<"b="<<b--<<'\n'; // b=4 b를출력한후 1을뺌, 출력후 b=3. cout<<"b="<<--b<<'\n'; // b=2 윗줄에서 1을빼고출력. cout<<"b="<<b<<'\n'; // b=2 현재의 b값. 설명 : ++, -- 등은대표적인단항연산자 (unary arithmetic operator) 들로피연산자를하나 만사용하는산술연산자들이다. 이밖에도단항연산자로는부호변환연산자인 -가있다. 1.4.4 비교및논리연산자 두식간에관계를 true(1) 또는 false(0) 로나타낸다. 1) 비교연산자 (Relational Operator)

> greater than >= greater or equal == equal!= not equal < less than <= less or equal 예제 ) 비교연산 int a=11, b=4; printf("(%d>%d) =%d\n", a,b,a>b); // (11>4) =1 : true printf("(%d>=%d)=%d\n", a,b,a>=b); // (11>=4)=1 printf("(%d==%d)=%d\n", a,b,a==b); // (11==4)=0 : false printf("(%d!=%d)=%d\n", a,b,a!=b); // (11!=4)=1 printf("(%d<%d) =%d\n", a,b,a<b); // (11<4) =0 printf("(%d<=%d)=%d\n", a,b,a<=b); // (11<=4)=0 int a=11, b=4; cout<<a<<">"<<b<<" ="<<(a>b)<<'\n'; // (11>4)=1 : true cout<<a<<">="<<b<<"="<<(a>=b)<<'\n'; // (11>=4)=1 cout<<a<<"=="<<b<<"="<<(a==b)<<'\n'; // (11==4)=0 : false cout<<a<<"!="<<b<<"="<<(a!=b)<<'\n'; // (11!=4)=1 cout<<a<<"<"<<b<<" ="<<(a<b)<<'\n'; // (11<4)=0 cout<<a<<">="<<b<<"="<<(a<=b)<<'\n'; // (11<=4)=0 2) 논리연산자 (Logical Operator) AND(&&), T && T = T T && F = F F && T = F F && F = F OR( ) T T = T T F = T F T = T F F = F 예제 ) 논리연산 int a=11, b=4;

double d=2.5; printf("(a<=10)&&(b==5)=%d\n",(a<=10)&&(b==5)); // (a<=10)&&(b==5) =0 printf("(a<=10) (b==5)=%d\n",(a<=10) (b==5)); // (a<=10) (b==5) =0 printf(" (!a b)=%d\n",!a b); // (!a b) =1 printf(" (a b)=%d\n", a b); // (a b) =1 printf(" (!a!b)=%d\n",!a!b); // (!a!b) =0 printf(" (!!a!b)=%d\n",!!a!b); // (!!a!b) =1 printf(" (a&&b&&d)=%d\n", a&&b&&d); // (a&&b&&d) =1 int a=11; int b=4; double d=2.5; cout<<"(a<=10)&&(b==5)="<<((a<=10)&&(b==5))<<'\n'; // (a<=10)&&(b==5)=0 cout<<"(a<=10) (b==5)="<<((a<=10) (b==5))<<'\n'; // (a<=10) (b==5)=0 cout<<"(!a b)="<<(!a b)<<'\n'; // (!a b)=1 cout<<"(a b)="<<(a b)<<'\n'; // (a b)=1 cout<<"(!a!b)="<<(!a!b)<<'\n'; // (!a!b)=0 cout<<"(!!a!b)="<<(!!a!b)<<'\n'; // (!!a!b)=1 cout<<"(a&&b&&d)="<<(a&&b&&d)<<'\n'; // (a&&b&&d) =1 설명 : 논리연산시컴퓨터는 0을 false, 그외의수를 true로취급한다. a&&b&&d의경우, a, b, d가 0이아닌수이기때문에모두 true이다. 따라서연산결과는 true 즉 1 이다. 1.4.5 비트단위연산자 (Bitwise Operator) 1) 비트단위논리연산자 (Bitwise Logical Operator) bit AND: 1&1=1, 1&0=0, 0&1=0, 0&0=0 bit OR: 1 1=1, 1 0=1, 0 1=1, 0 0=0 bit XOR: 1^1=0, 1^0=1, 0^1=1, 0^0=0 bit Conversion: ~1=0, ~0=1 예제 1) bit 연산 short a=11, b=7; short w,x,y,z; /* bit 단위연산자는다음의법칙에의해계산된다. a=10 0000 0000 0000 1011

b=7 0000 0000 0000 0111 */ w=a&b; // bit AND 0000 0000 0000 0011 = 3 x=a b; // bit OR 0000 0000 0000 1111 =15 y=a^b; // bit XOR 0000 0000 0000 1100 =12 z=~a; //bit Conversion 1111 1111 1111 0101 =-12 printf(" a&b=%d\n",w); // a&b=3 printf(" a b=%d\n",x); // a b=15 printf(" a^b=%d\n",y); // a^b=12 printf(" ~a=%d\n",z); // ~a=-12 short a=11, b=7; short w,x,y,z; /* bit 단위연산자는다음의법칙에의해계산된다. a=10 0000 0000 0000 1011 b=7 0000 0000 0000 0111 */ w=a&b; // bit AND 0000 0000 0000 0011 = 3 x=a b; // bit OR 0000 0000 0000 1111 =15 y=a^b; // bit XOR 0000 0000 0000 1101 =12 z=~a; //bit Conversion 1111 1111 1111 0101 =-12 cout<<"a&b="<<w<<'\n'; // a&b=3 cout<<"a b="<<x<<'\n'; // a b=15 cout<<"a^b="<<y<<'\n'; // a^b=12 cout<<"~a="<<~a<<'\n'; //!a=-12 컴퓨터가음수를읽는방법 : 첫 bit이 1이면음수 bit Conversion(~): 어떤수 a가 (+) 일경우 bit conversion 하면그값은 -a-1 (-) 일경우 bit conversion하면그값은 -(a+1) 예제 ) -12를 short integer의 bit로표시하여라. +11을표시한후 bit 역전 (bit conversion) 을하면된다. 11 = 0000 0000 0000 1011-12 = 1111 1111 1111 0100 (-) 값이 (+) 값의보수 (complement) 즉 bit 역전을취하는이유에대해알아보자. a-b 의계산 : 컴퓨터는이것을 a+(-b) 로계산한다. 즉산술의빼기는존재하지않고 bit 의합만있을뿐이

다. 윗식에서 -7은 +6의 bit 역전으로표시된다, 6=0000 0000 0000 0110-7=1111 1111 1111 1001 a = 0000 0000 0000 1011 =11 -b = 1111 1111 1111 1001 =-7 bit 합 : a+(-b) = 0000 0000 0000 0100 = 4 예제 2) bit 연산 char x= 27; char y= 121; char z=x-y; printf("z=%d\n", z); // z=-94 char x= 27; char y= 121; char z=x-y; cout<<"z="<<(int)z<<'\n'; // -94 계산설명 : x = 27= 0001 1011 -y= -121 은 +120 = 0111 1000 의역전즉 -y=-121 = 1000 0111 x=27=0001 1011 -y=-121=1000 0111 z = x +(-y)=1010 0010 첫 bit가 1이므로이값은음수이다. 이것을역전하면 0101 1101 = 93 여기에 1을더하고 -를붙인값이계산결과이다. 예제 3) bit 연산 short a = 13; short b=-35; printf(" (a&b)=%d\n",(a&b)); printf(" ~(a&b)=%d\n",~(a&b)); // (a&b)=13 // ~(a&b)=-14

short a = 13; short b=-35; cout<<" (a&b)="<<(a&b)<<'\n'; // (a&b)=13 cout<<" ~(a&b)="<<~(a&b)<<'\n'; // ~(a&b)=-14 계산설명 : a= +13= 0000 0000 0000 1101 b=-35는 +34(0000 0000 0010 0010) 의역전 a= 0000 0000 0000 1101 b= 1111 1111 1101 1101 a&b= 0000 0000 0000 1101 =13 ~(a&b)= 1111 1111 1111 0011 =-14 2) 이동연산자 (Shift Operator) 주어진 bit 만큼좌우로이동시키는연산자 bit 이동연산 short a=13, b=-13; printf("a<<2=%d\n", a<<2); // a<<2=52 printf("a>>2=%d\n", a>>2); // a>>2=3 printf("b<<2=%d\n", b<<2); // b<<2=-52 printf("b>>2=%d\n", b>>2); // b>>2=-4 short a=13, b=-13; cout<<"a<<2="<<(a<<2)<<'\n'; cout<<"a>>2="<<(a>>2)<<'\n'; cout<<"b<<2="<<(b<<2)<<'\n'; cout<<"b>>2="<<(b>>2)<<'\n'; // a<<2=52 // a>>2=3 // b<<2=-52 // b>>2=-4 계산설명 :

a=13 0000 0000 0000 1101 a<<2 0000 0000 0011 0100 =52 // 좌로 2 bits 이동하면서뒤의빈자리를 0 으로채움. a>>2 0000 0000 0000 0011 =3 // 우로 2 bits 이동하면서앞의빈자리를 0 으로채움. b=-13 은 +12=0000 0000 1100 의역전즉 b=-13 1111 1111 0011 b<<2 1111 1100 1100 // 좌로 2 bits 이동하면서뒤의빈자리를 0으로채움 값 0000 0011 0011 에 1을더한값의 minus 값 = -52 b>>2 1111 1111 1100 // 우로 2 bits 이동하면서앞의빈자리를 1로채움 값 0000 0000 0011 에 1을더한값의 minus 값 = -4 1.4.6 기타연산자 1) 콤마연산자 (Comma Operator) 피연산자의나열에사용 예제 ) 콤마연산 void main () { int a, j; a=(j=15, j+4); // 좌에서우로평가하여최우측이결과값. printf("a=%d\n", a); // a=19 void main () { int a, j; a=(j=15, j+4); // 좌에서우로평가하여최우측이결과값. cout<<"a="<<a<<'\n'; // a=19 2) 조건연산자 (Conditional Operator) 조건이참이면물음표다음피연산자를수행하고아니면마지막피연산자수행. a<b? a : b 이것은 if(a<b) then a else b 의압축형 예제 ) 조건연산 int a=11;

int b=7; printf("%d\n", a<b? a:b); // 7 printf("%d\n", a>b? a:b); // 11 int a=11; int b=7; cout<<(a<b? a:b)<<'\n'; // 7 cout<<(a>b? a:b)<<'\n'; // 11 3) 캐스트연산자 (Cast Operator) 피연산자의형변환을위한연산자 예제 ) 형변환연산 void main () { int a=65, b=4; double c=3.123, d=9.987; char f='a'; printf("%d\n",(int)c+(int)d); // 12: double을 int로전환하여계산. printf("%.2lf\n",(double)a/(double)b); // 16.25: int를 double로전환. printf("%c\n",(char)a); // A: int를 char로전환. printf("%d\n",(int)f); // 97: char를 int로전환. void main () { int a=65, b=4; double c=3.123, d=9.987; char f='a'; cout<<(int)c+(int)d<<'\n'; // 12: double을 int로전환하여계산. cout<<(double)a/(double)b<<'\n'; // 16.25: int 를 double 로전환. cout<<(char)a<<'\n'; // A: int 를 char 로전환. cout<<(int)f<<'\n'; // 97: char 를 int 로전환. C++ 에서는 C 에서보다형변환이보다자유롭다. 즉 int(c)+int(d), double(a)/double(b),

char (a) 로도가능하다. void main () { int a=65, b=4; double c=3.123, d=9.987; cout<<int(c)+int(d)<<'\n'; // 12: double을 int로전환하여계산. cout<<double(a)/double(b)<<'\n'; // 16.25: int 를 double 로전환. cout<<char(a)<<'\n'; // A: int 를 char 로전환. 1.5 표준입출력함수 1.5.1 C 에서의표준입출력함수 1) 출력함수 printf(" 출력 format", 변수또는수식 ) putchar('char'): 한글자만을처리. 문자는 로표시 : A', '1', '*' puts("string"): 문자열은 로나타낸다. 2) 입력함수 scanf(" 입력형식, 입력변수주소 ) 입력변수는주소표기법으로입력되어야한다. 무차원배열의변수인경우변수앞에 &, 1 차원배열의경우변수이름그자체로표기된다. 공백문자가있는경우입력은그공백분자앞에서완료된다. getchar() 한글자를입력받음. gets( string ) 문자열입력. 예제 ) C의입출력함수 void main () { int a; char c; printf("a에정수를입력하세요 : a = "); scanf("%d", &a); printf("%d\n\n", a); putchar('m');

putchar('\n'); c=getchar(); putchar(c); putchar('\n'); 1.5.2 C++ 의입출력 1) 출력 stream cout<< 정수, 실수, 문자및문자열출력. 2) 입력 stream 및함수 cin>> C의 scanf() 와달리입력변수는주소표기법이필요하지않다. 공백문자가있는경우입력은그공백분자앞에서완료된다. getch() 한글자를입력받음. echo가없이문자입력. <conio.h> header file 필요. getche() 한글자를입력받음. echo를가지고문자입력. <conio.h> header file 필요. cin.get( 변수명, size) 또는 cin.get ( 변수명, size, 제어문자 ): 문자열입력 예제 1) 출력 stream: cout #include <string.h> // for strcpy() const int MAX=80; char s1[]="you mean everything to me."; char s2[max]; strcpy(s2, s1); cout<<s2<<'\n'; 예제 2) 입출력함수및 stream const int MAX=80; char str[max]; cout<<"enter a string\n"; cin.get(str, MAX); // 문자열입력함수

cout<<str<< \n'; 예제 3) 다중라인입력 const int MAX=80; char str[max]; cout<<"enter a string\n"; cin.get(str, MAX, '$'); // 문자열입력함수 cout<<str<<'\n'; cin.get() 은세개의인자를가질수있음, 마지막인자는입력의종료를알림. 1.6 오류 (error) warning: 실행코드는생성하나실행결과가옳치않을수있음. 종류 : 초기화가안되어있을경우, overflow 등등 error: 실행코드를생성할수없음구문오류 (Syntax error) 기계어가이해할수없는 source code. 링크오류 (Link error) 라이브러리함수또는모듈이빠진오류. 실행오류 (Run Time error) 논리오류로실행은되나결과가옳치않음. 예 ) 어떤수를 0으로나누는경우. 예제 ) 실행오류 short a=3400, b=2000, c; char ch=128; c=a*b; printf("c=%d\n",c); printf("ch=%c\n",ch); 설명 : 두수의곱 a*b를 short로정의된 c방에저장하려고할때그수가할당된 c의메모리사이즈보다크기때문에 overflow가발생한다. 또한 char ch가가질수있는최대값은 127 이므로이역시 overflow 되어알수없는문자를출력한다. 프로그램작성중가장많이범하는구문오류로는문장이끝나고세미콜론의생략, 콤마또는연산자의잘못사용, 또는함수가끝나고중괄호의누락등등이있으며이러한오류가있을때는프로그램자체가수행되

지않는다.