Chapter 04 C 연산자의 이해.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
Chapter 04 컴퓨터에서 데이터 표현. 04 컴퓨터에서 데이터 표현 2 인코딩 (encoding) – 현실세계의 정보를 컴퓨터 내부에서 처리할 수 있는 이진수로 변환하는 방법 1. 컴퓨터 속에서 데이터 표현 원리 0 - 아빠 1 - 엄마 00 - 아빠 01 - 엄마.
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
연산자와 표현식 C H A P T E R 3. 소개 C 에는 많은 내장 연산자가 있다 프로그램에서 연산자는 데이터와 변수 조작에 사용 C 연산자의 분류 1. 산술 연산자 2. 관계 연산자 3. 논리 연산자 4. 대입 연산자 5. 증가 감소 연산자 6. 조건 연산자 7.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
/ 4강_연산자 4-1 할당연산자 4-2 사칙연산자 및 나머지 연산자 4-3 자동증감 연산자 4-4 비교 연산자 4-5 논리 연산자 4-6 부정 연산자 4-7 복합대입 연산자 /
Chapter 03. 데이터의 표현과 연산(Ⅰ).
Chapter 7. 조건문.
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
3. printf()와 데이터 형식.
제2장 기본 문법 (2) 주제 : 연산자, 조건문, 반복문 수원과학대학 컴퓨터정보과.
6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Error Detection and Correction
Part 05 순수한 연산자 ©우균, 창병모 © 우균, 창병모.
2주차: 변수, 수식, Control Flow.
6장. printf와 scanf 함수에 대한 고찰
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 03. 변수와 연산자.
Tail-recursive Function, High-order Function
두근두근 파이썬 수업 3장 계산해봅시다..
11장. 1차원 배열.
3장. 데이터의 표현과 컴퓨터 연산 다루는 내용 진법과 진법 변환 연산과 보수 데이터의 표현 산술 연산 논리 연산.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
MATLAB
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
Computer System Architecture
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
제3장 연산자(Operators) 문봉근.
Chapter 02. 자바 기본 문법.
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
1. 2진 시스템.
복습.
Chapter 07 비트와 여러 연산자.
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
Chapter08 JavaScript 시작하기
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
Chapter 1 단위, 물리량, 벡터.
복습.
Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko
제11강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
Numerical Analysis Programming using NRs
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
어서와 C언어는 처음이지 제21장.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
3장. 데이터의 표현과 컴퓨터 연산 다루는 내용 진법과 진법 변환 연산과 보수 데이터의 표현 산술 연산 논리 연산.
Presentation transcript:

Chapter 04 C 연산자의 이해

산술 연산자 관계 연산자 논리 연산자 비트 연산자 연산자 우선순위

1. 산술 연산자 기본 산술 연산자

[기본 4-1] 산술 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a, b = 5 , c = 3; 06 07 a = b + c; 08 printf(" %d + %d = %d \n", b, c, a); 09 10 a = b - c; 11 printf(" %d - %d = %d \n", b, c, a); 12 13 a = b * c; 14 printf(" %d * %d = %d \n", b, c, a); 15 16 a = b / c; 17 printf(" %d / %d = %d \n", b, c, a); 18 19 a = b % c; 20 printf(" %d %% %d = %d \n", b, c, a); 21 } ---더하기로 연산해서 a에 대입한다. ---빼기로 연산해서 a에 대입한다. ---곱하기로 연산해서 a에 대입한다. ---나누기로 연산해서 a에 대입한다. ---나머지로 연산해서 a에 대입한다.

1. 산술 연산자 연산자 우선순위와 강제 형 변환 연산자 우선 순위 괄호 > 곱셈, 나눗셈 > 덧셈, 뺄셈 1. 산술 연산자 연산자 우선순위와 강제 형 변환 연산자 우선 순위 괄호 > 곱셈, 나눗셈 > 덧셈, 뺄셈 연산자가 모두 동일한 경우에는 왼쪽에서 오른쪽으로 계산 진행.

