프로그래밍실습 제 4 강.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
재료수치해석 HW # 박재혁.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
프로그래밍실습 제 5 강.
Chapter 7. 조건문.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
프로그래밍실습 제 8 강.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
Chapter 04 C 연산자의 이해.
P150 문제를 프로그래밍 할 것 Source file (헤더파일포함), 실행화면 (학번_이름_1.txt)
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
프로그래밍실습 제 11 강.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
6주차: Functions in C and Others
Part 05 순수한 연산자 ©우균, 창병모 © 우균, 창병모.
2주차: 변수, 수식, Control Flow.
6장. printf와 scanf 함수에 대한 고찰
2007 1학기 11 프로젝트 기초 실습.
Tail-recursive Function, High-order Function
2019년 1월 16일 오후 6시 15분 제 6 장 함수
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
프로그래밍실습 제 24 강.
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장.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
에어 조건문.
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
Chapter 08. 함수.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
Excel 일차 강사 : 박영민.
제3장 함수와 배열수식 전진환
제 15 강 문자와 코드 shcho.pe.kr.
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
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
Static과 const 선언 조 병 규 한 국 교 통 대 학 교 SQ Lab..
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
프로그래밍 개론 Ⅰ-실습 2장 데이터와 식①.
제 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:

프로그래밍실습 제 4 강

강의 내용 치환문의 사용 증감연산자와 누적치환연산자 수학식의 사용 절댓값, 나머지, 지수, 로그 함수 수학식의 사용 절댓값, 나머지, 지수, 로그 함수 삼각함수, 역삼각함수, 쌍곡선함수 수학식의 사용 수학식 사용시 주의할 점 원주율 값을 정의하여 사용하는 세 가지 방법: 관계연산자를 사용한 C에서의 대소 비교 조건문 if 의 사용 if문에서 중괄호의 사용 조건문 if … else 의 사용

제 3장, 수식과 연산: 치환문의 사용 (치환문의 사용) 다음 프로그램의 출력을 예상하여 보자. #include<stdio.h> main() { int a=1,b=10,c=100,d=1,e=5; a=a-1; // a-1의 값을 a변수에 다시 저장 b=b+4; c=c*d; d=d/2; e=e%3; // 나머지 연산 printf("%d %d %d %d %d\n",a,b,c,d,e); } 출력: 0 14 100 0 2

a++ 은 a=a+1 과 같은 의미이다.(즉, 현재의 a값을 1증가 시킴) 증감연산자와 누적치환연산자 a++ 은 a=a+1 과 같은 의미이다.(즉, 현재의 a값을 1증가 시킴) ++a 도 a=a+1 과 같은 의미이다.(즉, 현재의 a값을 1증가 시킴) a-- 은 a=a-1 과 같은 의미이다.(즉, 현재의 a값을 1감소 시킴) --a 도 a=a-1 과 같은 의미이다.(즉, 현재의 a값을 1감소 시킴) a+=2 는 a=a+2의 의미이다. a-=3 은 a=a-3의 의미이다. a*=4 는 a=a*4의 의미이다. a/=5 은 a=a/5의 의미이다. a%=6 는 a=a%6의 의미이다. 주의: a++ 와 ++a 의 기능이 완전히 같은 것은 아니다. (뒤의 설명 참조)

증감연산자와 누적치환연산자의 사용 다음 프로그램의 출력을 예상하여 보자. #include<stdio.h> main() { int a=1,b=10,c=100,d=1,e=5; a--; // a=a-1;과 같은 의미 b+=4; // b=b+4;와 같은 의미 c*=d; // c=c*d;와 같은 의미 d/=2; // d=d/2;와 같은 의미 e%=3; // e=e%3;과 같은 의미 printf("%d %d %d %d %d\n",a,b,c,d,e); } 출력: 0 14 100 0 2

a++와 ++a 차이 다음 프로그램의 출력을 예상하여 보자. #include<stdio.h> main() { int a=10,b=10,c=20,d=5,e=20,f=5; printf("a=%d ",a++); //a를 출력 후 1증가시킴 printf("a=%d ",a); printf("b=%d ",++b); //b를 1증가시킨 후 출력 printf("b=%d ",b); c+=d++; //c=c+d를 수행한 후 d를 1증가시킴 printf("c=%d d=%d ",c,d); e+=++f; //f를 1증가시킨 후 e=e+f를 수행함 printf("e=%d f=%d ",e,f); } 출력: a=10 a=11 b=11 b=11 c=25 d=6 e=26 f=6

