1 Part 03 상수, 변수, 자료형 안산 1 대학 디지털정보통신과 임 성 국. 2 이 장의 내용 자료형이란 무엇인가 ? 상수와 변수 정수형 부동소수형 문자형.

Slides:



Advertisements
Similar presentations
10-7 부동소수점 (Floating-Point) 계산  컴퓨터에서 숫자를 표기하는 방법  가수 (Fraction) : 부호화된 고정소수점 숫자 지수 (Exponent) : 소수점의 위치를 표시 ( 예 )10 진수 를 표기하면 Fraction Exponent.
Advertisements

제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr Chapter 3 변수와 자료형.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
재료수치해석 HW # 박재혁.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
Part 03 상수, 변수, 자료형.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
#include <stdio.h> int main(void) { float radius; // 원의 반지름
제 9 장 구조체와 공용체.
능동적인 생각은 프로그래밍 공부에 큰 도움 3장 근의 공식은 어떻게 표현하나? 왜 정수와 실수를 구별하나?
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Part 05 순수한 연산자 ©우균, 창병모 © 우균, 창병모.
임베디드 실습 # LED, 7’Segment 제어
2주차: 변수, 수식, Control Flow.
6장. printf와 scanf 함수에 대한 고찰
Tail-recursive Function, High-order Function
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
상수와 기본 자료형.
C 3장. 변수와 데이터형 #include <stdio.h> int main(void) { int num;
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
☆ASCII☆ 김연주.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
컴퓨터 프로그래밍 기초 - 3rd : 상수,변수 생성규칙 및 자료형 -
Chapter 02. 자바 기본 문법.
8주차: Strings, Arrays and Pointers
1. 2진 시스템.
Chapter 08. 함수.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express Slide 1 (of 31)
Canary value 스택 가드(Stack Guard).
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
제 15 강 문자와 코드 shcho.pe.kr.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
복습.
Numerical Analysis Programming using NRs
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
어서와 C언어는 처음이지 제21장.
13. 포인터와 배열! 함께 이해하기.
C Programming Seminar 데이터와 입출력 함수.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

1 Part 03 상수, 변수, 자료형 안산 1 대학 디지털정보통신과 임 성 국

2 이 장의 내용 자료형이란 무엇인가 ? 상수와 변수 정수형 부동소수형 문자형

3 3.1 자료형이란 무엇인가 ?

4 자료형이란 무엇인가 ? 자료형 (data type)  프로그램에서 표현 혹은 저장하는 데이터의 종류 혹은 유형 C 언어의 자료형  C 언어는 1 개의 문자형, 3 개의 정수형, 3 개의 부동소수형을 제공 C 언어의 자료형 분류 자료형크기에 따라 문자형 char 정수형 shortintlong 부동소수형 floatdoublelong double

5 3.2 변수 /3.3 상수

6 변수 변수 (variable)  데이터를 저장하는 데 사용되는 기억 장소의 이름이다. 사용 전 변수 선언  변수 이름과 저장할 데이터 값의 유형 ( 자료형 ) 을 지정해야 한다. 자료형 변수이름 ; char c; short sum;

7 메모리와 변수 변수를 위한 메모리 할당  문자형 변수 c 를 위해서는 1 바이트를 할당  short 변수 sum 에 대해서는 2 바이트를 할당 sum c 메모리와 변수

8 상수 상수 (constant)  프로그램이 실행되는 동안 값이 변하지 않는 데이터  정수형 상수, 문자형 상수, 부동소수형 상수로 구분할 수 있다.  예 'A', 'x' 는 문자형 상수 -10, 0, 55 는 정수형 상수 3.14, 는 부동소수형 상수

9 식별자  변수, 상수, 함수 등에 대한 이름  문자와 숫자로 구성되며 첫 번째 글자는 반드시 문자  밑줄문자 ’_’ 도 하나의 문자로 사용될 수 있음  대소문자를 구별 바른 식별자, 잘못된 식별자 바른 이름잘못된 이름 x25 X age01 sum _jumsu address_01 25x X# 01age sum* -jumsu address-01

10 변수의 초기화 변수를 선언하면서 그 초기값을 정할 수도 있다 변수 초기화는 반드시 해야 하는 것은 아니고 선택사항 int sum = 0; 0 sum

11 변수의 초기화 실행결과 : 합이 0 입니다. 합이 10 입니다.

12 대입문을 이용한 변수 값 변경 대입문 (assignment statement)  변수에 새로운 값을 저장함으로써 기존 값을 변경한다.  대입 연산자 (=) 의 오른쪽 식이 계산되고, 그 결과 값이 왼쪽 변수 에 저장된다. sum = 10; 10 sum

