Download presentation
Presentation is loading. Please wait.
1
4장 연산자
2
수업내용 4장 연산자 01. 산술 연산자 02. 증감 연산자 03. 대입 연산자 04. 관계 연산자 05. 논리 연산자
07. 조건 연산자 09. Sizeof 연산자 10. Cast 연산자
3
2장 변수의 정리 정수(숫자) : int (%d) 실수(숫자) : float(%f) 문자 : char (%c)
문자열 : char 배열(%s)
4
대입 연산자(Assignment) = 프로그램에서 가장 중요한 연산자 변수명 = 수식;
좌측(lvalue)에는 값을 전달받을 수 있는 개체, 변수 나 포인터 우측(rvalue)에는 주로 수식이 옴 예 ch = ‘A’; a = b = 10; k = a + 10; b = (a * b) + 10;
5
1. 산술 연산자(p.80) 일반적으로 수학에서 사용하는 기호 int 타입(정수)간의 연산은 int 결과 산출
+ , - , * , / , % 예) %(나머지) : 5 % 2 = 2…1, % 4 = 2…2 int 타입(정수)간의 연산은 int 결과 산출 예) 5 / 2 = 2 실수끼리의 연산은 실수 결과 산출 예) 5.0 / 2.0 = 2.5 정수와 실수끼리의 연산결과는?
6
산술 연산자 종류 연산자 의미 예 - 음수(부호) -X + 덧셈 X+Y 뺄셈 X-Y * 곱셈 X*Y / 나눗셈 X/Y %
나머지 X%Y
7
(실습) 산술연산자 (p.81) 예제-1)간단한 사칙연산 프로그램 예제-3)실수연산 프로그램
맨 아래줄의 printf(“%d %% %d = %d\n”, a, b, rem); a % b rem 예제-3)실수연산 프로그램 printf 문 내의 %6.2f 자리수를 OOOOOO.OO 로 지정 %6.2f 대신 %.2f 를 많이 사용함
8
02. 증감 연산자(p.83) 1증가, 감소에 사용되는 연산자 산술연산자보다 연산속도가 빠름
위치에 따라 연산순서가 바뀜(주의) 전위연산자 : 모든 연산에 선행하여 실행 후위연산자 : 모든 연산에서 마지막에 실행 연산자 의미 예 ++ 1증가 a++, ++a -- 1감소 a-- , --a
9
02. 증감 연산자(p.83) 증감 연산자(++, --) a++ a = a + 1, ++a a = a + 1
변수에 대입시 주의!! 예) a = 10, b = 10; c = a++; a 값 대입 후 증가 c = 10 d = ++b; b 값 증가 후 대입 d = 11
10
실습 예제-1 예제-2 맨 아래 두줄에서 a = 12; printf(“a = %d \n”, a++); a = ?
증감 연산자에 따라서 값이 어떻게 변하는지 반드시 확인할 것
11
03. 대입 연산자(p.86) 줄여서 씀 a += b a = a + b, a += 1 a = a + 1
a /= b a = a / b, a /= c a = a / c a %= b a = a % b, a %= 10 a = a % 10
12
(실습) 대입 연산자 (p.87) p.87(예제-1) 대입연산자 프로그램 예제-2 a = b =c =10; 의 의미는?
13
04. 관계 연산자(p.89) 보통 조건을 따지는 if, while, for 문등에서 사용 연산결과가 참이면 1, 거짓이면 0
의미 예 > 크다 a > b >= 크거나 같다(이상) a >= b < 작다 a < b <= 작거나 같다(이하) a <= b == 같다(주의 : 대입연산자) a == b != 같지 않다 a != b
14
실습 (실습) 예제-1. 관계연산자 연산하기
15
05. 논리 연산자(p.90) 0은 거짓, 1은 참(연산할 때 0 이외는 모두 참)
&&(And, 논리곱) 연산자 : 모두 참일 때 참 예) 1 && 2 = 1, && 1 = 0 ||(Or, 논리합) 연산자 : 하나라도 참일 때 참 예) 0 || 2 = 1, || 0 = 0 !(Not, 부정) 연산자 : 참은 거짓, 거짓은 참 예) !0 = 1, !2 = 0
16
연산 결과표 X Y X&&Y X||Y !X F T
17
(실습) 논리 연산자(p.91) 예제-1) 논리연산자 사용하기 j = (a>=b) && (c==d); 0 0
K = (a<b) || (c>d); 정답화면의 맨 아래 두줄 오타!! i = 0 j = 0 j = 1 k = 1
18
06. 비트 연산자(Bit Operator) 비트 단위의 연산 기호 의미 예 & AND a & 3 | OR a | b ^
XOR a ^ 7 ~ 1의 보수 ~a << 왼쪽으로 쉬프트 a << 2 >> 오른쪽으로 쉬프트 a >> 3
19
& 연산은 Mask bit로 특별한 bit 지울 때 | 연산은 특정 bit를 추가할 때 사용 ^(택)는 비교할 때 자주 사용
1 X 10 Y 7 1 1 2 X & Y 1 15 X | Y 1 13 X ^ Y 1 ~X -11 1 40 X << 2 1 5 X >> 1
20
실습 P93 예제-1 비트 연산의 결과 확인 예제-2 쉬프트 연산의 결과 확인
21
07. 조건 연산자(p.94) 조건식 ? 문장(참) : 문장(거짓) 조건식이 참일 경우 조건식이 거짓일 경우 예)
조건식이 참일 경우 조건식이 거짓일 경우 예) i = 20 > 10 ? 10 : 5 i = ? j = 5 == 1 ? 1 : 0 j = ?
22
실습 (실습)예제-1. 조건연산자를 이용한 큰 값 구하기 (실습)예제-2. 조건연산자를 이용하여 같은 값 구하기
23
08. 콤마 연산자 나열 연산자라고 함 변수에 어떤 식이나 값을 대입할때 나열식으로 구성 예
c = (a=2, b=10, a+b); c 의 값은 ? a = 10, b = 12, c = 14;
24
09. sizeof 연산자(p.97) sizeof 변수, sizeof(type) 예제-1 을 통해서 각 자료형의 크기 알아보기
예) int k; printf(“%d, %d”, sizeof k, sizeof(int) ); 출력결과 : 4, 4 예제-1 을 통해서 각 자료형의 크기 알아보기
25
10. Cast 연산자(p.98) 실수를 정수형으로 변경 : 실수 앞에 (int)를 붙임
예) float num = 10.8f; int i; i = (int)num; i = // 소수 이하는 버림 정수를 실수형으로 변경 : 정수 앞에 (float)을 붙임 예) int num = 10; float j; j = (float)num; j =
26
(실습) Cast 연산자(p.98) 예제-1) 실수를 정수형으로 형변환 예제-2) 정수를 실수형으로 형변환
실수와 정수끼리 연산할경우 실수로 변환됨 예) =
27
11. 연산자 우선순위 순위 연산자 결합규칙 1 ( ) [ ] -> . 2
( ) [ ] -> . 2 ! ~ (형변환) * & sizeof 3 * / % 4 + - 5 << >> 6 < <= > >= 7 == != 8 & 9 | 10 ^ 11 && 12 || 13 ? : 14 = += -= *= /= %= …… 15 ,
28
실습문제 1 두 숫자를 이용해 더하기,빼기,나누기,나머지를 모두 출력하시오 int 형 숫자 변수 세 개 + 네개 더 선언
소수를 입력받으려면? 실습문제 1 두 숫자를 이용해 더하기,빼기,나누기,나머지를 모두 출력하시오 int 형 숫자 변수 세 개 + 네개 더 선언 scanf()를 이용하여 숫자 두 개 입력 받기 더하기, 빼기, 나누기, 나머지를 각각 계산하기 printf()를 이용하여 더하기, 빼기, 나누기, 나머지 결과를 각각 출력
29
실습문제 2 프로그램 실행 후 학과, 학번, 이름을 입력받아 아래와 같이 출력하시오. (출력결과) 학과 : 정보보안과
학번 : 이름 : 홍길동 <알고리즘> 문자열 변수 세 개 선언 scanf를 이용해 값 입력 printf를 이용해 값 출력
30
레포트(내용 정리/요약 및 예문) 변수란? 출력 함수(printf) 정리 입력 함수(scanf) 정리
표지 : 제목,제출날짜, 학과,학번,이름 등 용지 : A4 용지 방식 : 자필로 정리 (예외경우는 양해 필요) 날짜 : 다음주까지(10/14) 내용 : 정리/요약, 예문 각 1개(총 4개) 변수란? 정수형 변수 실수형 변수 문자형 변수 출력 함수(printf) 정리 입력 함수(scanf) 정리 연산자 정리(산술, 증감, 대입, 관계)
Similar presentations