연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자

Slides:



Advertisements
Similar presentations
기본 자료형 순천향대학교 정보기술공학부 이 상 정. 자료형의 선언 컴퓨터프로그래밍 1 순천향대학교 정보기술공학부 이 상 정 3 자료형 선언 기본 자료형문자형 char 정수형 int 실수형 float double 형없음 void.
Advertisements

C 언어 컴퓨터학과 C 언어 ( STS ) (Chap5. Selection-Making Decisions ) C 언어.
제6장 조건문.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
데이터의 표현과 연산 (1) (Chapter 3)
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
4장: 자료형과 수식.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
C 9장. 구조체 #include <stdio.h> int main(void) { int num;
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
Chapter 4 – 연 산 자 Outline 4.1 산술 연산자 4.2 관계 연산자 4.3 동등 연산자 4.4 논리 연산자
7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.
10장 포인터와 문자열 포인터 기본 배열과 포인터 매개변수 전달방법 포인터와 문자열.
Chapter 06. 선택문.
Chapter 10. 포인터.
쉽게 풀어쓴 C언어 Express 제10장 배열 C Express.
제 3 장 상수와 변수
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4장 제어문 선택문: if 문, if – else 문, switch 문
4주차: Data Types and Functions
5장. 상수와 기본 자료형. 5장. 상수와 기본 자료형 5-1 C 언어가 제공하는 기본 자료형 자료형(data type) 기본 자료형 사용자 정의 자료형 int val; "선언할 변수의 특징을 나타내기 위한 키워드" 기본 자료형 기본적으로 제공이 되는 자료형 사용자.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
Chapter 4 수식과 연산자.
제2장 데이터형과 표준 입출력문 문봉근.
C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문.
제 3 장 연산자 (Operators).
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
제어문 & 반복문 C스터디 2주차.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
Chapter 11. 배열과 포인터.
Chapter 04. 데이터의 표현과 연산(Ⅱ).
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
#1 배열 활용 #include int main(void) { int i; int grade[5]; grade[0] = 10; grade[1] = 20; grade[2] = 30; grade[3] = 40; grade[4] = 50; for(i=0;i.
-Part2- 제1장 1차원 배열이란 무엇인가.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
-Part1- 제7장 반복문이란 무엇인가.
-Part1- 제6장 자료형이란 무엇인가.
18장. 다차원 배열 그리고 포인터.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
컴퓨터 프로그램은 여러 기능의 복합체이다. 라이브러리 함수와 사용자 정의 함수
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
-Part2- 제2장 다차원 배열이란 무엇인가.
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
3주차: Control Flow and Others
어서와 C언어는 처음이지 제16장.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C.
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
어서와 C언어는 처음이지 제22장.
배열, 포인터, 함수 Review & 과제 1, 2.
Presentation transcript:

연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자 연산자 우선순위 산술 연산자 논리 연산자 콤마 연산자 sizeof 연산자

연산자 연산자 분 류 연 산 자 산술 연산자 +, -, *, /, % 관계 연산자 분     류 연   산   자 산술 연산자 +, -, *, /, % 관계 연산자 >, <, ==, !=, >=, <= 증감 연산자 ++, -- 논리 연산자 &&, ||, ! 조건 연산자 ?: 비트 논리 연산자 &, |, ^, ~ 비트 이동 연산자 <<, >> 대입 연산자 =

대입 연산자 대입 연산자 연산 진행 순서가 중요함 x = 5 + 6; 연산자 : ‘+’, '=' 피연산자 : 5, 6, x 피연산자인 5와 6을 산술 연산자 ‘+’를 이용하여 더 한 값이 대입 연산자 ‘=’를 통해 x에 저장된다. 대입 연산자가 가장 늦게 수행된다. 일반적인 수학에서와 다른 점    x = x + 2; 위의 수식은 일반적인 수학에서는 에러이다. 그러나 프로그램에서는 가능하다. 위의 수식은 x값에 2를 더한 결과를 x에 저장하라는 의미이다.

【예제 4-1】Ex1.c 02 대입 연산자 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   int a, b = 0; 05   a = 4; 06   printf(" a = 4 문장을 실행 후 a의 값은 %d\n", a); 07   a = a + 3; 08   printf(" a = a + 3 문장을 실행 후 a의 값은 %d\n", a); 09   b = a + 2; 10   printf(" b = a + 2 문장을 실행 후 b의 값은 %d\n", b); 11   return 0; 12 } 표준입력 스트림

