Chapter 4 수식과 연산자.

Slides:



Advertisements
Similar presentations
비즈쿨 - 정 성 욱 - - 금오공고 비즈쿨 - 정 성 욱 1. 나는 각 단원들의 활동들에 성실하게 참여 하겠습니다. 우리의 다짐 2. 나는 나와 전체의 발전을 위해 각 멘토들의 지도에 순종하겠습니다. 3. 나는 각 단원들을 숙지함으로써 비즈니스 마인드를 함양하고 자신의.
Advertisements

지도교수 : 박진식 교수님 조 원 : 홍승기, 이병용, 백승준, 조근용, 조동현, 한정협, 이상하.
1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
수유부의 약물복용 시 주의점 발표자 조기성. 모유 수유의 장점 모유 수유의 장점은 ? 위장관 질환 발생감소 영아 돌연사 발생감소 아토피 질환 발생감소 정서적 안정.
똘기 : 채 익지 않은 과일. 똘기 소개 일명 발표동아리. 똘기는 발표에 대한 두려움을 가지고 있는 학우들에게 ‘ 자신감 ’ 을 키워줄 수 있도록 하자는 취지에서 만들어졌다. 평소 강의 시간보다 편안하고 자유롭게 발표해 볼 수 있는 기회를 제공함으로써 발표력 향상에 기여하는.
C 언어 컴퓨터학과 C 언어 ( STS ) (Chap5. Selection-Making Decisions ) C 언어.
2013년도 2학기 학습튜터링 O.T.
미국의 미디어교육 신문방송학과 강진구 한인수 곽모란 이명현.
PRESENTATION 저온화상이란?
자기소개 김지수 blog.naver.com/1merry1.
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
C++ Espresso 제1장 기초 사항.
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
제 1장 C 언어의 소개.
청소년문제와 보호 청소년문제의 개념과 범주.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
가족상담 및 치료.
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
쌓지 말고 해소하자 이 주휘 이 진영 전 민석 전 혜림.
2015년 하반기 소방교육 자 유 전 공 학 부 (금) 안녕하십니까 자유전공학부 행정실 입니다.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
4장: 자료형과 수식.
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
서울 메트로 노조파업 수강과목 : 노사 관계론 담당교수 : 정형진 교수님
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
Chapter 4 – 연 산 자 Outline 4.1 산술 연산자 4.2 관계 연산자 4.3 동등 연산자 4.4 논리 연산자
컴퓨터 활용 및 실습 Chapter 3 수식과 함수 김 정 석
제 2 장 변수와 상수.
4주차: Data Types and Functions
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
컴퓨터 개론 및 실습 Dept. Computer Eng. Hankuk University of Foreign Studies
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 11. 1차원 배열.
제 3 장 연산자 (Operators).
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
칼빈의 생애와 개혁자로의 변모 사학과 김종식.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형.
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
패시브하우스 신안산대학교 l 건축과 l 박효동, 박창준, 지예림.
국제의료관광 관련 법, 제도.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
Chapter 11. 배열과 포인터.
Chapter 04. 데이터의 표현과 연산(Ⅱ).
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
플래시MX2004 디자인스쿨 Chapter 10. 외부파일 불러오기.
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
학습목표 Chapter 2-1. 변수와 포인터 변수의 선언과 변수에 대한 메모리 할당을 살펴본다.
연산자Operators C언어의 기본 구조 도서출판 한산 C언어의 기본 구조 1: #include <stdio.h>
박성진 컴퓨터 프로그래밍 기초 [04] 연산자 박성진
치료 레크레이션 프로그램 (지적 장애 대상) 과 목: 학 과: 학 번: 이 름: 제 출 일 자 담 당 교 수:
Chapter 06 연산자 기본.
노년기 발달 장안대 행정법률과 세류반 정 오 손
자바 5.0 프로그래밍.
CHAPTER 9-1 한국의 사회복지정책 - 사회보험제도 -
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
3주차: Control Flow and Others
정부조직론 Team 1 발표 제5장 제1절, 제2절 공공정책학부 강철욱 권지호
워밍업 실뭉치 전달게임.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
음파성명학 최종욱.
경찰학 세미나 제 5 강 경찰관직무집행법 2조 5호의 의미 신라대학교 법경찰학부 김순석.
Presentation transcript:

Chapter 4 수식과 연산자

목차 4.1 수식과 연산자란 4.2 산술 연산 4.3 대입 연산 4.4 관계 연산 4.5 논리 연산 4.6 조건 연산자 4.1 수식과 연산자란 4.2 산술 연산 4.3 대입 연산 4.4 관계 연산 4.5 논리 연산 4.6 조건 연산자 4.7 우선 순위와 결합 법칙 4.8 형변환

