제 3 장 변수와 자료형.

Slides:



Advertisements
Similar presentations
3. 자료형. 담당교수 : 이 성 우 C++ 프로그래밍 상수와 변수 (3) 1. 변수 (variable)  프로그램 수행 도중에 자료  변수를 위해 은 변하지 않음  선언 시에 반드시 그. ※ 저장 정보의 구성 ① 정보의 종류 ② 저장 값 ③ 저장 위치 int Num.
Advertisements

기본 자료형 순천향대학교 정보기술공학부 이 상 정. 자료형의 선언 컴퓨터프로그래밍 1 순천향대학교 정보기술공학부 이 상 정 3 자료형 선언 기본 자료형문자형 char 정수형 int 실수형 float double 형없음 void.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
조건문, 함수 정대진 ( ) C Programming -3 일차 ITA 8 월 강의.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
제6장 조건문.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
Vision System Lab, Sang-Hun Han
제 11 장 구조체.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
C 언어 기초 2 위덕대학교 에너지전기공학부 이 수 형 2009년 2학기.
C++ Espresso 제1장 기초 사항.
제 1장 C 언어의 소개.
C++ Espresso 제2장 제어문과 함수.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
강좌명 : C++프로그래밍 (C++ Programming)
4장: 자료형과 수식.
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
제5장 제어명령
처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
제 18 강 데이터 타입 타입, 변환, 캐스팅 shcho.pe.kr.
변수와 자료형.
명품 Java Programming.
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
변수와 자료형.
내용 프로그래밍 언어(programming language) C 언어란?? C 언어 역사 C 언어 특징 C 프로그램의 구조
제 2 장 변수와 상수.
제 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언어 Express 제4장 변수와 자료형 C Express.
adopted from KNK C Programming : A Modern Approach
Chapter 2 Lexical Elements, Operators, and the C System
제2장 데이터형과 표준 입출력문 문봉근.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
제2장 제어구조와 배열 if-else 문에 대하여 학습한다. 중첩 if-else 문에 대하여 학습한다.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형.
함수와 변수 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
제어문 & 반복문 C스터디 2주차.
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
Chapter 04 자료 유형.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Chapter 05. 입출력 함수.
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
학습목표 Chapter 2-1. 변수와 포인터 변수의 선언과 변수에 대한 메모리 할당을 살펴본다.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express Slide 1 (of 31)
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
3주차: Control Flow and Others
박성진 컴퓨터 프로그래밍 기초 [03] 변수와 자료형 박성진
어서와 C언어는 처음이지 제16장.
Spring, 2019 School of CSE Pusan National University
printf("Global Korea\n");
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
Presentation transcript:

제 3 장 변수와 자료형

이번 장에서는 변수와 각종 자료형을 살벼봅니다. 이번 장에서 학습할 내용 이번 장에서는 변수와 각종 자료형을 살벼봅니다. 변수와 상수의 개념 이해 자료형 정수형 실수형 문자형

변수 Q) 변수(variable)이란 무엇인가? A) 프로그램에서 일시적으로 데이터를 저장하는 공간 Q) 변수는 왜 필요한가?

변수 = 상자 변수는 물건을 저장하는 상자와 같다. int 데이터 변수의 타입 변수의 이름

변수가 만들어지는 곳 변수는 메인 메모리에 만들어진다.

변수가 필요한 이유 (Q) 만약 메모리를 변수처럼 이름을 가지고 사용하자 않고 주소로 사용하다면? “219번지에 0을 대입하라” (A) 충분히 가능하지만 불편하다. 인간은 숫자보다는 기호를 더 잘 기억한다.

변수와 상수 변수(variable): 저장된 값의 변경이 가능한 공간 (예) i, sum, avg 상수(constant): 저장된 값의 변경이 불가능한 공간 (예) 3.14, 100, ‘A’, “Hello World!”

상수의 이름 (Q) 상수도 이름을 가질 수 있는가? (A) 보통 상수는 이름이 없다. 이러한 상수를 리터럴(literal)이라고 한다. 하지만 필요하다면 상수에도 이름을 붙일 수 있다. 이것을 기호 상수라고 한다. MAX_SIZE

예제 원의 면적을 입력하시요:5.0 원의 면적: 78.539803.

이번 장에서는 변수와 각종 자료형을 살벼봅니다. 다음에 학습할 내용 이번 장에서는 변수와 각종 자료형을 살벼봅니다. 변수와 상수의 개념 이해 자료형 정수형 실수형 문자형