수학식의 사용 수학 관련 함수를 사용하기 위해서는 math.h가 필요하다. 수학식의 사용 수학 관련 함수를 사용하기 위해서는 math.h가 필요하다. 수학식의 인자형은 원칙적으로 실수이고 계산 결과도 실수이다. 수학관련 함수를 사용하기 위해서는 해당하는 내장함수를 호출하면 된다. 연산의 우선 순위는 수학에서의 우선 순위를 그대로 따른다. 대표적인 내장함수는 다음과 같다.

절댓값, 나머지, 지수, 로그 함수 수학식 C언어 표현 | x | fabs(x) a를 b로 나눈 나머지 fmod(a,b) pow(a,b) √ x sqrt(x) e x exp(x) ln x (= log e x ) log(x) log10 x log10(x) 참고: a 또는 b가 음수인 경우 fmod(a,b)의 부호는 a의 부호와 같다.

삼각함수, 역삼각함수, 쌍곡선함수 수학식 C언어 표현 sin x sin(x) cos x cos(x) tan x tan(x) arcsin x (= sin-1x) asin(x) arccos x (= cos-1x) acos(x) arctan x (= tan-1x) atan(x) sinh x sinh(x) cosh x cosh(x) tanh x tanh(x) 참고: sin(x), cos(x), tan(x)에서 x값은 모두 라디안(radian)이다.

값을 소숫점이하 10자리까지 출력하는 프로그램을 작성하라. #include<stdio.h> 수학식의 사용 (1) 값을 소숫점이하 10자리까지 출력하는 프로그램을 작성하라. #include<stdio.h> #include<math.h> main() { double a=2.,b; b=sqrt(a); printf("sqrt(%g)=%.10f\n",a,b); } 출력: sqrt(2)=1.4142135624

수학식 사용시 주의할 점 double형 변수는 입력시 변환문자로 반드시 %lf를 사용하여야 한다. #include<math.h>를 첫머리에 포함시킨다. 실수의 절대값을 계산할 때는 fabs를 사용한다. fabs는 정수형에도 사용가능 하다. (그러나 abs는 정수형에만 사용가능하다.) 실수를 어떤 수로 나눈 나머지를 계산할 때는 fmod를 사용한다. fmod는 정수형에도 사용가능 하다. (그러나 %는 정수형에만 사용 가능하며, math.h는 포함시킬 필요없다.)

수학식의 사용 (2) x = 3.258일 때 f (x) = x7 + 4x2 – | x – 9 | 다음 계산을 하는 프로그램을 작성하라. x = 3.258일 때 f (x) = x7 + 4x2 – | x – 9 | #include<stdio.h> #include<math.h> main() { double x=3.258, f; f=pow(x,7.)+4.*x*x-fabs(x-9.*sqrt(x)); printf("x=%g, f(x)=%.3f\n",x,f); } 출력: x=3.258, f(x)=3925.818

원주율 ( ) 값을 정의하여 사용하는 세 가지 방법: 원주율 ( ) 값을 정의하여 사용하는 세 가지 방법: 1. 변수 선언 및 직접 초기화 const double pi=3.14159265358979; 2. 역삼각함수의 이용 const double pi=acos(-1.); 또는 const double pi=2.*asin(1.); const double pi=4.*atan(1.); 3. 프로그램 첫머리에 선행처리기 define을 이용하는 방법: #define pi 3.14159265358979

x = 일 때 f (x) = 3 sin x + tan 2x + e x + ln x #include<stdio.h> 수학식의 사용 (3) 다음 계산을 하는 프로그램을 작성하라. x = 일 때 f (x) = 3 sin x + tan 2x + e x + ln x #include<stdio.h> #include<math.h> main() { double x, f; const double pi=acos(-1.);//acos을 이용한 pi 계산 x=pi/3.; f=3.*sin(x)+tan(2.*x)+exp(x)+log(x); printf("x=%.3f, f(x)=%.3f\n",x,f); } 출력: x=1.047, f(x)=3.762