4.1 수식과 연산자란? 수식 수식(expression) 연산자(operator) 수식예제 상수, 변수, 연산자의 조합 4.1 수식과 연산자란? 수식(expression) 상수, 변수, 연산자의 조합 연산자와 피연산자로 나누어짐 연산자(operator) 연산을 나타내는 기호 피연산자(operand) 연산의 대상 수식예제 수식 printf("3+2의 값은 %d\n", 3+2); printf("3-2의 값은 %d\n", 3-2); printf("x의 값은 %d\n", x); printf("x+1의 값은 %d\n", x+1);

4.1.1 연산자의 분류 연산자의 분류 연산자 의미 대입 = 오른쪽을 왼쪽에 대입 산술 + - * / % 사칙연산과 나머지 연산 부호 + -   증감 ++ -- 증가, 감소 연산 관계 > < == != >= <= 오른쪽과 왼쪽을 비교 논리  && || ! 논리적인 AND, OR 조건 ? 조건에 따라 선택 콤마 , 피연산자들을 순차적으로 실행 비트 단위 연산자 & | ^ ~ << >> 비트별 AND, OR, XOR, 이동, 반전 sizeof 연산자 sizeof 자료형이나 변수의 크기를 바이트 단위로 반환 형변환 (type) 변수나 상수의 자료형을 변환 포인터 연산자 * & [] 주소계산, 포인터가 가리키는 곳의 내용 추출 구조체 연산자 .  -> 구조체의 멤버 참조

4.1.2 피연산자수에 따른 연산자 분류 단항 연산자 : 피연산자의 수가 1개 ++x y-- 이항 연산자 : 피연산자의 수가 2개 삼항 연산자 : 피연산자의 수가 3개 ++x y-- 증감연산자 ++는 변수의 앞에 나오면 연산 후 수행 변수의 뒤에 나오면 수행 후 연산 x + y x - y x ? y : z 조건 ? 참일 때 : 거짓일 때

4.2 산술 연산 산술 연산자 덧셈, 뺄셈, 곱셈, 나눗셈 등의 사칙 연산을 수행하는 연산자 연산자 기호 의미 예 덧셈 + 4.2 산술 연산 산술 연산자 덧셈, 뺄셈, 곱셈, 나눗셈 등의 사칙 연산을 수행하는 연산자 연산자 기호 의미 예 덧셈 + x와 y를 더한다 x+y 뺄셈 - x에서 y를 뺀다. x-y 곱셈 * x와 y를 곱한다. x*y 나눗셈 / x를 y로 나눈다. x/y 나머지 % x를 y로 나눌 때의 나머지값 x%y y = m*x + b y = a*x*x + b*x +c m = (x + y + z) / 3

4.2.1 예제 (두개의 정수 연산) 정수를 정수로 나누면 계산에서 소수점 이하는 버림

4.2.2 나눗셈 연산자 정수형끼리의 나눗셈에서는 결과가 정수형으로 생성하고 부동소수점형끼리는 부동소수점 값을 생성 정수형끼리의 나눗셈에서는 소수점 이하는 버려짐 3.0 2.0 / 1.5 3 2 1 부동소수점 정수

4.2.3 예제 (나눗셈 연산자)

4.2.4 나머지 연산자 나머지 연산자(modulus operator)는 첫 번째 피연산자를 두 번째 피연산자로 나누었을 경우의 나머지를 계산 10 % 2 = 0 5 % 7 = 5 30 % 9 = 3 나머지 연산자를 이용한 짝수와 홀수를 구분 x % 2가 0이면 짝수 나머지 연산자를 이용한 5의 배수 판단 x % 5가 0이면 5의 배수

4.2.5 예제 (나머지 연산자)

4.2.6 증감 연산자 ++기호나 – 기호를 사용하여 변수의 값을 1만큼 증가시키거나 감소시키는 연산자이다 초기 상태 의미 ++x x값을 먼저 증가한 후에 다른 연산에 사용 이 수식의 값은 증가된 x값 x++ x값을 먼저 사용한 후에, 증가 이 수식의 값은 증가되지 않은 원래의 x값 --x x값을 먼저 감소한 후에 다른 연산에 사용 이 수식의 값은 감소된 x값 x-- x값을 먼저 사용한 후에, 감소 이 수식의 값은 감소되지 않은 원래의 x값 초기 상태 연산이 실행된 후

4.2.7 예제 (증감 연산자)

