Chapter 03. 데이터의 표현과 연산(Ⅰ).

Slides:



Advertisements
Similar presentations
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
데이터의 표현과 연산 (1) (Chapter 3)
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
Chapter 7. 조건문.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
3. printf()와 데이터 형식.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
5장 배열 작성자 : 변재현.
Chapter 04 C 연산자의 이해.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Part 05 순수한 연산자 ©우균, 창병모 © 우균, 창병모.
2주차: 변수, 수식, Control Flow.
6장. printf와 scanf 함수에 대한 고찰
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 03. 변수와 연산자.
14장. 포인터와 함수에 대한 이해.
두근두근 파이썬 수업 3장 계산해봅시다..
11장. 1차원 배열.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
C#.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
상수와 기본 자료형.
C 3장. 변수와 데이터형 #include <stdio.h> int main(void) { int num;
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
컴퓨터 프로그래밍 기초 - 3rd : 상수,변수 생성규칙 및 자료형 -
8주차: Strings, Arrays and Pointers
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
Chapter 08. 함수.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express Slide 1 (of 31)
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 10 데이터 검색1.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
제 4 장 Record.
어서와 C언어는 처음이지 제21장.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
13. 포인터와 배열! 함께 이해하기.
Visual Basic .NET 기초문법.
C Programming Seminar 데이터와 입출력 함수.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

chapter 03. 데이터의 표현과 연산(Ⅰ)

숫자상수에는 정수 외에도 실수가 있다. 숫자상수를 저장하는 변수의 선언 숫자 데이터의 기본적인 연산과 형변환 숫자 데이터의 처리 숫자상수에는 정수 외에도 실수가 있다. 숫자상수를 저장하는 변수의 선언 숫자 데이터의 기본적인 연산과 형변환 실수형 데이터의 입출력

▶ 숫자상수 숫자 데이터를 프로그램 안에서 직접 표현한 것이 숫자상수이다. 정수형 상수의 표현 - 일반적인 정수값 표현방식과 같다. 실수형 상수의 표현 - 정수값 표현방법에 소수점을 붙인다. 정수형 상수와 실수형 상수는 다른 형태로 번역된다.

상수의 형태에 따라 적절한 자료형의 변수를 사용해야 한다. 정수형 변수는 int, 실수형 변수는 double로 선언한다. ▶ 정수형 변수와 실수형 변수 상수의 형태에 따라 적절한 자료형의 변수를 사용해야 한다. 정수형 변수는 int, 실수형 변수는 double로 선언한다. 월급의 실 입금액 계산을 위한 변수 선언의 예 int bonbong, bonus, total; double tax, real_income; bonbong = 150; bonus = 60; total = bonbong + bonus; tax = total * 0.09; real_income = total – tax; // 본봉, 보너스, 총수입액 // 세금, 실수입액 // 본봉은 150만원 // 보너스는 60만원 // 총수입액은 본봉 + 보너스 // 세금은 총수입액의 9% // 실수입액은 총수입액 - 세금

▶ 기본적인 연산과 연산과정 피연산자는 상수 또는 변수가 된다. 덧셈, 뺄셈, 곱셈 연산자 연산 결과는 일단 임시 기억공간에 저장된다.

연산과정에서 피연산자의 형태는 하나로 통일된다. ▶ 자동 형변환 연산과정에서 피연산자의 형태는 하나로 통일된다. - 정수형과 실수형 값이 연산될 때는 정수형이 실수형으로 자동 형변환 되어 연산되며 그 결과값 또한 실수형이 된다.

실수형 값을 입출력 할 때는 %lf변환문자열을 사용한다. ▶ 실수형 데이터의 입출력 실수형 값을 입출력 할 때는 %lf변환문자열을 사용한다. - 실수형 값의 출력 double real_income; ... printf(“실 수입액은 %lf입니다.”, real_income); // 실수형 변수 선언 // 실 수입액 계산 - 실수형 값의 입력 double tax_rate; scanf(“%lf”, &tax_rate); // 세율을 저장할 실수형 변수 // 키보드로 세율 입력 숫자 데이터 정리 데이터형 상수의 표현법 변수의 자료형 데이터의 크기 입출력 변환문자열 정수형 10 int 4바이트 %d 실수형 10.0 double 8바이트 %lf

