최신 C 프로그래밍 언어 문제해결에서 프로그래밍까지

Download Report

Transcript 최신 C 프로그래밍 언어 문제해결에서 프로그래밍까지

최신 C 프로그래밍 언어
문제해결에서 프로그래밍까지
개정판
2장 : C 언어 프로그램 기본 요소들
도서출판 - 인터비젼
1
2장 C 언어 프로그램 기본 요소들

학습목표
 1. C언어의 기본 구성 요소를 이해한다.
 2. 각 구성요소들의 문법적인 관계를 이해한다.
 3. C 언어구조와 이들에 포함된 구성요소의 관계를
이해한다.
 4. 프로그래밍 스타일에 대해 생각해 본다.
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
2
목차

2장 C 언어 프로그램 기본 요소들
 예습시간
– C 언어 구성 요소의 의미
 실습시간
– C 프로그래밍과 구성요소
– 구성 요소 활용
 연습시간
– C 프로그래밍 스타일
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
3
예습시간 – 1 교시
C언어 구성 요소의 의미
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
4
C언어 구성 요소의 의미

학습 개요
 C 언어를 구성하는 각각의 구성요소를 학습함으로써
프로그램을 보다 깊이 있게 이해할 수 있게 한다.
 주석, 식별자, 예약어, 상수, 연산자, 분리자 등과 같은
요소들과 의미를 파악한다.
 이들 요소의 사용방법을 익힌다.
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
5
C언어 구성 요소의 의미

프로그램의 구성 요소
 C 프로그램은 다음과 같은 요소들로 구성된다.
 1) 주석
– // 또는 /*
*/
 2) 식별자
– 변수, 함수, 상수의 이름으로 사용자에 의해 만들어지는 이름
 3) 예약어
– C 언어에 의해 미리 정의된 문자 ( int, long 등)
 4) 상수
– 실제 데이터 값 표현
 5) 연산자
– *, + , - , & 등의 연산 기호
 6) 분리자
–(),{},,,;등
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
6
C언어 구성 요소의 의미

1. 주석
 프로그램의 이해 목적 - 문서화
 컴파일러에 의해 해석되지 않는 문장
 형식
– //
: 해당 라인에 대한 주석처리
– /* */ : 다중 라인에 대한 주석처리
 자주 사용되는 주석의 위치
– 1. 프로그램의 시작 부분
» 프로그램에 대한 개괄적인 정보나 작성자 및 작성일자를 포함한
기본 정보
– 2. 함수의 시작 부분
» 함수의 입/출력 정보와 함수의 쓰임새 정보
– 3. 문장 작성 바로 뒤 부분
» 해당 문장의 의미가 분명하기 않을 경우 설명을 위해
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
7
C언어 구성 요소의 의미

2. 식별자
 프로그램 안에서 사용자가 만들어내는 이름을 지칭
 변수, 함수, 상수의 이름
 식별자 작성 규칙
–
–
–
–
1)
2)
3)
4)
영문자와 숫자 그리고 밑줄( _ )를 이용하여 구성한다.
시작은 문자나 _ 로 시작해야 한다.
식별자 크기는 제한이 없지만 8자리까지만 유효하다.
영문 대/소문자를 구별한다.
 예제
–
–
–
–
max, Max, MAX
happy_Bus
isHome?
-display
(
(
(
(
O
_____
O
_____
X
_____
X
_____
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
),
),
),
),
_sBs
2ndValue
HI_5
number#5
(
(
(
(
_____
O
_____
X
_____
O
_____
X
)
)
)
)
8
C언어 구성 요소의 의미

3.예약어
 C언어에서 미리 규정된 단어로 특별한 목적을 위해 사용
 사용자가 임의대로 식별자 이름 사용 금지
 ANSI 표준 C 예약어
auto, double, int, structure, 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
 많은 다른 컴파일러들인 자신들에 추가된 예약어 존재
 #으로 시작하는 프리프로세스 역시 식별자로 사용할 수
없다.
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
9
C언어 구성 요소의 의미

4.상수
 데이터 값을 표현
 상수의 종류 – 5가지 (정수,실수,문자,문자열,기호)
– 정수 상수
» 소수점이 없는 수치로 8진수,10진수,16진수 형태로 펴현
» 8진수 : 023, 10진수 : 34, 16진수 : 0x3A1
– 실수 상수
» 실수 값 표현으로 두가지 형태 존재
» 실수 형식 : 3.14159
지수 형식 : 1.3e-4
– 문자 상수
» 하나의 문자 표현, 단일 인용부호(' ')에 포함
» 예> 'A', 'b', '3'
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
10
C언어 구성 요소의 의미

4.상수(계속)
 상수의 종류