[응용 4-2] 연산자 우선순위와 강제 형 변환 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 2 , b = 3 , c = 4; 06 int result1, mok, namugi; 07 float result2; 08 09 result1 = a + b - c; 10 printf(" %d + %d - %d = %d \n", a, b, c, result1); 11 12 result1 = a + b * c; 13 printf(" %d + %d * %d = %d \n", a, b, c, result1); 14 15 result2 = a * b / (float) c; 16 printf(" %d * %d / %d = %f \n", a, b, c, result2); 17 18  ___①__ = c / b; 19 printf(" %d / %d 의 몫은 %d \n", c, b, mok); 20 21  ___②__ = c % b; 22 printf(" %d / %d 의 나머지는 %d \n", c, b, namugi); 23 } ---정수형 변수를 선언한다. ---실수형 변수를 선언한다. ---더하기와 빼기 연산을 동시에 수행한다. ---더하기와 곱하기 연산을 동시에 수행한다 ---정수 c를 실수로 강제로 형 변환한 후에 연산한다 ---몫을 구한다. ---나머지를 구한다.

1. 산술 연산자 간단한 연산자 우선순위 덧셈 뺄셈은 연산자 우선순위가 동일 하므로 아래 결과는 같다. 1. 산술 연산자 간단한 연산자 우선순위 덧셈 뺄셈은 연산자 우선순위가 동일 하므로 아래 결과는 같다. 연산자 우선순위에 의해 12행의 결과는 아래의 ➋ 가 나옴. ( * 이 + 보다 우선순위가 높음)

1. 산술 연산자 데이터 형식의 강제 형 변환 15행에서 형 변환을 하지 않았을 경우

1. 산술 연산자 15행에서 강제 형 변환을 할 경우 강제 형 변환을 하려면 변수 또는 상수 앞에 ‘(형식 이름)’을 써줌.

1. 산술 연산자 대입 연산자와 증감 연산자 대입 연산자 : =, +=, -=, *=, /=, %= 1. 산술 연산자 대입 연산자와 증감 연산자 대입 연산자 : =, +=, -=, *=, /=, %= 증감 연산자 : ++, --

[기본 4-3] 대입 연산자와 증감 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 10; 06 07 a++; 08 printf ( " a ++ = => %d \n", a); 09 10 a--; 11 printf ( " a - - = => %d \n", a); 12 13 a += 5; 14 printf ( " a += 5 = = > %d \n", a); 15 16 a -= 5; 17 printf ( " a -= 5 = = > %d \n", a); 18 19 a *= 5; 20 printf ( " a *= 5 = = > %d \n", a); 21 ---a = a + 1과 동일하다. ---a = a - 1과 동일하다. ---a = a + 5와 동일하다. ---a = a - 5와 동일하다. ---a = a * 5와 동일하다.

[기본 4-3] 대입 연산자와 증감 연산자 사용 예 22 a /= 5; 23 printf ( " a /= 5 = = > %d \n", a); 24 25 a %= 5; 26 printf ( " a %%= 5 = = > %d \n", a); 27 } ---a = a / 5와 동일하다. ---a = a % 5와 동일하다.

[응용 4-4] 증감 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 10, b; 06 07 b = a++; 08 printf (" %d \n", b); 09 10  ___①___ 11 printf (" %d \n", b); 12 } --- b = a를 수행한 후 a를 1 증가시킨다. --- a를 1 증가시킨 후에 b =a 를 수행한다.

1. 산술 연산자 a++와 ++a의 차이 7행과 10행

2. 관계 연산자 관계 연산자의 기본 개념 비교 연산자 – 어떤 것이 큰지, 작은지, 같은지 비교. 2. 관계 연산자 관계 연산자의 기본 개념 비교 연산자 – 어떤 것이 큰지, 작은지, 같은지 비교. 결과는 참(1, True)이나 거짓(0, False) 주로 조건 식에 사용, 단독으로는 쓰이지 않음.

