제 16 강 변수의 선언, 배정, 수식 shcho.pe.kr.

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 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
재료수치해석 HW # 박재혁.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
3주 강의 Lexical Elements, Operators, and the C System
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
Chapter 7. 조건문.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Chapter 04 C 연산자의 이해.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
C 언어 연습문제 (formatted I/O)
제 17 강 formatted I/O shcho.pe.kr.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Part 05 순수한 연산자 ©우균, 창병모 © 우균, 창병모.
2주차: 변수, 수식, Control Flow.
6장. printf와 scanf 함수에 대한 고찰
2007 1학기 11 프로젝트 기초 실습.
Tail-recursive Function, High-order Function
14장. 포인터와 함수에 대한 이해.
C++프로그래 밍 컴퓨터정보과 / 이기희교수.
일차방정식의 풀이 일차방정식의 풀이 순서 ① 괄호가 있으면 괄호를 먼저 푼다.
C#.
Ⅲ. 이 차 방 정 식 1. 이차방정식과 그 풀이 2. 근 의 공 식.
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 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
어서와 C언어는 처음이지 제14장.
어서와 C언어는 처음이지 제15장.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
8주차: Strings, Arrays and Pointers
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
1. 2진 시스템.
복습.
Chapter 07 비트와 여러 연산자.
Chapter 08. 함수.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
제 15 강 문자와 코드 shcho.pe.kr.
에어 PHP 입문.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
Flow Diagram IV While.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
Homework #8 (실습 #7) [1/2] 다음을 수행하는 PHP 프로그램을 작성하여 프로그램과 결과물을 프린트하여 제출한다. sin(45º), cos(45º), tan(45º)를 출력하는 프로그램을 작성하시오. 피보나치 수를 구하는 함수 fib($n)을 작성하고,
제 22 강 논리식 및 논리 값 shcho.pe.kr.
Numerical Analysis Programming using NRs
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
어서와 C언어는 처음이지 제21장.
13. 포인터와 배열! 함께 이해하기.
Pointers summary.
제 10 강 문자 입출력.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

제 16 강 변수의 선언, 배정, 수식 shcho.pe.kr

변수? 常數가 아님. Variable 값을 가진다  “값을 담은 그릇” 타입(形)을 가진다. 이름(identifier)에 의해 지명할 수 있다.

변수의 내용도 여러 얼굴 OI 숫자로 보면 01 영문자로 보면 OI 한글로 보면 이

내용물의 종류를 제한하면 혼돈의 소지가 없어짐 OI OI B (영문자임) A (숫자임)

실습 lab16_01/int.c 변수 x를 정수형으로 선언하고 값을 3.14로 주어보라. if (x > 3) printf("3보다 크다.\n"); else printf("3보다 크지않다\n"); 를 이용하여 실제 값이 3보다 큰지 보고 또 x 값을 출력해 보라.

C언어의 변수 정수, 실수 크게 두 가지 타입 정수: 실수: int: 4 bytes short : 2 bytes char : 1 byte 실수: float: 4 bytes double: 8 bytes 기종에 따라 다르다.

lab16_02 (int2.c) #include <stdio.h> main(){ int i; float f; printf(“%d %d \n”, i, f); } 거짓말 했음

size sizeof() operator 함수가 아님 함수와 사용법이 꼭 같음 사용 예: sizeof(int), sizeof(i) 등

실습 lab16_03 int, char, double, float의 크기를 출력해 보라. sizeof 연산자를 이용한다. 출력 예: “int는 4바이트입니다.” 등 파일: size.c

사칙 연산 +, -, *, / 괄호 ( ) 배정 (assignment) = 변수와 상수 예: a+b/3*2-1 수식의 계산 사칙 연산 +, -, *, / 괄호 ( ) 배정 (assignment) = 변수와 상수 예: a+b/3*2-1 b = (a+b)*2 우에서 좌로 복사!!

“=“ 의 좌변은 반드시 하나의 변수 a = 9; 9 = a; a+b = 10; a = b = c = 100; a = ( b = (c = 100));

4 5 5 5 변수의 두 얼굴 값을 가진 그릇 (기억장소)  l-value 그릇에 담긴 값  r-value a = b ; Before: a b a라는 자리에 복제되어 들어간다. 5 5 After: left right a b

Quiz16_01