산술 연산자 – 단항 연산 02 단항 연산자 단항 산술 연산자란 피연산자를 하나만 사용하는 산술 연산자로 오른쪽에서 왼쪽으로 적용되며, ++, -- 등이 있다. ++나 --는 증감 연산자라고 불리는데, 변수의 값을 1씩 증가, 또는 감소시킨다. 연산자 연산식 의         미 ++  a ++ 변수의 값에 먼저 연산에 적용시킨 후 최종 변수의 값에 1을 증가시킨다. ++ a 변수의 값을 먼저 1 증가시킨 후 변수의 최종값을 수식에 적용시킨다. --  a -- 1을 감소시킨다. -- a 변수의 값을 먼저 1 감소시킨 후 변수의 최종값을 수식에

【예제 4-2】Ex2.c 02 산술 연산자 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   int a, b, c; 05   a = 10; b = 20; c = 30; 06   a = ++b ; 07   c = b++; 08   printf(" a = %d  b = %d  c = %d \n", a, b, c); 09   a = ++b + ++c; 10   printf(" a = ++b + ++c 문장 실행후 \n"); 11   printf(" a = %d  b = %d  c = %d\n", a, b, c); 12   a = b++ + c++; 13   printf(" a = b++ + c++ 문장 실행후 \n"); 14   printf(" a = %d  b = %d  c = %d\n", a, b, c); 15    return 0; 16 } 표준입력 스트림

산술 연산자 – 이항 연산 03 이항 연산자 이항 산술 연산자는 두 개의 피연산자를 필요로 하는 산술 연산이다. 이항 산술 연산자는 사칙연산과 잉여 나눗셈을 포함한다. 연 산 자 의   미 기   능 + 덧  셈 a = b + c - 뺄  셈 a = b - c * 곱  셈 a = b * c / 나눗셈 a = b / c % 나머지 a = b % c

【예제 4-3】Ex3.c 02 산술 연산자 예제 01 #include <stdio.h> 02   int main(void) 03   { 04        int a = 20, b = 3, c = 7, d, e; 05        float f = 15.0, g;         06        d = a / b; 07        printf("d = a / b을 실행후 d의 값은 %d\n", d); 08        e = a % c; 09        printf("e = a %% c을 실행후 e의 값은 %d\n", e); 10        g = f / c; 11        printf("g = f / c를 실행후 g의 값은 %f\n", g); 12        return 0; 13    } 표준입력 스트림

【예제 4-4】Ex4.c 02 산술 연산자 예제 01 #include <stdio.h> 02  int main(void) 03   { 04        int length, area; 05        printf("정사각형의 한변을 입력하라 \n"); 06        scanf("%d", &length); 07        area = length * length; 08        printf("정사각형의 넓이는 %d 이다.\n", area); 09        return 0; 10    } 표준입력 스트림

관계 연산자 04 관계 연산자 두 수간에 대소 관계 및 특정 조건을 검사할 때 사용하는 연산자로 관계가 사실이면 참(true 또는 1)을, 성립되지 않으면 거짓(false 또는 0)을 표시한다. 다음은 관계 연산자의 종류를 나 타낸다. 프로그램에서는 거짓은 ‘0’으로 나타내고, ‘0’이외의 모든 값은 참으로 여긴다. 연산자 의미 사 용 법 > ~ 보다 크다 a = (b > c) b가 c보다 크면 a=1, 그렇지 않으면 a = 0이다. < ~ 보다 작다 a = (b < c) b가 c보다 작으면 a=1, 그렇지 않으면 a = 0이다. >= ~ 보다 크거나 같다 a = (b >= c) b가 c보다 크거나 같으면 a=1, 그렇지 않으면 a = 0이다. <= ~ 보다 작거나 같다 a = (b <= c) b가 c보다 작거나 같으면 a=1, 그렇지 않으면 == 같다 a = (b == c) b와 c가 같으면 a=1, 그렇지 않으면 a = 0이다. != 같지 않다 a = (b != c) b와 c가 같지 않으면 a=1, 그렇지 않으면

【예제 4-5】Ex5.c 02 관계 연산자 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   int score, grade; 05     printf("점수를 입력하세요 : "); 06    scanf("%d", &score); 07   grade = score >= 90; 08   if (grade == 1) 09           printf("결과는 %d, 합격\n", grade); 10    else 11           printf("결과는 %d, 불합격\n", grade); 12    return 0; 13 } 표준입력 스트림