[기본 4-5] 관계 연산자의 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 100 , b = 200; 06 07 printf(" %d = = %d 는 %d 이다.\n", a, b, a= =b); 08 printf(" %d != %d 는 %d 이다.\n", a, b, a!=b); 09 printf(" %d > %d 는 %d 이다.\n",a, b, a>b); 10 printf(" %d < %d 는 %d 이다.\n",a, b, a<b); 11 printf(" %d >= %d 는 %d 이다.\n", a, b, a>=b); 12 printf(" %d <= %d 는 %d 이다.\n", a, b, a<=b); 13 14 printf(" %d = %d 는 %d 이다.\n", a, b, a=b); 15 } ---관계 연산자 '같다' ---관계 연산자 '같지 않다 ---관계 연산자 '같지 않다 ---관계 연산자 '작다' ---관계 연산자 '크거나 같다' ---관계 연산자 '작거나 같다 ---관계 연산자가 아닌 대입 연산자를 사용했다.

2. 관계 연산자 대입 연산자의 작동 14행 ‘==’ 연산자 대신 ‘=’ 연산자를 사용한 결과 2. 관계 연산자 대입 연산자의 작동 14행 ‘==’ 연산자 대신 ‘=’ 연산자를 사용한 결과 == : 값이 같은지 체크하는 연산자 = : 오른쪽의 값을 왼쪽에 대입하는 연산자

3. 논리 연산자 논리 연산자의 기본개념 여러 조건을 복합하여 사용 && (그리고), || (또는), ! (부정) 3. 논리 연산자 논리 연산자의 기본개념 여러 조건을 복합하여 사용 && (그리고), || (또는), ! (부정) 논리 연산자의 종류 참이 되려면 두 조건이 모두 참이어야 함

[기본 4-6] 논리 연산자 사용 예 ① 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 99; 06 07 printf(" AND 연산 : %d \n", (a >= 100) && (a <= 200) ); 08 printf(" OR 연산 : %d \n", (a >= 100) || (a <= 200) ); 09 printf(" NOT 연산 : %d \n", !(a= =100) ); 10 } ---AND 연산을 사용한다. ---OR 연산을 사용한다. ---NOT 연산을 사용한다.

[응용 4-7] 논리 연산자 사용 예 ② 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 100, b = -200; 06 07 printf(" 상수의 AND 연산 : %d \n", a && b ); 08 printf(" 상수의 OR 연산 : %d \n", ___①___); 09 printf(" 상수의 NOT 연산 : %d \n", ___②___); 10 } ---AND 연산을 사용한다. ---OR 연산을 사용한다. ---NOT 연산을 사용한다.

4. 비트 연산자 비트 연산자 비트 연산자는 정수나 문자 등을 2진수로 변환한 후에 각 자리의 비트끼리 연산을 수행한다. 4. 비트 연산자 비트 연산자 비트 연산자는 정수나 문자 등을 2진수로 변환한 후에 각 자리의 비트끼리 연산을 수행한다. 비트 연산자의 종류

4. 비트 연산자 비트 논리곱(&) 연산자 10진수를 2진수로 변환한 후 각 비트에 AND 연산 수행 4. 비트 연산자 비트 논리곱(&) 연산자 10진수를 2진수로 변환한 후 각 비트에 AND 연산 수행 결과 : 2진수로는 00102 , 10진수로는 2

[기본 4-8] 비트 논리곱 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 printf(" 10 & 7 = %d \n", 10 & 7 ); 06 printf(" 123 & 456 = %d \n", 123 & 456 ); 07 printf(" 0xFFFF & 0000 = %d \n ", 0xFFFF & 0000 ); 08 } ---10과 7의 비트 논리곱을 수행한다. ---123과 456의 비트 논리곱을 수행한다. ---16진수 FFFF와 0의 비트 논리곱을 수행한다.