자료형이 다양한 이유는 커피 전문점에 다양한 컵의 사이즈가 있는 것과 같습니다. 자료형(data type): 데이터의 타입(종류) 정수형 데이터(100) 실수형 데이터(3.141592) 문자형 데이터(‘A’) 자료형이 다양한 이유는 커피 전문점에 다양한 컵의 사이즈가 있는 것과 같습니다.

다양한 자료형 (Q) 디양한 자료형이 필요한 이유는? (A) 상자에 물건을 저장하는 것과 같다.

자료형의 종류 자료형 설명 바이트수 범위 정수형 부호있음 short short형 정수 2 -32768~32767 int 정수 4 -2147483648~2147483647 long  long형 정수 부호없음 unsigned short 부호없는 short형 정수 0~65535 unsigned int 부호없는 정수 0~4294967295 unsigned long 부호없는 long형 정수 문자형 char 문자 및 정수 1 -128~127 unsigned char 문자 및 부호없는 정수 0~255 부동소수점형 float 단일정밀도 부동소수점 1.2E-38~3.4E38 double 두배정밀도 부동소수점 8 2.2E-308~1.8E308

자료형의 크기 sizeof 연산자 이용

예제 변수 x의 크기: 4 char형의 크기: 1 int형의 크기: 4 short형의 크기: 2 long형의 크기: 4 float형의 크기: 4 double형의 크기: 8

변수의 이름짓기 식별자(identifier): 식별할 수 있게 해주는 이름 변수 이름 함수 이름 김철수 김영희

식별자를 만드는 규칙 알파벳 문자와 숫자, 밑줄 문자 _로 구성 첫 번째 문자는 반드시 알파벳 또는 밑줄 문자 _ 대문자와 소문자를 구별 C 언어의 키워드와 똑같은 이름은 허용되지 않는다. (Q) 다음은 유효한 식별자인가? sum _count king3 n_pictures 2nd_try dollor# double O X // 숫자로 시작 X // #기호 X // 키워드

좋은 변수 이름 변수의 역할을 가장 잘 설명하는 이름 밑줄 방식: bank_account a, b, c, ,d,… number, average, sum,…

키워드 키워드(keyword): C언어에서 고유한 의미를 가지고 있는 특별한 단어 예약어(reserved words) 라고도 한다. auto           double          int              struct break         else              long            switch case          enum            register        typedef char           extern          return          union const         float              short           unsigned continue    for                signed          void default       goto             sizeof          volatile do             if                   static          while

변수 선언 변수 선언: 컴파일러에게 어떤 변수를 사용하겠다고 미리 알리는 것 자료형 변수이름; 변수 선언의 예 char c; 자료형 변수이름; 변수 선언의 예 char c; int i; double interest_rate; int w, h;

변수에 값을 저장하는 방법

변수의 초기화 자료형 변수이름 = 초기값; char c = ‘a’; int i = 7; 자료형 변수이름 = 초기값; char c = ‘a’; int i = 7; double interest_rate = 0.05;

변수 선언 위치 변수는 함수의 첫부분에서만 선언할 수 있습니다.

변수의 사용 대입 연산자를 이용하여서 값을 저장한다. int value; value = 10; … value = 20;

변수의 사용 저장된 값은 변경이 가능하다. int value1 = 10; int value2; value2 = value1;

예제 달러화 금액을 입력하시오: 100 달러화 100달러는 112000원입니다.

이번 장에서는 변수와 각종 자료형을 살벼봅니다. 다음에 학습할 내용 이번 장에서는 변수와 각종 자료형을 살벼봅니다. 변수와 상수의 개념 이해 자료형 정수형 실수형 문자형

정수형 short, int, long 가장 기본이 되는 것은 int CPU에 따라서 크기가 달라진다. 16비트, 32비트, 64비트 (Q) 왜 여러 개의 정수형이 필요한가? (A) 용도에 따라 프로그래머가 선택하여 사용할 수 있게 하기 위하여

정수형 선언의 예 short grade; // short형의 변수를 생성한다. int count; // int형의 변수를 생성한다. long distance; // distance형의 변수를 생성한다.

정수형의 범위 약 -21억에서 +21억 int형 short형 long형 보통 int형과 같음

예제 total_sale = 2000000000 short형의크기: 2바이트 int형의크기: 4바이트 long형의크기: 4바이트

signed, unsigned 수식자 unsigned 음수가 아닌 값만을 나타냄을 의미 (예) unsigned int

unsigned 와 signed