논리 연산자 05 논리 연산자 여러 개의 조건을 결합하여 판정하는 연산자로 AND, OR, NOT의 논리 연산을 수행한다. 관계 연산자와 마찬가지로 참(true)일 때는 1로, 거짓(false) 일 때는 0으로 표시된다. 연산자 의   미 사  용  법 논리곱(&&) AND a = b && c b와 c가 모두 참이면 a = 1, 아니면, a = 0 이다. 논리합(||) OR a = b || c b와 c가 모두 거짓면 a = 0, 아니면, a = 1 이다. 논리부정(!) NOT a = !b b가 참이면 a = 0, b가 거짓이면 a = 1이다.

【예제 4-6】Ex6.c 02 논리 연산자 예제 01 #include <stdio.h> 02 int main(void) 03 { 04    int a = 0, b = 1; 05    printf("논리 연산 1 && 2 의 결과 : %d\n", 1 && 2); 06    printf("논리 연산 0 && 2 의 결과 : %d\n", 0 && 2); 07    printf("논리 연산 0 || 2 의 결과 : %d\n", 0 || 2); 08    printf("논리 연산 0 || 0 의 결과 : %d\n", 0 || 0); 09    printf("논리 연산 !a 의 결과 : %d\n", !a); 10    printf("논리 연산 !b 의 결과 : %d\n", !b); 11     return 0; 12 } 표준입력 스트림

【예제 4-7】Ex7.c 02 논리 연산자 예제 01 #include <stdio.h> 02     int main(void) 03    { 04        int a = 0, b = 1, c = 1;     05        printf("논리 연산 1 && 1 || 0 의 결과 : %d\n", 1 && 1 || 0); 06        printf("논리 연산 1 && 0 || 1 의 결과 : %d\n", 1 && 0 || 1); 07        printf("논리 연산 1 && 0 || 1 의 결과 : %d\n", 1 && 0 || 0); 08        printf("논리 연산 1 && 0 || 0 && 1 의 결과 : %d\n", b && a || a && c); 09        printf("논리 연산 <1 && 0> || <0 && 1>의 결과 : %d\n", (b && a) || (a && c)); 10        return 0; 11      }

【예제 4-8】Ex8.c 02 논리 연산자 예제 01 #include <stdio.h> 02     int main(void) 03    { 04         int a = 0, b = 1, c = 1; 05         printf("a < b && c > a 결과 : %d\n", a < b && c > a); 06         printf("a > b && c > a 결과 : %d\n", a > b && c > a); 07         printf("a > b || c > a 결과 : %d\n", a > b || c > a); 08         printf("괄호를 사용하는 것이 더 좋음\n"); 09         printf("(a > b) || (c > a) 결과 : %d\n", (a > b) || (c > a));    10         return 0; 11      }

비트 연산자 06 비트 연산자 비트 연산자는 피연산자 정수값을 비트 단위로 논리 연산을 수행하는 연산자이다. AND, OR, NOT의 기본 논리식에 의해 이루어진다. 연산자 의  미 사  용  법 & 비트 곱 (AND) a = b & c b와 c를 AND 연산하여 a에 대입 | 비트 합 (OR) a = b | c b와 c를 OR 연산하여 a에 대입 ^ 배타적 논리합(XOR) a = b ^ c b와 c를 XOR 연산하여 a에 대입 ~ 비트 반전 (1의 보수) a = ~c b의 각 비트를 반전하여 a에 대입 << 왼쪽으로 이동 (shift) a << b a를 b만큼 왼쪽으로 비트 이동 >> 오른쪽으로 이동 (shift) a >> b a를 b만큼 오른쪽으로 비트 이동

【예제 4-9】Ex9.c 02 비트 연산자 예제 01 #include <stdio.h> 02    int main(void) 03   { 04        unsigned char lastmask = 1;     05        unsigned char firstmask = 128;  06        unsigned char input; 07        printf("값을 입력하시오.\n"); 08        scanf("%d", &input); 09        printf("입력한 값 %d의 첫번째 비트는 %d  이다.\n", 10               input, input & firstmask); 11        printf("입력한 값 %d의 마지막 비트는 %d  이다.\n", 12               input, input & lastmask); 13        return 0; 14    } 표준입력 스트림