변수(variable) = 수식(expression); 4.3 대입 연산자 대입 연산자 (assignment operator) 왼쪽에 있는 변수에 오른쪽의 수식의 값을 계산하여 대입함 왼쪽에는 항상 변수가 와야 함 다음의 문장은 수학적으로는 올바르지 않지만 C에서는 가능함 변수(variable) = 수식(expression); x = 10;         // 상수 10을 변수 x에 대입한다. y = x;          // 변수 x의 값을 변수 y에 대입한다. z = 2 * x + y;  // 수식 2 * x + y를 계산하여 변수 z에 대입한다. x = x + 1; // x의 값이 하나 증가 된다.

4.3.1 예제 (대입 연산자 )

4.3.2 복합 대입 연산자 복합 대입 연산자란 소스를 간결한게 만들 수 있음 +=처럼 대입연산자 =와 산술연산자를 합쳐 놓은 연산자 소스를 간결한게 만들 수 있음 복합 대입 연산자 의미 x += y x = x + y x -= y x = x - y x *= y x = x * y x /= y x = x / y x %= y x = x % y x &= y x = x & y x |= y x = x | y x ^= y x = x ^ y x >>= y x = x >> y x <<= y x = x << y x += 1            // x = x + 1 x *= 5            // x = x * 5 x -= y + 1       // x = x - (y + 1) x *= y + 1       // x = x * (y + 1) x += y / z       // x = x + (y / z) x %= x + y       // x = x % (x + y)

4.3.3 예제 (복합 대입 연산자)

4.4 관계 연산자 두개의 피연산자를 비교하는 연산자 결과값은 참(trun) 아니면 거짓(false) 연산자 기호 의미 사용예 == x와 y가 같은가? x == y != x와 y가 다른가? x != y > x가 y보다 큰가? x > y < x가 y보다 작은가? x < y >= x가 y보다 크거나 같은가? x >= y <= x가 y보다 작거나 같은가? x <= y

4.4.1 예제 (관계 연산자)

4.5 논리 연산자 논리 연산자 여러 개의 조건을 조합하여 참과 거짓을 따지는 연산자 4.5 논리 연산자 논리 연산자 여러 개의 조건을 조합하여 참과 거짓을 따지는 연산자 결과값은 참(trun) 아니면 거짓(flash) 논리 연산의 결과값 사용 예 의미 x && y AND 연산, x와 y가 모두 참이면 참, 그렇지 않으면 거짓 x || y OR 연산, x나 y중에서 하나만 참이면 참, 모두 거짓이면 거짓 !x NOT 연산, x가 참이면 거짓, x가 거짓이면 참 x y x AND y x OR y NOT x F T

4.5.1 AND OR 연산자 AND 연산자 OR 연산자 두 개의 피연산자가 모두 참 일 때만 연산 결과가 참이 됨 하나의 피연산자만 참이면 연산 결과가 참이 됨

4.5.2 NOT 연산자 NOT 연산자 참과 거짓의 표현 방법 피연산자의 값이 참이면 연산의 결과값을 거짓으로 만들고, 피연산자의 값이 거짓이면 연산의 결과값을 참으로 만듬 참과 거짓의 표현 방법 기본적으로 참(true)은 1로, 거짓(false)은 0로 나타냄 관계 수식이나 논리 수식이 거짓으로 계산되면 0을 생성하고 참으로 계산되면 1을 생성 피연산자의 참, 거짓을 가릴 때에는 0이 아니면 참이고 0이면 거짓으로 판단

4.5.3 단축 계산 && 연산자의 경우, 첫번째 피연산자가 거짓이면 다른 피연산자들을 계산하지 않음 || 연산자의 경우, 첫번째 피연산자가 참이면 다른 피연산자들을 계산하지 않음   ( 2 > 3 ) && ( ++x < 5 ) 앞 부분(2 > 3)이 거짓 이므로 AND 연산에서 뒷 부분(++x < 5)의 참, 거짓 여부에 관계 없이 무조건 거짓   ( 3 > 2 ) || ( --x < 5 ) 앞 부분(3 > 2)이 참 이므로 OR 연산에서 뒷 부분(--x < 5)의 참, 거짓 여부에 관계 없이 무조건 참

4.5.4 예제

4.5.5 논리 연산자의 우선 순위 ! 연산자의 우선 순위는 증가 연산자 ++나 감소 연산자 --와 동일 4.5.5 논리 연산자의 우선 순위 ! 연산자의 우선 순위는 증가 연산자 ++나 감소 연산자 --와 동일 && 와 || 연산자의 우선 순위는 모든 산술 연산자나 관계 연산자보다 낮음 &&가 || 연산자보다는 우선 순위가 높음 x < 0 || x > 10 x>5 || x<10 && x>0 // x>5 || (x<10 && x>0) 와 동일 (x>5 || x<10) && x>0