13 score.c 실행결과 : 첫 번째 점수는 7 두 번째 점수는 10 세 번째 점수는 8 네 번째 점수는 9

14 변수 값 변경 과정 7 score 10 score 8 초기화 후 첫 번째 대입 후 두 번째 대입 후

15 변수 값 증가 대입문 오른쪽과 왼쪽에 나타난 변수는 다른 의미  대입문 오른쪽 변수는 그 변수로부터 읽어온 값을 의미  대입문 왼쪽 변수는 그 변수에 저장 ( 쓰기 ) 의미  변수에 접근 ( 읽기 ) 은 그 값을 변경시키지 않음.  변수에 대입 ( 쓰기 ) 은 이전 데이터를 새로운 데이터로 대체 10  11 sum 읽기 11 저장 sum = sum + 1;

16 scoreSum.c 실행결과 : 첫 번째 점수 : 7 현재 합 : 7 두 번째 점수 : 10 현재 합 : 17 세 번째 점수 : 8 현재 합 : 25 네 번째 점수 : 9 현재 합 : 34

17 이름 상수 이름 상수 (named constant)  상수에 이름이 부여되어 있는 것.  이름상수에는 식별자가 부여되어 있으므로 이름상수는 변수와 유사하지만 상수이므로 값을 변경할 수 없다.  예약어 const const int MAX_STUDENT = 20000;

정수형

19 정수형 크게 4 개의 정수형  char, short, int, long C 의 기본 정수형의 범위 예 (Microsoft Visual C/C++ 6.0) 자료형기억장소최소값최대값 char 8 비트 -2 7 = = 127 short 16 비트 = -32, = 32,767 int 32 비트 = -2,147,483, = 2,147,483,647 long 32 비트 = -2,147,483, = 2,147,483,647 long long* 64 비트 = -9,223,372,036,854,775, = 9,223,372,036,854,775,807 * long long 은 MS Visual C/C 에서는 지원되지 않음. 여기서 long long 은 gcc 컴파일러의 예

20 정수 표현 8 비트를 이용한 양수와 음수 표현 예  첫 번째 비트는 부호 비트로서, 0 은 양수 1 은 음수를 나타낸다.  나머지 7 개의 비트들은 수의 크기를 나타낸다. 음수 표현  연산의 효율성을 위해 수의 크기를 2 의 보수 형태로 나타낸다. +5, -5 의 표현 수의 표현이진수 의 1 의 보수 의 2 의 보수

21 양수, 음수 표현 양수이진수음수이진수

22 변수에 기억공간 할당 정수형 종류에 따라 해당 변수에 다른 크기 기억공간 할당 자료형의 크기를 나타내는 sizeof() 연산자 실행결과 : char 크기 : 1 short 크기 : 2 int 크기 : 4 long 크기 : 4

23 korea.c 실행결과 : 대한민국에 대한 데이터입니다 대학수 : 276 인구 : 예산 : 원

24 정수형 오버플로우  정수형에서 저장할 수 있는 수보다 더 큰 수나 더 작은 수를 저장 예 32 비트 int  가장 큰 수 ( = 2,147,483,647) 에 1 을 더하면 어떻게 될까 ? 질문 long budget = L;

25 unsigned 정수형 0 과 양의 정수만을 나타낼 수 있는 unsigned 정수형 음수를 표현할 수 없는 대신에 나타낼 수 있는 양의 정수 가 두 배 C 의 unsigned 정수형의 표현범위 자료형기억장소최소값최대값 unsigned char 8 비트 = 255 unsigned short 16 비트 = 65,535 unsigned int 32 비트 = 4,294,967,295 unsigned long 64 비트 = 18,446,744,073,709,551,615

부동소수형

27 부동소수형 C 언어의 3 개의 부동소수형  float, double, long double 부동소수점 (floating-point) 이란 ?  부동소수점에서 점 (point) 은 소수점을 말하며, 이 소수점이 수의 어느 위치에도 올 수 있으므로 부동소수점이라고 한다. 부동소수형의 예 (Microsoft Visual C/C++ 6.0) 자료형 기억장 소 최소값최대값 float 4 바이트 7 개의 유효숫자를 가지며, - 1.0E+38 의 근사값 7 개의 유효숫자를 가지며, 1.0E+38 의 근사값 double 8 바이트 15 개의 유효숫자를 가지며, - 1.0E+308 의 근사값 15 개의 유효숫자를 가지며, 1.0E+308 의 근사값 long double 8 바이트 15 개의 유효숫자를 가지며, - 1.0E+308 의 근사값 15 개의 유효숫자를 가지며, 1.0E+308 의 근사값