섭씨/화씨의 변환 수학적 정의: c * 9/5 + 32 = f f가 32도라면 c는 0도이다. int main(){ float c, f; c * 9/5 + 32 = f; f = 32; printf(“%f\n”, c); // Do you expect to print 0 ? }

그렇다면 이것은? 수학적 정의: f = c * 9/5 + 32 f가 32도라면 c는 0도이다. int main(){ float c, f; f = c * 9/5 + 32; f = 32; printf(“%f\n”, c); // Do you expect to print 0 ? }

Why not? 수학의 “=“ 양쪽이 값이 같다는 명제. 즉, 방정식이다. C언어의 “=“는 등호가 아닌 복제, 즉 우측의 값을 계산하여 좌측의 변수에 복사하라는 뜻. 따라서 수학에서는 f = c * 9/5 + 32와 c * 9/5 + 32 = f가 같은 뜻이지만 C언어에서는 후자는 문법 오류임.

실습 lab16_04/c2f.c 섭씨 온도를 입력하면 화씨 온도를 계산하여 출력하는 프로그램을 작성하여 수행하여 보라. 수식은 f = c * 9 / 5 + 32;를 이용한다. f와 c는 둘 다 int 변수이다. 여러 온도에서 테스트하여 보고 결과가 맞는지 아니면 어떻게 틀리는지를 코멘트로 적어 넣는다.

실습 lab16_05/c2f2.c 앞의 프로그램에서 int로 된 정수를 float로 바꾸어보라. 출력 시에는 %d 대신에 %f를 사용하여야 한다. 수식은 f = c * (9 / 5) + 32;를 이용한다. 여러 온도에서 테스트하여 보고 결과가 맞는지 아니면 어떻게 틀리는지를 코멘트로 적어 넣는다.

실습 lab16_06 FCL 을 이용하여 c = 10으로 두고 c * 9 / 5 + 32를 계산하여 f에 넣는 프로그램을 작성하라.

실습 lab16_07 FCL 을 이용하여 c = 10으로 두고 9 / 5 * c + 32를 계산하여 f에 넣는 프로그램을 작성하라. 이 수식은 앞의 c * 9 / 5 + 32 와 "수학적으로는" 같은 수식임을 기억하자.

CFL 해설

연산 수식(expression)에 의해 계산 배정(=)에 의하여 계산 값 저장 사칙 연산 +, -, *, / 우선 순위 { *, / } > { +, - } 정수 연산과 실수 연산: operand에 의하여 결정됨

모든 수식은 순서에 의해 평가(evaluation)됨 평가된 값은 다음 순서의 연산에 사용됨 수식의 값 모든 수식은 순서에 의해 평가(evaluation)됨 평가된 값은 다음 순서의 연산에 사용됨 sum = count = 0 ; ‘=‘ 의 평가 결과는 우변의 값과 같아짐

값의 변화 (side effect) 있는 수식 a = a + 1; a++; 없는 수식 a + 1;

증/감 연산 a++ 또는 ++a 1 증가 b––또는 ––b 1 감소 연산자가 뒤에 있으면 postfix (후치-後置) 연산, 앞에 있으면 prefix(전치) 연산이라 함 단독으로 사용시는 prefix, postfix 차이 없음 a = b++; a = ++b; // 이 둘의 결과는 다름.

lab16_08 a = b++;와 a = ++b;이 둘이 어떻게 다른지 C 프로그램을 이용하여 확인하여보고 결과와 원인을 설명하라.

각종 배정 연산 a += b; a = a + b; a -= 1; a = a – 1; a *= c; a = a * c; b = b / 2; a == x; 배정 연산이 아님!

주의 +=은 하나의 토큰: 중간에 띄어 쓰면 안됨

lab16_09 += 연산과 -= 연산, 그리고 while을 이용하여 100부터 1까지의 합을 구하여 출력하는 프로그램을 작성하라. while 문의 반복 조건과 초기 값에 유의할 것. sum.c

나머지 연산 x % y의 결과: x를 y로 나눈 나머지 x 가 양수이면 나머지는 0~ y-1 사이

실습 lab16_10 주어진 정수(scanf를 이용하여 읽어들인다)가 짝수인지 홀수인지를 알아내는 프로그램을 작성하라. 파일 even_odd.c

16 강 끝. 변수의 선언, 배정 shcho.pe.kr