4.5.6 예제 (윤년을 판단하는 문제) 윤년을 판단하는 문제 연도가 4로 나누어 떨어지면 윤년 연도가 4로 나누어 떨어져도 100으로 나누어 떨어지는 연도는 제외 100으로 나누어 떨어져도 400으로 나누어 떨어지는 연도는 윤년

4.6 조건 연산자 조건 연산자 C에서 유알하게 3개의 피연산자를 가지는 삼항 연산자임 4.6 조건 연산자 조건 연산자 C에서 유알하게 3개의 피연산자를 가지는 삼항 연산자임 exp1가 참이면 exp2를 반환, 그렇지 않으면 exp3를 반환 exp1 ? exp2 : exp3 absolute_value = (x > 0) x : -x; // 절대값 계산 max_value = (x > y) x : y; // 최대값 계산 min_value = (x < y) x : y; // 최소값 계산

4.6.1 예제 (조건 연산자)

4.7 우선 순위와 결합 법칙 우선 순위 어떤 연산자를 먼저 계산할 것인지에 대한 규칙

4.7.1 우선 순위 수식에서 어떤 연산자를 먼저 계산할 것인지의 문제 우선 순위 연산자 결합 규칙 1 () [] -> . ++(후위) --(후위) ->(좌에서 우) 2 sizeof &(주소) ++(전위) --(전위) ~ ! *(역참조) +(부호) -(부호), 형변환 <-(우에서 좌) 3 *(곱셈) / % 4 +(덧셈) -(뺄셈) 5 << >> 6 < <= >= > 7 == != 8 &(비트연산) 9 ^ 10 | 11 && 12 || 13 ?(삼항) ->(우에서 좌) 14 = += *= /= %= &= ^= |= <<= >>= 15 ,(콤마)

4.7.2 우선 순위의 일반적인 지침 콤마 < 대입 < 논리 < 관계 < 산술 < 단항 괄호 연산자는 가장 우선순위가 높음 모든 단항 연산자들은 이항 연산자들보다 우선순위가 높음 콤마 연산자를 제외하고는 대입 연산자가 가장 우선순위가 낮음 연산자들의 우선 순위가 생각나지 않으면 괄호를 이용 ( x <= 10 ) && ( y >= 20 ) 관계 연산자나 논리 연산자는 산술 연산자보다 우선순위가 낮음 x + 2 == y + 3

4.7.3 결합 법칙 결합 법칙 동일한 우선 순위를 가지는 연산들이 여러 개가 있으면 어떤 것을 먼저 수행하여야 하는가에 대한 규칙

4.7.4 예제 (우선 순위와 결합 법칙)

4.8 형변환 연산시에 데이터의 유형이 변환되는 것 형변환 자동적인 형변환 명시적인 형변환 대입연산시 형변환 정수연산시 형변환 수식연산시 형변환

4.8.1 대입 연산시 자동 형변환 자동적인 형변환 올림 변환 내림 변환 double f; f = 10; // f에는 10.0이 저장 내림 변환 int i; i = 3.141592;            // i에는 3이 저장

4.8.2 예제 (올림 변환과 내림 변환)

4.8.3 수식에서의 자동 형변환 서로 다른 자료형이 혼합하여 사용되는 경우, 더 큰 자료형으로 통일 됨

4.8.4 명시적인 형변환 형변환(type cast): 사용자가 데이터의 타입을 변경하는 것 (int)1.23456 // 상수 (double) x // 변수 (long) (x+1) // 수식 (자료형) 상수 또는 변수

4.8.5 예제 (명시적인 형변환)

4.8.6 콤마 연산자 어떤 문장이던지 순차적으로 실행됨 x=1, y=2; x = ( 2+5, 5-3 ); printf("Thank"), printf(" you!\n"); x=1; y=2;와 동일 x=2가 됨 x=5가 됨 x와 y는 1 증가 Thank you! x = ( 2 + 5, 5 - 3 ); 은 괄호 안의 계산이 모두 이루어진 후 x에 저장되기 때문에 2+5가 계산된 후 앞의 계산과는 관계 없이 5-3이 계산되어 앞의 2+5 계산의 값은 사라지고, 최종적으로 x에는 5-3의 결과인 2가 저장 됨 x = 2 + 5, 5 - 3; 은 2+3의 계산 결과 값인 5가 x에 저장되고, 5-3은 계산되기만 하고 어디에도 저장되지 않기에 최종적으로 x에는 2+3의 결과인 5가 저장 됨

Q n A