문자 데이터의 처리 문자상수의 표현법 문자상수의 저장 문자의 입출력

문자상수는 문자를 작은따옴표로 묶어서 표현한다. ▶ 문자상수 문자상수는 문자를 작은따옴표로 묶어서 표현한다. 문자상수의 크기는 1바이트이다. 아스키코드값으로 번역되므로 실제로는 정수형 상수와 같이 처리된다. 전체 4바이트 1 0000 printf(“정수형 상수값 : %d\n”, 65); printf(“문자형 상수값 : %d\n”, ‘A’); 정수형 상수값 : 65 실수형 상수값 : 65

문자상수는 1바이트 크기의 char형 변수에 저장한다. ▶ 문자변수 문자상수는 1바이트 크기의 char형 변수에 저장한다. char A; A = ‘A’; // A는 char형 변수명 // 변수 A에 문자상수 ‘A’를 저장 char형 변수는 작은 범위의 정수값도 저장할 수 있다. - 문자상수 자체가 정수값으로 번역되므로 char형 변수도 당연히 정수값을 저장할 수 있다. 단, 크기가 1바이트이므로 값의 범위가 제한적이다. char ch; ch = 123; // ch는 char형 변수명 // char형 변수에 정수값 저장

문자를 입출력 할 때는 %c변환문자열을 사용한다. 혈액형을 입력 받아 그대로 출력하는 코드(AB형 제외) ▶ 문자의 입출력 문자를 입출력 할 때는 %c변환문자열을 사용한다. 혈액형을 입력 받아 그대로 출력하는 코드(AB형 제외) char blood_type; printf(“혈액형을 입력하세요 : ”); scanf(“%c”, &blood_type); printf(“당신의 혈액형은 %c형입니다.\n”, blood_type); // 문자 변수의 선언 // 입력 안내 메시지 출력 // 혈액형 입력 // 혈액형 출력 혈액형을 입력하세요 : B (엔터) 당신의 혈액형은 B형입니다. char형 변수라도 정수값을 입출력 할 때는 %d를 사용한다.

문자열 데이터의 처리 문자들을 모아서 문자열을 만든다. char배열에 문자열을 저장한다. 문자열의 입출력

▶ 문자열상수 문자열상수는 문자열을 큰따옴표로 묶어서 표현한다. 문자열상수는 연속적인 문자상수들의 집합이다. 문자열상수의 마지막에는 널문자가 포함되어 번역된다. 널문자(null character)는 ‘\0’으로 표현하며 아스키코드값은 0이다.

문자열은 char형 변수들을 모아 놓은 배열에 저장한다. ▶ 문자열의 저장 문자열은 char형 변수들을 모아 놓은 배열에 저장한다. - 널문자를 포함한 문자열의 길이에 맞게 char배열을 선언한다. - 문자열 “Hani”를 저장하기 위한 char배열 문자열상수는 배열의 선언과 동시에 대입해야 한다. char string[5] = “Hani”; // 배열의 선언과 동시에 문자열을 저장한다. char string[5]; string = “Hani”; 컴파일 에러!

문자열을 입출력 할 때는 %s변환문자열을 사용한다. ▶ 문자열의 입출력 문자열을 입출력 할 때는 %s변환문자열을 사용한다. - 배열은 입력되는 문자열이 모두 저장될 수 있도록 넉넉하게 선언한다. - 입력할 때 배열명 앞에는 &를 붙이지 않는다. - 지하철 역 이름을 입력 받아 출력하는 코드 char subway[80]; printf(“역 이름을 입력하세요 : ”); scanf(“%s”, subway); printf(“이번에 정차할 역은 %s역입니다.\n”, subway); // 배열명 앞에 &가 없다!!

