4주차: Data Types and Functions

Slides:



Advertisements
Similar presentations
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
Advertisements

기본 자료형 순천향대학교 정보기술공학부 이 상 정. 자료형의 선언 컴퓨터프로그래밍 1 순천향대학교 정보기술공학부 이 상 정 3 자료형 선언 기본 자료형문자형 char 정수형 int 실수형 float double 형없음 void.
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++ 통합 환경 들어가기.
C 언어 컴퓨터학과 C 언어 ( STS ) (Chap5. Selection-Making Decisions ) C 언어.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
제 3 장 변수와 자료형.
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
Lecture 5 C의 기초적인 값(primitive value)의 컴퓨터에서의 표현 문자, 정수, 실수, 참/거짓
4장: 자료형과 수식.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
제 18 강 데이터 타입 타입, 변환, 캐스팅 shcho.pe.kr.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
Chapter 4 – 연 산 자 Outline 4.1 산술 연산자 4.2 관계 연산자 4.3 동등 연산자 4.4 논리 연산자
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.
C언어 프로그래밍의 이해 Ch05. 명령문 Phylogenetic: 계통, 발생(학)의.
내용 프로그래밍 언어(programming language) C 언어란?? C 언어 역사 C 언어 특징 C 프로그램의 구조
제 2 장 변수와 상수.
Chapter 3 Flow of Control
제 3 장 상수와 변수
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
5장. 상수와 기본 자료형. 5장. 상수와 기본 자료형 5-1 C 언어가 제공하는 기본 자료형 자료형(data type) 기본 자료형 사용자 정의 자료형 int val; "선언할 변수의 특징을 나타내기 위한 키워드" 기본 자료형 기본적으로 제공이 되는 자료형 사용자.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
adopted from KNK C Programming : A Modern Approach
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
Chapter 2 Lexical Elements, Operators, and the C System
Chapter 4 수식과 연산자.
제2장 데이터형과 표준 입출력문 문봉근.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
adopted from KNK C Programming : A Modern Approach
Formatted Input/Output
제 3 장 연산자 (Operators).
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형.
제어문 & 반복문 C스터디 2주차.
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
Chapter 04 자료 유형.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
Chapter 11. 배열과 포인터.
Chapter 04. 데이터의 표현과 연산(Ⅱ).
Chapter 05. 입출력 함수.
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
학습목표 Chapter 2-1. 변수와 포인터 변수의 선언과 변수에 대한 메모리 할당을 살펴본다.
루프와 카운트 Looping and counting
연산자Operators C언어의 기본 구조 도서출판 한산 C언어의 기본 구조 1: #include <stdio.h>
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
C언어 프로그래밍의 이해 Ch05. 명령문.
-Part1- 제7장 반복문이란 무엇인가.
-Part1- 제6장 자료형이란 무엇인가.
자바 5.0 프로그래밍.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
3주차: Control Flow and Others
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
printf("Global Korea\n");
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
Presentation transcript:

4주차: Data Types and Functions

부호있는 정수 signed 계열 메모리에서의 크기 (signed) short (signed) int (signed) long (int) 메모리에서의 크기 int: 4 bytes short <= int <= long

Word in Computers 워드(Word) 컴퓨터가 한 번에 처리할 수 있는 비트의 크기 예) 32-bit word 1 32 bits 1 1 CPU 1 1 1

int 계열의 크기 int: 4 bytes(과거에 많이 쓰이던 워드) short(2 bytes) <= int <= long(4 bytes) type int로 표시가능한 값 00000000 00000000 00000000 00000000에서 11111111 11111111 11111111 11111111까지 232개의 서로 다른 값을 표현할 수 있다.

signed and unsigned unsigned 계열 (signed) int type의 변수가 가질수 있는 값의 범위 unsigned short unsigned (int) unsigned long (signed) int type의 변수가 가질수 있는 값의 범위 -231, -231 + 1, ..., -1, 0, 1, 2, ..., 231 – 1 -2,147,483,648  2,147,483,647 unsigned (int) type의 경우 0, 1, 2, 3, ..., 232 – 1 0  4,294,967,295

예제 프로그램 #include<stdio.h> int main(void) { int price; unsigned uprice; uprice = price = 2147483647; printf(“%d %u”, price, uprice); uprice = price = 4294967295; printf(“\n%d %u”, price, uprice); return 0; } -수행결과 2147483647 2147483647 -1 4294967295 데이터 타입이 가질 수 있는 최대값의 범위를 넘어가는 값을 할당해도 컴파일 에러는 나지 않는다. %u: unsigned int의 출력

ASCII 코드와 char #include<stdio.h> int main(void) { char alphabet; for(alphabet = ‘A’; alphabet <= ‘Z’; alphabet++) printf(“%c: %d\n”, alphabet, alphabet); return 0; } - 수행결과 A: 65 B: 66 C: 67 ... Z: 90 char 변수 alphabet에 ‘A’를 할당하면 alphabet 변수에는 65의 이진수 값이 들어간다. printf() 함수 안의 %c, %d는 단지 alphabet의 값을 출력하는 방법만 지정해 주는 것이다.

실수계열 데이터 타입 float, double, long double 복잡한 실수의 계산은 정확하지 않다. float: 4 bytes double: 8 bytes long double >= double 복잡한 실수의 계산은 정확하지 않다. 간단한 경우에는 크게 문제가 되지 않는다.

float/double 표현범위 0.dddddddd * 10n (d는 십진수) float Double 유효숫자 (d의 개수) 6 15 범위 (n) -38 ~ 38 -308 ~ 308 메모리 4 바이트 8 바이트