– 문자열 상수
» 문자들의 집합으로 이중 부호(" ")안에 표현
» 예> "Hi everyone!"
» 메모리 저장 형태
H
i
e
v
e
r
y
o
n
e
!
\0
» 문자열은 자동적으로 마지막에 '\0'(널문자)를 포함하여 저장
– 기호 상수
» #define 문에 의해 정의된 상수
» 상수 값에 의미를 부여하고 싶을 경우에 사용
» 예> #define PI 3.1415914
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
11
C언어 구성 요소의 의미

5.연산자
 특수한 의미를 가지는 문자
 연산자의 종류 (3장에서 다룸)
–
–
–
–

산술(+, - , *, /)
논리(&&, ||, !)
관계( >, <, >=, <=, !=, ==)
할당(=)연산자 등등…
6.분리자
 문장,단어들을 구분하고 요소들을 그룹화하기 위해 사용
 분리자의 종류
– ()
–;
: 요소들의 그룹
: 문장 단위 구분
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
{}
,
: 블록을 구분
: 단어의 구분
12
실습시간 – 1 교시
C 프로그래밍 과 구성요소
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
13
C 프로그래밍과 구성요소

학습개요
 예제를 통한 프로그램의 구성요소 분석
 프로그램의 코드 분석을 통해 구성요소 식별
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
14
C 프로그래밍과 구성요소

C 프로그램 구성요소 분석하기

문제
 사각형의 높이와 길이가 주어질 때 이 사각형의 둘레와 면적을
구하는 프로그램
 1 단계
– 39페이지의 코드부분의 빈 공간을 완성하여 프로그램 작성
 2 단계
– 컴파일 후 에러 발생 위치 찾고 수정
 3 단계
– 프로그램의 요소를 분류하여 작성
 4 단계
– 프로그램 저장 후, 빌드 그리고 실행
 5 단계
– 사각형의 높이를 345.4로 폭을 230.7로 입력한 후 결과 확인
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
15
C 프로그래밍과 구성요소

문제에 대한 해답





①.
②.
③.
④.
⑤.
–
–
–
–
–
–
main()
scanf("%f %f", &width, &length);
%f
%f
프로그램 요소 분류
주석: 01~03/* */과 05, 07, 08, 09 11, 12, 14, 16의//부분 총: 9개
식별자 : 변수이름 예> width, length
예약어 : 미리정의된 언어 예>float, void 등
상수 : 실제 값 예>2
연산자 : + - = 등
분리자 : 문자이나 단어 사이의 분리 예> , ; {}
 ⑥. 1152.199951
 ⑦. 79683.781250
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
16
실습시간 – 2 교시
구성 요소 활용
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
17
구성 요소 활용

학습개요
 확장된 프로그램 구조 분석
 파지의 크기와 가격 계산 프로그램
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
18
구성요소 활용

C 프로그램 구성 요소 활용하기

문제
 가격대비 피자의 크기 계산
 피자의 직경(단위:cm)과 가격이 주어질 때 피자의 크기
계산
 단위(cm)크기 당 가격 계산

입/출력 설계
 입력 : 1.

2.
 출력 : 1.

2.
피자의 직경 (단위 : cm [centimeter] )
피자의 가격 (단위 : 원)
입력된 직경에 대한 피자의 크기
10 cm 당 피자의 가격
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
19
구성요소 활용

관련 함수 및 식
 입력 함수 : scanf()
 출력 함수 : printf()
 피자의 직경을 알고 있는 상태에서 크기 구하는 식
S=

 X D2 {S : Size , D : Diameter}
4
알고리즘
 1. 피자의 직경과
 2. 피자의 직경에
 3. 계산된 결과를
계산한다.
 4. 계산된 결과를
가격을 입력 받는다.
대한 피자의 크기를 계산한다.
이용해 10cm당 피자의 크기를
화면상의 출력한다.
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
20
구성요소 활용

프로그램 작성
 42페이지의 프로그램을 빈 공간을 포함하여 작성하여라.

프로그램 테스트
 프로그램 작성이 정상적으로 완료된 후 다음과 같은
입력에 대한 결과를 작성해 보자!
종
류
입력 데이터
소형 피자
직경 : 25cm
가격 : 7,000원
중형 피자
직경 : 35cm
가격 :10,000원
대형 피자
직경 : 55cm
가격 : 15,000원
⑤출력 결과
피자크기:___________________
10cm 당 가격:__________________
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
21
구성요소 활용

문제에 대한 해답





①.
②.
③.
④.
⑤.
&diameter
PI * (diameter * diameter) / 4;
( pizza_size / price ) * 10;
diameter, pizza_size, pizza_size, price, price_per_10cm
출력 결과
– 소형 피자 : 피자의 크기 : 490.87 , 10cm당 가격 : 0.70
– 중형 피자 : 피자의 크기 : 962.11 , 10cm당 가격 : 0.96
– 대형 피자 : 피자의 크기 : 2375.82 , 10cm당 가격 : 1.58
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
22
C 언어 프로그램 기본 요소들
The End.
최신 C 프로그래밍 언어 – 문제해결에서 프로그래밍까지
23