4. 비트 연산자 비트 논리합(|) 연산자 10진수를 2진수로 변환한 후 각 비트에 OR 연산 수행 4. 비트 연산자 비트 논리합(|) 연산자 10진수를 2진수로 변환한 후 각 비트에 OR 연산 수행 결과 : 2진수로는 11112 , 10진수로는 15

[기본 4-9] 비트 논리합 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 printf(" 10 | 7 = %d \n", 10 | 7 ); 06 printf(" 123 | 456 = %d \n", 123 | 456 ); 07 printf(" 0xFFFF | 0000 = %d \n ", 0xFFFF | 0000 ); 08 } ---10과 7의 비트 논리합을 수행한다. ---123과 456의 비트 논리합을 수행한다. ---16진수 FFFF와 0의 비트 논리합을 수행한다.

4. 비트 연산자 비트 배타적 논리합(^) 연산자 두 값이 다르면 참(1), 같으면 거짓(0) 4. 비트 연산자 비트 배타적 논리합(^) 연산자 두 값이 다르면 참(1), 같으면 거짓(0) ‘참(1) ^ 참(1)’이나 ‘거짓(0) ^거짓(0)’이면 결과는 거짓(0)이고, ‘참(1) ^ 거짓(0)’이나 ‘거짓(0) ^ 참(1)’이면 그 결과는 참(1). 결과 : 2진수로는 11012 , 10진수로는 13

[기본 4-10] 비트 배타적 논리합 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 printf(" 10 ^ 7 = %d \n", 10 ^ 7 ); 06 printf(" 123 ^ 456 = %d \n", 123 ^ 456 ); 07 printf(" 0xFFFF ^ 0000 = %d \n ", 0xFFFF ^ 0000 ); 08 } ---10과 7의 비트 배타적 논리합을 수행한다. ---123과 456의 비트 배타적 논리합을 수행한다. ---16진수 FFFF와 0의 비트 배타적 논리합을 수행한다

[응용 4-11] 비트 연산에 마스크를 사용한 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 char a = 'A', b, c; 06 char mask = 0x0F; 07 08 printf(" %X & %X = %X \n", a, mask, a & mask); 09 printf(" %X | %X = %X \n", a, mask, a | mask); 10 11 mask = 'a' - 'A'; 12 13 b = ___①____ 14 printf(" %c ^ %d = %c \n", a, mask, b); 15 a = ___②____ 16 printf(" %c ^ %d = %c \n", b, mask, a); 17 } ---마스크 값(0000 11112)을 설정한다. ---'A'와 0x0F의 논리곱을 수행한다. ---'A'와 0x0F의 논리합을 수행한다. ---'a'와 'A'의 차이는 32다. ---'A'와 마스크(32)의 배타적 논리곱을 수행한다. ---'a'와 마스크(32)의 배타적 논리곱을 수행한다.

4. 비트 연산자 마스크(mask)를 사용한 비트 연산 6행 : 마스크 값 선언 : 16진수 0x0F16 4. 비트 연산자 마스크(mask)를 사용한 비트 연산 6행 : 마스크 값 선언 : 16진수 0x0F16 8행 : 마스크를 사용한 비트 논리곱 결과

4. 비트 연산자 9행 : 마스크를 사용한 비트 논리합 결과 11행 : 마스크 값 선언 4. 비트 연산자 9행 : 마스크를 사용한 비트 논리합 결과 11행 : 마스크 값 선언 13행, 15행 : 마스크를 사용하여 ‘a’, ‘A’의 비트 배타적 논리합 수행