Double의 메모리 크기 8 byte Log2(106) + log2(308*2+1) = 49.8 + 9.26 = 대략 60비트 필요

sizeof 연산자(1/3) sizeof(object) object의 크기를 바이트 단위로 알려준다. #include<stdio.h> int main(void) { printf(“The size of some fundamental types is computed. \n\n”); printf(“ char:%3u byte \n”, sizeof(char)); printf(“ short:%3u bytes \n”, sizeof(short)); printf(“ int:%3u bytes \n”, sizeof(int)); printf(“ long:%3u bytes \n”, sizeof(long));

sizeof 연산자(2/3) printf(“ unsigned:%3u bytes \n”, sizeof(unsigned)); printf(“ float:%3u bytes \n”, sizeof(float)); printf(“ double:%3u bytes \n”, sizeof(double)); printf(“long double:%3u bytes \n”, sizeof(long double)); return 0; }

sizeof 연산자(3/3) 수행결과

Keywords Keywords Keyword의 예 C언어에 미리 정의되어 있는 단어들 변수이름으로 사용할 수 없다. if, signed, int, float, for, while, ...

상수(Constants) 정수상수 실수상수 문자상수 1, 37, 74, ... 1.0, 37.0, 74.9, ... ‘A’, ‘b’, ‘0’, ‘+’, ... 문자상수는 프로그램에서 작은따옴표(‘’)로 묶인다. ‘0’은 문자상수, 0은 정수상수이다.

문자열 상수(String Constants) 0개 이상의 문자(Character)로 이루어진다. “This is a string.”, “I am a boy.”, ... 문자열 상수는 프로그램에서 큰따옴표(“”)로 묶인다. “A”와 ‘A’는 서로 다르다.

연산자(Operators) 산술연산자(Arithmetic operators) 할당연산자(Assignment operators) +, -, *, /, %(나머지 연산자) 할당연산자(Assignment operators) =, +=, -=, *=, /=, %=, ... 증감연산자(Increment and decrement operators) ++, --

% 연산자 예제 프로그램 - 이 프로그램은 1 – 100사이의 정수 중 17의 배수를 출력한다. #include<stdio.h> int main(void) { int i; for(i = 1; i <= 100; i++){ if(i % 17 == 0) printf(“%d is a multiple of 17.\n”, i); } return 0; - 이 프로그램은 1 – 100사이의 정수 중 17의 배수를 출력한다.

증감 연산자 예제 프로그램 증감연산자는 2가지의 형태로 쓰인다. #include<stdio.h> int main(void) { int a, b, c = 0; a = ++c; b = c++; printf(“%d %d %d\n”, a, b, ++c); return 0; } 증감연산자는 2가지의 형태로 쓰인다. prefix 형: ++c, 문(statement)을 수행하기 전에 c = c + 1을 행한다. postfix 형: c++, 문을 수행한 후에 c = c + 1을 행한다. 예제의 출력결과는 1, 1, 3 이다.

관계연산자(Relational and Equality Operators) Relational Operators <, >, <=, >= Equality Operators ==(equal to), !=(not equal to)

Operator Precedence and Associativity 연산의 순서 Associativity 연산의 방향 C 언어는 모든 연산자들의 우선순위 및 associativity를 정해 놓고 있다. 계산순서를 확실히 하려면 괄호를 사용하라.

할당 연산자(Assignment Operators) 할당연산자 =, +=, -=, *=, ... += a = a + 1은 a += 1과 동등한 표현이다. *= a = a * 1은 a *= 1과 동등하다.

수식의 값 C의 모든 수식은 값을 가진다. 수식의 값은 그 수식이 계산된 결과이다. 수식 a + 1의 값은? a에 3보다 큰 값이 들어 있는 경우 이 수식의 값은 1(참, TRUE)이다. a에 3보다 작거나 같은 값이 들어 있는 경우 이 수식의 값은 0(거짓, FALSE)이다.

관계 수식의 값 예제 프로그램 -이 프로그램의 수행결과는 1 1 3 1 이다. #include<stdio.h> int main(void) { int a, b, c = 0; a = ++c; b = c++; printf(“%d %d %d\n”, a, b, ++c); printf(“%d\n”, a > 3); printf(“%d\n”, a <= 3); return 0; } -이 프로그램의 수행결과는 1 1 3 1 이다.

할당 수식의 값 할당 수식의 값은 왼쪽의 변수에 저장된 값이다. a = 1의 값은 1 b = 0의 값은 0 c = 34의 값은 34

할당수식의 값 예제 프로그램 이 프로그램의 결과는 항상 This number is odd. 이다. j = 0 수식의 값은? 0 #include<stdio.h> int main(void) { int i, j; scanf(“%d”, &i); j = i % 2; if(j = 0) printf(“This number is even.\n”); else printf(“This number is odd.\n”); return 0; } 이 프로그램의 결과는 항상 This number is odd. 이다. j = 0 수식의 값은? 0 따라서 if의 조건식은 항상 0(거짓)이다.

교재에서 강의와 연관된 부분 2장 2.1, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11 3장 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.8 4장 4.1, 4.2, 4.3

과제2( - 5. 9) 다음의 수열을 계산하는 프로그램을 작성하라. 프로그램의 수행과정 1. 정수를 하나 키보드로 입력받는다. 2. 이 정수가 0보다 작으면 1로 돌아간다. 3. 입력받은 정수번째에 해당하는 수열의 값을 출력한다. 4. 프로그램을 종료한다.

과제 2 제출 항목 이메일로 제출 보고서 소스코드, 보고서, (오브젝트 파일및 실행파일은 제외) 컴파일 방법(컴파일러, 운영체제) 간단한 소스코드 설명