unsigned 수식자 unsigned int speed; // 부호없는 int형 unsigned distance; // unsigned int distance와 같다. unsigned short players; // 부호없는 short형 unsigned long seconds; // 부호없는 long형

오버플로우 오버플로우(overflow): 변수가 나타낼 수 있는 범위를 넘는 숫자를 저장하려고 할 때 발생

오버플로우 s_money = -32768 u_money = 0

오버플로우 규칙성이 있다. 수도 계량기나 주행거리계와 비숫하게 동작

정수 상수 정수 상수: 정수형의 상수 정수 상수는 기본적으로 int형으로 간주 상수의 자료형을 명시하려면 다음과 같이 한다. (예) 12, 100 정수 상수는 기본적으로 int형으로 간주 상수의 자료형을 명시하려면 다음과 같이 한다. 접미사 자료형 예 u 또는 U unsigned int 123u 또는 123U l 또는 L long 123l 또는 123L ul 또는 UL unsigned long 123ul 또는 123UL

다양한 진법 가능 10진수뿐만 아니라 8진수, 16진수으로도 표기 가능 8진수 (예) int n = 012; // 012는 8진수 16진수 (예) int n = 0xA; // 0xA는 16진수

예제 x = 10 y = 8 z = 16

기호 상수 기호 상수(symbolic constant): 기호를 이용하여 상수를 표현한 것 (예) 기호 상수의 장점 area = 3.141592 * radius * radius; area = PI * radius * radius; income = salary - 0.15 * salary;        income = salary - TAX_RATE * salary; 기호 상수의 장점 가독성이 높아진다. 값을 쉽게 변경할 수 있다.

기호 상수의 장점

기호 상수를 만드는 방법 ① #define 기호상수이름 값 기호 상수 정의

기호 상수를 만드는 방법 ② const 키워드 이용

중간 점검 정수형에 속하는 자료형을 모두 열거하라. 숫자 값을 직접 사용하는 것보다 기호 상수를 사용하는 것의 이점은 무엇인가? 왜 정수를 하나의 타입으로 하지 않고 char, int, short, long 등의 여러 가지 타입으로 복잡하게 분류하여 사용하는가? 부호가 없는 unsigned int형의 변수에 음수를 넣으면 어떤 일이 벌어지는가? 변수가 저장할 수 있는 한계를 넘어서는 값을 저장하면 어떻게 되는가? 구체적인 예로 short형의 변수에 32768을 저장하면 어떻게 되는가? short, int, long 프로그램을 읽는 사람들이 이해하기가 쉽고 값을 쉽게 변경할 수 있다. 각각의 자료형마다 정수를 나타내는 범위가 다르고 따라서 메모리를 차지하는 공간이 달라지기 때문이다. 음수를 양수인 것처럼 해석한다. 구체적으로 음수를 나타내는 부호 비트를 값으로 해석한다. 오버플로우가 발생한다. -32768로 저장된다.

이번 장에서는 변수와 각종 자료형을 살벼봅니다. 다음에 학습할 내용 이번 장에서는 변수와 각종 자료형을 살벼봅니다. 변수와 상수의 개념 이해 자료형 정수형 실수형 문자형

부동소수점형 컴퓨터에서 실수는 부동소수점형으로 표현 소수점이 떠서 움직인다는 의미 과학자들이 많이 사용하는 과학적 표기법과 유사

실수를 표현하는 방법 #1 고정 소수점 방식 정수 부분을 위하여 일정 비트를 할당하고 소수 부분을 위하여 일정 비트를 할당 전체가 32비트이면 정수 부분 16비트, 소수 부분 16비트 할당 과학과 공학에서 필요한 아주 큰 수를 표현할 수 없다

실수를 표현하는 방법 #2 부동 소수점 방식 표현할 수 있는 범위가 대폭 늘어난다. 10-38 에서 10+38

부동 소수점 형

부동 소수점 상수 일반적인 실수 표기법 지수표기법 유효한 표기법의 예 3.141592 (double형) 3.141592F (float형) 지수표기법 1.23456e4 = 12345.6 1.23456e-3 = 0.00123456 유효한 표기법의 예 1.23456   2.  // 소수점만 붙여도 된다.   .28  // 정수부가 없어도 된다.   0e0    2e+10     // +나 -기호를 지수부에 붙일 수 있다.   9.26E3    //   9.26e3    //

예제 float형 변수=1234567936.0000000000000000000000000 double형 변수=1234567890.1234567000000000000000000

오버플로우와 언더플로우 x=1.#INF00e+000 y=0.000000e+000