▶ 문자열의 입출력 문자열을 입력할 때 중간에 빈칸을 두지 않는다. 문자 데이터 정리 - scanf함수는 “화이트 스페이스(빈칸, 탭, 엔터)”를 입력 데이터를 구분 하는 문자로 활용하므로 문자열의 중간에 빈칸이 들어가면 빈칸의 앞 부분만 입력이 된다. 역 이름을 입력하세요 : 을지로 3가(엔터) 이번에 정차할 역은 을지로입니다. // 문자열 중간에 빈칸 입력 // 을지로만 출력된다. 문자 데이터 정리 데이터형 상수의 표현법 변수의 자료형 데이터의 크기 입출력 변환문자열 문자형 ‘A’ char 1바이트 %c 문자열 “Hani” char 배열 가변적임 %s

형변환과 여러 가지 연산자 형변환 규칙 몫 연산자와 나머지 연산자 형변환 연산자

▶ 형변환 규칙 int result; result = 2.5; 서로 다른 형태의 값이 연산될 때는 형태가 하나로 통일된다. 형변환은 데이터의 손실을 최소화하는 방향으로 수행된다. 문자 op 정수 정수 op 정수 정수 op 실수 실수 op 실수 문자 op 실수 문자 데이터끼리 연산 할 때는 둘 다 정수형으로 변환된다. 문자 op 문자 정수 op 정수 대입문에서는 왼쪽 변수의 형태에 따라 변환된다. int result; result = 2.5; 소수부분은 버려지고 정수값만 저장된다.

▶ 형변환 규칙 연산의 결과값은 피연산자의 형태와 같다. 따라서 두 정수값으로 나눗셈 연산을 수행하면 결과값은 정수가 된다. 나눗셈 결과가 실수값이 되려면 피연산자 중의 하나는 실수값이어야 한다. (실수) ;

나눗셈 연산자(/)의 피연산자가 모두 정수형이면 몫을 구한다. 나머지 연산자(%)의 피연산자는 모두 정수형이어야 한다. ▶ 몫 연산자와 나머지 연산자 나눗셈 연산자(/)의 피연산자가 모두 정수형이면 몫을 구한다. 나머지 연산자(%)의 피연산자는 모두 정수형이어야 한다. 몫과 나머지 연산자는 어떤 값을 일정한 단위로 걸러낼 때 유용하다. - 거스름돈 850원에 필요한 동전의 최소 개수를 구하는 예

▶ [예제 3-2] 자판기 잔돈 계산 프로그램 #include <stdio.h> int main() { int input, change; int w500, w100, w50, w10; printf("돈을 입력하세요 : "); scanf("%d", &input); change = input - 150; w500 = change / 500; change = change % 500; w100 = change / 100; change = change % 100; w50 = change / 50; change = change % 50; w10 = change / 10; printf("500원짜리 동전 %d개\n", w500); printf("100원짜리 동전 %d개\n", w100); printf("50원짜리 동전 %d개\n", w50); printf("10원짜리 동전 %d개\n", w10); return 0; } // 커피값이 150원일 때 잔돈 계산 // 500원 동전의 개수 // 아직 지급하지 못한 남은 잔돈 // input은 투입액, change는 잔돈을 저장할 변수 // 각 동전의 개수를 저장할 변수

형변환 연산자는 피연산자의 형태를 명시적으로 변환시킨다. ▶ 형변환 연산자 형변환 연산자는 피연산자의 형태를 명시적으로 변환시킨다. - 취업자 수와 졸업생 수를 입력 받아서 취업률을 계산하는 예 int employed, graduation; double percentage; scanf(“%d%d”, &employed, &graduation); // 취업자수와 졸업생수를 저장할 변수 // 취업률을 저장할 변수 // 취업자수와 졸업생수 입력 * 형변환하지 않는다면 취업률은 항상 0%이다.

실수를 정수형으로 형변환하면 정수값만 계산된다. ▶ 형변환 연산자 실수를 정수형으로 형변환하면 정수값만 계산된다. - 0.375시간은 몇 분, 몇 초인가? double time = 0.375; int min; time = time * 60; min = (int)time; time = time – min; printf(“분 : %d\n”, min); printf(“초 : %d\n”, (int)(time *60)); // 분 출력 // 초 단위로 환산한 후에 형변환하여 출력 // 분 단위로 환산, time은 22.5 // 정수값 22만 추려서 min에 저장 // time에는 분 단위 값 0.5만 남긴다. // 단위는 시간 // 분을 저장하기 위한 변수