28 부동소수형 표현 float 형 자료의 저장과 표현 범위  아래 double 형과 유사하게 부호, 지수부, 가수부로 나뉘어짐  전체 비트 수가 double 보다 작을 수 있음 ( 예 : 16 비트 ) double 형 자료의 저장과 표현 범위 부호 지수부 가수부 8 바이트 (32 비트 )

29 float.c 실행결과 : float 크기 : 4 double 크기 : 8 long double 크기 : 8

문자형

31 문자형 각 문자에 고유번호를 부여한 코드를 사용하여 표현한다. C 에서는 ASCII 코드를 사용한다.  ASCII(American Standard Code for Information Interchange) 128 개의 문자를 7 비트를 사용하여 표현 (8 비트로 확장됨 )  대문자 (A, B, C 등등 )  소문자 (a, b, c 등등 )  구두점 (punctuation)( 마침표, 세미콜론, 쉼표 등등 )  숫자 (digit)(0 에서 9 까지 )  공백 문자 (‘ ’)  특수 문자 (&, |, \ 등 )  제어 문자 열복귀 (carriage return), 널 (null), 문서 - 끝 - 표시자 (end-of-text)  액센트 (accent) 가 있는 문자

32 ASCII 코드표 표 3.1) ASCII 코드 표

33 code.c 실행결과 : a 97 A $ a 97 A $

34 문자형 관련 입출력 함수  getchar()  putchar() int getchar()  매개변수가 없으며 한 문자를 읽어 그 문자의 ASCII 값을 반환한다. 파일 끝에 도달하면 EOF 를 반환한다. 파일을 #include 해야 한다. int putchar(int c)  한 글자를 받아 화면에 출력하고 출력한 문자의 ASCII 값을 반환한다. 오 류 시에는 EOF 를 반환한다. 파일을 #include 해야 한다. 다음 예제 프로그램 char.c  ① 키보드로부터 한 개 문자 읽기  ② 문자로 출력  ③ ASCII 값을 보기 위해 정수로 출력

35 char.c 실행결과 : 한 문자를 입력하시오 : A 읽은 문자 : A 읽은 문자의 ASCII 값 : 65

36 putchar.c 실행결과 : Hello!

37 이스케이프 시퀀스 이스케이프 시퀀스 (escape sequence)  백슬래쉬 문자 ( \ ) 로 시작하고, 다음 문자는 특별한 방식으로 해석  예를 들어 이중 인용부호 문자 (") 출력 : \ " 이스케이프 시퀀스 의미 \b 백스페이스 \t 탭 \n 개행 \r 열복귀 \" 이중 인용부호 \' 단일 인용부호 \\ 백슬래쉬

38 escape.c

39 Key Point

40 ▶ Key Point C 언어는 1 개의 문자형, 3 개의 정수형, 3 개의 부동소수형을 제공 변수는 데이터를 저장하는 데 사용되는 저장 장소의 이름 변수에 대한 접근 ( 읽기 ) 은 메모리에서 그 값이 변경되지 않으나, 변 수에 대한 대입 ( 쓰기 ) 은 이전의 데이터가 새로운 데이터로 대체됨 상수 값은 변경할 수 없음 음수는 연산의 효율성을 위해 2 의 보수 형태로 나타낸다. C 언어는 ASCII 문자 집합을 사용하여 문자를 표현한다. 이때 필요 한 비트는 8- 비트 이다.

41 프로그래밍 실습

42 ▶ 프로그래밍 실습 1 1. ASCII 코드표의 일부를 프린트하는 프로그램을 작성한다. 다음 선언을 가정하여 프로그램을 작성한다. int main( ) { char c; } (1) 각 알파벳 대문자와 그 코드 값을 프린트한다. 변수 c 에 문자 'A' 를 대입한 후에 1 씩 증가시키면서 26 개를 차례로 프린트한다. (2) 각 알파벳 소문자와 그 코드 값을 프린트한다. 변수 c 에 문자 'a' 를 대입한 후에 1 씩 증가시키면서 26 개를 차례로 프린트한다. (3) 숫자와 그 코드 값을 프린트한다. 변수 c 에 문자 '0' 을 대입한 후에 1 씩 증가시키면서 10 개를 차례로 프린트한다.

43 ▶ 프로그래밍 실습 의 배수를 순서대로 계산하여 프린트하고 그 합을 계산하여 프린트한다. (1) int 변수 i 를 선언하고 0 으로 초기화한다. 이 변수를 5 씩 증가하면서 50 까지 의 5 의 배수를 프린트하는 프로그램을 작성하라. int main( ) { int i; } (2) 실습 1 의 프로그램을 확장하여 0 부터 50 사이의 5 의 배수들의 합을 계산하 여 프린트하는 프로그램을 작성하라.