4. 비트 연산자 비트 부정(~) 연산자 두 수에 대한 연산이 아니라 비트 하나의 값을 반대로 만듦  1의 보수 4. 비트 연산자 비트 부정(~) 연산자 두 수에 대한 연산이 아니라 비트 하나의 값을 반대로 만듦  1의 보수 0 1로 , 1  0으로 해당 값의 음수(-) 값을 찾을 때 사용 2의 보수(음수) = { 1의 보수(각 비트의 값을 반전시킨 값) } + 1

[기본 4-12] 비트 부정 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 12345; 06 07 printf(" %d \n", ~a + 1); 08 } ---2의 보수(a값)를 구한다.

4. 비트 연산자 비트 왼쪽 시프트(<<) 연산자 나열된 비트를 왼쪽으로 이동시키는 연산자 4. 비트 연산자 비트 왼쪽 시프트(<<) 연산자 나열된 비트를 왼쪽으로 이동시키는 연산자 시프트 할 때마다 2n(21, 22, 23…)을 곱한 효과 2610 의 왼쪽 시프트 연산 예 0000 11012 로 변환한 후 비트 이동

[기본 4-13] 비트 왼쪽 시프트 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 10; 06 printf ("%d 를 왼쪽 1회 시프트하면 %d 이다.\n", a, a<<1); 07 printf ("%d 를 왼쪽 2회 시프트하면 %d 이다.\n", a, a<<2); 08 printf ("%d 를 왼쪽 3회 시프트하면 %d 이다.\n", a, a<<3); 09 } ---왼쪽으로 시프트 한 결과를 출력한다.

4. 비트 연산자 비트 오른쪽 시프트(>>) 연산자 나열된 비트를 오른쪽으로 이동시키는 연산자 4. 비트 연산자 비트 오른쪽 시프트(>>) 연산자 나열된 비트를 오른쪽으로 이동시키는 연산자 시프트할 때마다 2n(21, 22, 23…)으로 나눈 효과 2610 의 오른쪽 시프트 연산 예

[기본 4-14] 비트 오른쪽 시프트 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 10; 06 printf ("%d 를 오른쪽 1회 시프트하면 %d 이다.\n", a, a>>1); 07 printf ("%d 를 오른쪽 2회 시프트하면 %d 이다.\n", a, a>>2); 08 printf ("%d 를 오른쪽 3회 시프트하면 %d 이다.\n", a, a>>3); 09 printf ("%d 를 오른쪽 4회 시프트하면 %d 이다.\n", a, a>>4); 10 } ---오른쪽으로 시프트 한 결과를 출력한다.

[응용4-15]비트 왼쪽 시프트, 오른쪽 시프트 연산자 사용 예 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int a = 100, result; 06 int i; 07 08 for (i = 1 ; i <= 5 ; i ++) 09 { 10 result = ___①___ 11 printf ("%d << %d = %d\n", a, i, result); 12 } 13 14 for (i = 1 ; i <= 5 ; i ++) 15 { 16 result = ___②___  17 printf ("%d >> %d = %d\n", a, i, result); 18 } 19 } ---왼쪽 시프트 연산을 5회 반복해서 출력한다. ---오른쪽 시프트 연산을 5회 반복해서 출력한다.

4. 비트 연산자

5. 연산자 우선순위 우선순위가 적용되는 연산자 목록

[예제모음 08] 입력된 두 실수의 산술 연산

[예제모음08] 입력된 두 실수의 산술 연산 01 #include <stdio.h> 02 03 int main( ) 04 { 05 float a, b; 06 float result; 07 08 printf("첫번째 계산할 값을 입력하세요 = = > "); 09 scanf_s("%f", &a); 10 printf("두번째 계산할 값을 입력하세요 = = > "); 11 scanf_s("%f", &b); 12 13 result = a + b; 14 printf(" %5.2f + %5.2f = %5.2f \n", a, b, result); 15 result = a - b; 16 printf(" %5.2f - %5.2f = %5.2f \n", a, b, result); 17 result = a * b; 18 printf(" %5.2f * %5.2f = %5.2f \n", a, b, result); 19 result = a / b; 20 printf(" %5.2f / %5.2f = %5.2f \n", a, b, result); 21 result = (int)a % (int)b; 22 printf(" %d %% %d = %d \n", (int)a, (int)b, (int)result); 23} ---실수형 변수를 선언한다. ---실수를 입력받는다. ---실수를 입력받는다. ---실수의 덧셈이다. ---실수의 뺄셈이다. ---실수의 곱셈이다. ---실수의 나눗셈이다. ---나머지 연산을 위해서 실수를 정수로 강제 형 변환한다.