【예제 4-10】Ex10.c 02 비트 연산자 예제 01 #include <stdio.h> 02    int main(void) 03   { 04        unsigned char lastmask = 1;     05        unsigned char firstmask = 128;  06        unsigned char input; 07    printf(" 0 ~ 255 사이 값중 짝수를 입력하시오.\n"); 08        scanf("%d", &input); 09 printf("입력한 값 %d의 첫번째 비트 %d  이다.\n", 10                input, input & firstmask); 11        printf("입력한 값의 첫번째 비트 값만 바꾸면 입력한 값 은 %d가 된다.\n", input ^ firstmask); 13        printf("입력한 값의 마지막 비트 값을 바꾸면 입력한 값 은 %d가 된다.\n", input | lastmask); 14        return 0; 15    }

【예제 4-11】Ex11.c 02 비트 연산자 예제 01 #include <stdio.h> 02 int main(void) 03 { 04    int a, b, c, d; 05    int x = 10, y = 7; 06    a = x & y; 07    b = x | y; 08    c = x ^ y; 09    d = ~x; 10    printf("논리곱  비트 연산 x & y 의 결과 : %d\n", a); 11    printf("논리합  비트 연산 x | y 의 결과 : %d\n", b); 12   printf("배타적  비트 연산 x ^ y 의 결과 : %d\n", c); 13     return 0; 14 } 표준입력 스트림

【예제 4-12】Ex12.c 02 콤마 연산자 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   int x, y; 05    printf("x = %d, y = %d\n", x = ( y = 5, y + 10), y); 06    07    return 0; 08 } 표준입력 스트림

축약 연산 07 축약 연산 연산자 의 미 사용법 += a와 b를 더해 a에 대입 a += b -= a와 b를 빼 a에 대입 의           미 사용법 += a와 b를 더해 a에 대입 a += b -= a와 b를 빼 a에 대입 a -= b *= a와 b를 곱해 a에 대입 a *= b /= a와 b를 나누어 a에 대입 a / =b %= a와 b를 나눈 나머지를 a에 대입 a %= b <<= a와 b비트만큼 좌측으로 이동시켜 a에 대입 a <<= b >>= a와 b비트만큼 우측으로 이동시켜 a에 대입 a >>=b &= a와 b를 비트별로 AND 연산하여 a에 대입 a &= b |= a와 b를 비트별로 OR 연산하여 a에 대입 a | = b ^= a와 b를 비트별로 XOR 연산하여 a에 대입 a ^= b

【예제 4-13】Ex13.c 02 축약 연산 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   int a = 10; 05    printf("초기값 : a = 10\n"); 06   a += 5; 07    printf("a += 5 : %d\n", a); 08   a = 10; a -= 5+2; 09    printf("a -= 5+2 : %d\n", a); 10   a = 10; a *= 2+5; 11    printf("a *= 2+5 : %d\n", a); 12    return 0; 13 } 표준입력 스트림

sizeof 연산자 08 sizeof 연산자 변수나 자료형의 바이트 단위 크기를 알고자 할 때 sizeof 연산자를 이용한다. 자료형에 사용 예 sizeof(int) : 결과 값 4 sizeof(double) : 결과 값 8     printf(" %d\n", sizeof(int)); 4 출력 변수에 사용 예 int a;  double d; sizeof(a) : 결과 값 4 sizeof d : 결과 값 8    주의 : 변수에 사용할 때는 sizeof 다음에 괄호를 써도 되고 안써도 된다. 그러나, 자료형에는 반드시 괄호를 사용해야 한다.

【예제 4-14】Ex14.c 02 Sizeof 연산자 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   char c = 'a'; 05   int a = 10; 06   double d = 5.0; 07   printf("char 자료형의 바이트 크기는 %d 이다.\n", sizeof(char)); 08   printf("int 자료형의 바이트 크기는 %d 이다.\n", sizeof(int)); 09   printf("double 자료형의 바이트 크기는 %d 이다.\n", sizeof(double)); 10   printf("변수 c의 바이트 크기는 %d 이다.\n", sizeof(c)); 11   printf("변수 a의 바이트 크기는 %d 이다.\n", sizeof a); 12   printf("변수 d의 바이트 크기는 %d 이다.\n", sizeof d); 13   return 0; 14 }

연산자의 우선 순위 09 연산자의 우선 순위 ( )안의 내용을 먼저 처리한다. 단항 연산자가 이항 연산자보다 먼저 처리된다.  ( )안의 내용을 먼저 처리한다.  단항 연산자가 이항 연산자보다 먼저 처리된다.  증감 연산자는 위치에 따라 처리되는 순서가 다르지만 대개 좌측에서 우측으로의 실행을 원칙으로 한다. 연산자의 분류에 따른 우선순위 대입 < 조건 < 논리 < 비트 < 관계 < 이동 < 산술 < 단항