부동소수점형 사용시 주의사항 오차가 있을 수 있다! x = 0.000000

중간 점검 부동 소수점형에 속하는 자료형을 모두 열거하라. float형 대신에 double형을 사용하는 이유는 무엇인가? 부동 소수점형에서 오차가 발생하는 근본적인 이유는 무엇인가? 12.345처럼 소수점이 있는 실수를 int형의 변수에 넣을 경우, 어떤 일이 발생하는가? 수식 (1.0/3.0)을 float형 변수와 double형 변수에 각각 저장한 후에 출력하여 보자. (1.0/3.0)은 0.333333.... 값을 출력하여야 한다. 소수점 몇 자리까지 정확하게 출력되는가? float, double double형이 float형보다 오차가 적기 때문이다. 가수와 지수를 나타내는 비트의 수가 제한되어 있기 때문이다. 소수점 이하가 없어진다. 0.33333334326744080000 0.33333333333333331000 //소수점 20자리

이번 장에서는 변수와 각종 자료형을 살벼봅니다. 다음에 학습할 내용 이번 장에서는 변수와 각종 자료형을 살벼봅니다. 변수와 상수의 개념 이해 자료형 정수형 실수형 문자형

문자형 문자는 컴퓨터보다는 인간에게 중요 문자도 숫자를 이용하여 표현 공통적인 규격이 필요하다. 아스키 코드(ASCII: American Standard Code for Information Interchange) 8비트를 사용하여 영어 알파벳 표현 (예) !는 33, ‘A’는 65, ‘B’는 66, ‘a’는 97, ‘b’는 98 !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ `abcdefghijklmnopqrstuvwxyz{|}~

문자 변수 char형의 변수가 문자 저장 char형의 변수에 문자를 저장하려면 아스크 코드 값을 대입 char c; char answer; char code; char형의 변수에 문자를 저장하려면 아스크 코드 값을 대입 code = 65; // ‘A’ 저장 code = ‘A’;

문자 입출력 예제 문자를 입력하시오: m 입력된 문자는 m입니다

예제 A의 아스키 코드 = 65 B의 아스키 코드 = 66

제어 문자 인쇄 목적이 아니라 제어 목적으로 사용되는 문자들 제어 문자를 나타내는 방법 (예) 줄바꿈 문자, 탭 문자, 벨소림 문자, 백스페이스 문자 제어 문자를 나타내는 방법 아스키 코드를 직접 사용 이스케이프 시퀀스 사용 char beep = 7; printf("%c", beep); char beep = ‘\a’; printf("%c", beep);

제어 문자 제어 문자 이름 제어 문자 표기 값 의미 널문자 \0 문자열의 끝을 표시 경고(bell) \a 7 문자열의 끝을 표시 경고(bell) \a 7 "삐“하는 경고 벨소리 발생 백스페이스(backspace) \b 8 커서를 현재의 위치에서 한 글자 뒤로 옮긴다. 수평탭(horizontal tab) \t 9 커서의 위치를 현재 라인에서 설정된 다음 탭 위치로 옮긴다. 줄바꿈(newline) \n 10 커서를 다음 라인의 시작 위치로 옮긴다. 수직탭(vertical tab) \v 11 설정되어 있는 다음 수직 탭 위치로 커서를 이동 폼피드(form feed) \f 12 주로 프린터에서 강제적으로 다음 페이지로 넘길 때 사용된다. 캐리지 리턴(carriage return) \r 13 커서를 현재 라인의 시작 위치로 옮긴다. 큰따옴표 \“ 34 원래의 큰따옴표 자체 작은따옴표 \‘ 39 원래의 작은따옴표 자체 역슬래시(back slash) \\ 92 원래의 역슬래시 자체

예제 아이디와 패스워드를 4개의 숫자로 입력하세요: id: 1234 pass: 5678 입력된 아이디는 "1234"이고 패스워드는 "5678"입니다.

정수형으로서의 char형 8비트의 정수를 저장하는데 char 형을 사용할 수 있다.. char code = 65; printf("%d %d %d", code, code+1, code+2); // 65 66 67이 출력된다. printf("%c %c %c", code, code+1, code+2); // A B C가 출력된다. 65 66 67A B C

중간 점검 C에서 문자를 나타내기 위해 사용하는 코드를 무엇이라고 하는가? 경고음을 출력하는 제어 문자는 무엇인가? 화면에 ‘\’을 출력하려면 어떻게 하는가? 아스키 코드 ‘\a' ‘\\'

Q & A