[예제모음 09] 동전 교환 프로그램

[예제모음09] 동전 교환 프로그램 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int money, c500, c100, c50, c10; 06 07 printf(" ## 교환할 돈은 ? "); 08 scanf_s("%d", &money); 09 10 c500 = money / 500; 11 money = money % 500; 12 13 c100 = money / 100; 14 money = money % 100; 15 16 c50 = money / 50; 17 money = money % 50; 18 19 c10 = money / 10; 20 money = money % 10; 21 ---입력한 돈과 각 동전의 개수를 저장할 변수다. ---키보드로 교환할 액수를 입력한다 ---500원짜리 동전의 개수를 계산한다. ---500원짜리로 바꾼 후 나머지 금액이다. ---100원짜리 동전의 개수를 계산한다. ---100원짜리로 바꾼 후 나머지 금액이다. ---50원짜리 동전의 개수를 계산한다. ---50원짜리로 바꾼 후 나머지 금액이다. ---10원짜리 동전의 개수를 계산한다. ---10원짜리로 바꾼 후 나머지 금액이다.

[예제모음09] 동전 교환 프로그램 22 printf("\n 오백원짜리 = = > %d 개 \n", c500); 23 printf(" 백원짜리 = = > %d 개 \n", c100); 24 printf(" 오십원짜리 = = > %d 개 \n", c50); 25 printf(" 십원짜리 = = > %d 개 \n", c10); 26 printf(" 바꾸지 못한 잔돈 = = > %d 원 \n", money); 27 } ---바꾸지 못한 나머지 돈은 money에 들어 있다.

[예제모음 10] 윤년 계산 프로그램

[예제모음10] 윤년 계산 프로그램 01 #include <stdio.h> 02 03 int main( ) 04 { 05 int year; 06 07 printf("년도를 입력하세요. : "); 08 scanf_s("%d", &year); 09 10 if ( ((year % 4 = = 0) && ( year % 100 != 0 )) || ( year % 400 = = 0) ) 11 printf ("%d 년은 윤년입니다. \n", year); 12 else 13 printf ("%d 년은 윤년이 아닙니다. \n", year); 14 } ---계산할 연도를 입력한다. ---윤년은 입력한 연도가 4로 나누어 떨어지고, 100으로는 나누어 떨어 지지 않아야 한다. 또는 400으로 나누어 떨어져도 된다.

[4장 요약] 1 산술 연산자 ➊ 더하기, 빼기, 곱하기, 나누기 등의 기호로, C에서 처리해야 할 가장 기본적인 연산자다. ➋ 연산자 우선순위는 *, /가 +, -보다 먼저 계산된다. 또한( )는 가장 먼저, =은 가장 나중에 처리된다. ➌ 정수를 실수로 강제 형 변환하려면 정수 앞에 f(loat)를 붙여주면 된다.

[4장 요약] 2 대입 연산자 / 증감 연산자 3 관계 연산자 - 두 값을 비교하는 관계 연산자의 결과는 항상 참이나 거짓으로 표현된다

[4장 요약] 4 논리 연산자 - 두 가지 이상의 조건을 표현하는 경우에 사용하며, 복잡한 조건을 표현할 수 있다. 5 비트 연산자 - 정수나 문자 등을 2진수로 변환한 후에 각 자리의 비트끼리 연산을 수행한다.