Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
제3장 연산자제4장 제어문
연산자와 피연산자
연산자 기능과 특징에 따른 분류
◦ 대입, 산술, 관계, 증감, 논리, 비트, ◦ Sizeof 연산자, 콤마 연산자◦ 1항, 2항, 3항 연산자(unary, binray, ternary operator)
전위, 후위 (prefix, postfix) 축약형 (short-form) 올림, 내림 (ceil, floor) 데이타형 변환 (data type conversion) 연산자 우선순위 (operator priority)
한밭대 정보통신공학과 и чунг хо 2
연산자(operator)◦ A O B = A*A + B : 어떤 정해진 연산을 뜻하는 기호 O
피연산자(operand)◦ 위 연산에서 A와 B
한밭대 정보통신공학과 и чунг хо 3
대입, 산술, 관계, 증감, 논리, 비트, ◦ 대입 연산자 = : 우변의 값을 좌변의 변수에 대입. 예) a=3◦ 산술연산자 + - * / % : 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지계산◦ 관계연산자 > < >=
대입, 산술, 관계, 증감, 논리, 비트, sizeof 연산자, 콤마 연산자 1항, 2항, 3항 연산자(unary, binary, ternary operator)◦ 1항연산자: !a, ~a, -a◦ 2항연산자: a+b, a-b, a*b, a/b, a%b, a&&b, a||B, a^b, a|b, a>b,
a>=b, a
Prefix++a; --a;
Postfixa++; a--;
postfix a = 3; b = a++; //b 에는 3이 대입됨Prefix a = 3; b = ++a; //b에는 4가 대입됨
한밭대 정보통신공학과 и чунг хо 6
a = a + 3; 을 a+=3; 과 같이 줄여 쓰는 것예) a = a + 3; a += 3;
a = a – 3; a -= 3;a = a * 3; a *= 3;a = a / 3; a /= 3; a = a>>2; a >>= 2;a = a
int a = 3.14; //a에는 3이 대입됨. 소수점 이하를버림, 내림(demotion), 8 bytes의 double형에서4 bytes의 int형으로 변환되어 대입됨.
double x = 3; // x에는 3.0이 대입됨. 4 bytes int형에서 8 bytes의 double형으로 대입됨. 올림.
한밭대 정보통신공학과 и чунг хо 8
자동형변환◦ int a; double b=3.14; a = b; double형에서 int형으로자동형변환이 일어남. (automatic data type conversion)
강제형변화: 괄호()로 캐스팅해 줌.◦ float f; double d=3.141592; f = (float)d;◦ 8 bytes의 변수 d가 4 bytes의 float로 강제 형변환한 경우임.
한밭대 정보통신공학과 и чунг хо 9
대입
연산자와 피연산자
연산자 기능과 특징에 따른 분류
◦ 대입, 산술, 관계, 증감, 논리, 비트, ◦ Sizeof 연산자, 콤마 연산자◦ 1항, 2항, 3항 연산자(unary, binray, ternary operator)
전위, 후위 (prefix, postfix) 축약형 (short-form) 올림, 내림 (ceil, floor) 데이타형 변환 (data type conversion) 연산자 우선순위 (operator priority)
한밭대 정보통신공학과 и чунг хо 11
제어문(Flow Control Statement)◦ 조건문, 반복문, 분기
조건문(Conditional Statements)◦ Switch 문◦ If 문
반복문(Loop Statements)◦ for◦ while◦ do while
분기문(Branch Statement)◦ continue◦ break
한밭대 정보통신공학과 и чунг хо 12
조건문: 조건을 체크하는 문장◦ if statement◦ switch case statement
반복문(Loop Statements): 반복 계산 시 사용◦ for(초기상태;반복조건; 증감){}◦ while(조건) {}◦ do{몸체} while(조건); : 1번은 반드시 수행, 끝에 ; 필요.
분기문(Branch Statement)◦ continue: while, do while문에서는 조건부분으로, for 문에서는 증감으로 바로 제어를 이동.◦ break: loop문 1개 혹은 switch문 1개를 탈출
한밭대 정보통신공학과 и чунг хо 13
If statementif ( x>255) // (x>255 && x 255)
x = 255;else if (x < 0) // 0개, 1개, 2개, … 가능
x = 0;else // 0개 가능
x = 128; else if () 는 0개 또는 복수 개 가능, else 0개 또는
1개 가능
한밭대 정보통신공학과 и чунг хо 14
switch caseSwitch(ch){
case ‘+’: // ‘+’ 대신에 이 문자에 해당하는 ASCII 표의 숫자도 가능result = a + b; // 실행문은 2개 이상 가능하며 이 경우 {} 불필요.
break; // 이것이 없으면 ‘+’ 또는 ‘-’라는 의미가 됨.case ‘-’:
result = a – b;break;case ‘*’:
result = a * b;break;case ‘/’:
result = a / b;break;default:
result = a % b;
}
한밭대 정보통신공학과 и чунг хо 15
한밭대 정보통신공학과 и чунг хо
for loopfor (i=1, sum=0; i
한밭대 정보통신공학과 и чунг хо
Continuefor(i=0, sum=0; i
제어문(Flow Control Statement)◦ 조건문, 반복문, 분기
조건문(Conditional Statements)◦ Switch 문◦ If 문
반복문(Loop Statements)◦ for ( initial condition; loop condition;
increment/decrement) ◦ while( ) { } ◦ do { } while ( );
분기문(Branch Statement)◦ continue◦ break
한밭대 정보통신공학과 и чунг хо 18