다음 계산을 하여 소수점아래 10자리까지 출력하는 프로그램을 작성하라. 수학식의 사용 (4) 다음 계산을 하여 소수점아래 10자리까지 출력하는 프로그램을 작성하라. x = 일 때 f (x) = 3 cos x + #include<stdio.h> #include<math.h> main() { const double pi=acos(-1.);//acos을 이용한 pi 계산 double f, x=pi/3.; f=3.*cos(x)+1./2.; printf("x=%.10f, f(x)=%.10f\n",x,f); } 출력: x=1.0471975512, f(x)=2.0000000000

수학식의 사용 (5) double형 변수 x값을 입력 받아 다음 함수 값을 출력하는 프로그램을 작성하여 보자. #include<stdio.h> #include<math.h> main() { double x, f; const double pi=3.14159265358979; //pi 선언 및 초기화 printf("실수를 입력하십시오: "); scanf("%lf",&x); f=sqrt(fabs(sin(x)))+exp(-2.*x)+pi/3.; printf("x=%g, f(x)=%.5f\n",x,f); } 입출력 예: 실수를 입력하십시오: 3.78 x=3.78, f(x)=1.81968

선행처리기 define을 이용하여 를 계산한 예 #include<stdio.h> #include<math.h> #define pi 3.14159265358979 //끝에 세미콜론이 없음에 유의할 것 main() { double x, f; //선행처리기로 정의된 pi는 새로운 선언 없이 사용한다. printf("실수를 입력하십시오: "); scanf("%lf",&x); f=sqrt(fabs(sin(x)))+exp(-2.*x)+pi/3.; printf("x=%g, f(x)=%.5f\n",x,f); } 입출력 예: 실수를 입력하십시오: 3.78 x=3.78, f(x)=1.81968 (앞 프로그램과 결과는 완전히 같다.)

참고: 표준적인 방법은 아니지만 MS Visual C에서는 다음과 같은 방법으로 를 비롯한 수학 상수들을 사용할 수 있다. #include<stdio.h> #define _USE_MATH_DEFINES #include <math.h> main() { printf("pi=%.12f\n",M_PI); printf("sin(pi/6)=%g\n",sin(M_PI/6.)); printf("e=%.12f\n",M_E); } 출력: pi=3.141592653590 sin(pi/6)=0.5 e=2.718281828459

관계연산자를 사용한 C에서의 대소 비교 a>b : a는 b보다 크다. a<b : a는 b보다 작다. 주의: 수학에서와 달리 a=b의 의미는 “b의 값을 a에 저장하라” 는 것이다. a와 b가 같다는 것을 나타내기 위해서는 반드시 두 개의 등호를 써서 a==b로 나타내야 한다. C코드: 03_00.c ~ 03_07.c 참조

제4장, 제어문: 조건문 if 의 사용 예: a가 2일 때만 “a는 2입니다.”를 출력하려면 다음과 같이 한다: printf("a는 2입니다.\n"); #include<stdio.h> main() { int input; printf("정수를 입력하십시오: "); scanf("%d",&input); if(input==2) printf("입력된 정수는 2입니다.\n"); } * 입력된 정수가 2가 아니면? 아무 일도 일어나지 않는다.

if문에서 중괄호의 사용 If문의 조건이 만족될 때 수행되는 내용이 여러 문장 이면 중괄호{}를 이용하여 묶어준다. 예: if(a!=0){ printf(“a는 %d입니다.\n”,a); printf(“10을 a로 나눈 나머지는 %d입니다.\n”,10%a); } 출력의 예: (a가 3일 때) a는 3입니다. 10을 a로 나눈 나머지는 1입니다. (a가 0일 때: 아무 일도 일어나지 않음)

조건문 if … else 의 사용 예: #include<stdio.h> main() { int input; printf("정수를 입력하십시오: "); scanf("%d",&input); if(input==2) // input이 2인 경우 printf("입력된 정수는 2입니다.\n"); else // input이 2가 아닌 모든 경우 printf("입력된 정수는 2가 아닙니다.\n"); }

Square root 계산 프로그램 예: #include<stdio.h> #include<math.h> main() { double x; printf("[[ Square root 계산 프로그램 ]]\n\n"); printf("실수를 입력하십시오: "); scanf("%lf",&x); if(x>0.) // 입력된 값이 0이상인 경우 printf("x=%g sqrt(x)=%g\n",x,sqrt(x)); else // 입력된 값이 음수인 경우 printf("입력된 수는 음수입니다.\n"); }