슬라이드 제목 없음

Download Report

Transcript 슬라이드 제목 없음

처음으로 배우는 C 프로그래밍
제1부 기초
제1장 시작하기
2
프로그래밍 소개
• 컴퓨터
– 자동차, 냉장고와 같은 기계장치
• 컴퓨터 프로그램
– 컴퓨터가 특정한 결과를 만들어 내도록 하기 위해 나열된 일련의 명령어
들의 집합
• 컴퓨터 프로그램의 수행과정
Input Data
Process Data
처음으로 배우는 C 프로그래밍 제1
Output Data
3
프로그래밍 소개
• 프로그래밍
– 컴퓨터가 응답할 수 있고 다른 프로그래머들이 이해할 수 있는 언어를
사용하여 명령어들을 작성하는 과정
• 프로그래밍 언어
– 프로그램을 작성하는데 사용되는 명령어의 집합
• 프로그래밍 언어의 종류
–
–
–
–
–
FORTRAN(FORmula TRANslation)
COBOL(COmmon Business Oriented Language)
BASIC(Beginners All-purpose Symbolic Instruction Code)
Pascal, C 언어
C++, JAVA
처음으로 배우는 C 프로그래밍 제1
4
프로그래밍 소개
• 알고리즘
– 프로그래머는 프로그램을 작성하기 전에 원하는 결과 뿐 아니라 어떻게
그러한 결과를 만들어 낼 것인가를 명확히 이해하고 있어야 함.
– 어떻게 계산을 수행할 것인가를 단계적으로 기술하는 명령어들의 모임
– 실제 프로그램을 작성하기 전에 작성
– 그림 1.4 참조
• 알고리즘을 표현하는 방법
– 의사코드(pseudo code)
– 순서도(Flowchart)
처음으로 배우는 C 프로그래밍 제1
5
의사코드
• 컴퓨터로 세 숫자를 입력 받는다.
• 숫자를 더하고 그 합을 3으로 나누어서 평균을 계산한다.
• 평균을 표시한다.
처음으로 배우는 C 프로그래밍 제1
6
Flowchart for Calculating the Average of Three Numbers
Start
Input
three
values
Calculate
the average
Display
the average
End
처음으로 배우는 C 프로그래밍 제1
7
Flowchart Symbols
SYMBOL
NAME
DESCRIPTION
Terminal
Indicates the beginning or end of an algorithm
Input/Output
Indicates an input or output operation
Process
Indicates computation or data manipulation
Flow Lines
Used to connect the flowchart symbols and indicate the
logic flow
Decision
Indicates a decision point in an algorithm
Loop
Indicates the initial, final, and increment values of a
loop
Predefined Process
Indicates a predefined process, as in calling a sorting
process
Connector
Indicates an entry to or exit from another part of the
flowchart
처음으로 배우는 C 프로그래밍 제1
8
프로그래밍 소개
• 코딩
– 알고리즘을 컴퓨터 프로그램으로 변환하는 과정
• 프로그램 번역
– 원시 프로그램(C 프로그램 등등)을 0과 1로 구성되는 컴퓨터 기계어로
바꾸는 것
– 인터프리터형 언어
• 원시 프로그램에서 각 문장이 개별적으로 번역되어 즉시 실행되는 것
• 인터프리터 : 번역을 수행하는 프로그램
• BASIC
– 컴파일러형 언어
• 원시 프로그램의 모든 문장이 번역된 후에 실행되는 프로그래밍 언어
• 컴파일러 : 번역을 수행하는 프로그램
• C, Pascal, C++
처음으로 배우는 C 프로그래밍 제1
9
모듈 소개
• 모듈
– 특정 작업을 수행하기 위해 설계되고 개발되어지며, 실제 그 자체가 하
나의 작은 부 프로그램
Data In
Operations
on the Data
Result Out
A Module Must Accept
Data, Process the Data,
and Produce a Result
처음으로 배우는 C 프로그래밍 제1
10
모듈 소개
• 모듈러 프로그램
– 프로그램을 관련된 부분(모듈)들로 구성
– 어느 하나의 모듈이 작성되기 전에 전체 프로그램을 먼저 설계가 가능
Module 1
Module 2
Module 4
Module 3
Module 5
Module 6
처음으로 배우는 C 프로그래밍 제1
A Well-Designed
Program is Built
Using Modules
11
함수 소개
• 함수
– 입력 받은 데이터를 완성된 결과로 만들어 내는 작은 기계
– 외부로부터 함수로의 인터페이스는 입력과 출력
– 함수 안의 내용은 캡슐화되어 숨겨짐
• 함수의 예
First
Second
Number Number
A*B
A Multiplying function
Result
처음으로 배우는 C 프로그래밍 제1
12
함수 소개
• 함수에 사용 가능한 이름(식별자)
–
–
–
–
–
–
–
–
문자, 숫자, 밑줄문자의 조합으로 구성
첫 문자는 문자이거나 밑줄문자
공백 문자 사용 불가
키워드 사용 불가(표 1-2 참조)
31문자 이상 사용 불가
기억하기 용이해야 함
소문자로 이루어짐
끝에 반드시 괄호()가 있어야 함
• 함수 식별자의 예
– grosspay, tax_calc, add_nums, deg_to_rad, mult_two
– 틀린 예 : 1AB3, E*6, while
처음으로 배우는 C 프로그래밍 제1
13
main() 함수(구동함수)
• 모든 C 프로그램은 반드시 main()이라 불리는 함수를 하나씩 가져야
만함
• 컴파일러에게 어디서 프로그램 실행이 시작될 것인지 알려 줌
• 다른 함수들이 어떠한 순서로 수행될 것인지를 알려 줌
We Need Some
Order Here!
처음으로 배우는 C 프로그래밍 제1
14
main() 함수(구동함수)
main()
You go first
I’m done
gross_pay( )
The Function
name
You go second
I’m done
I’m done
{
taxes( )
You go third
net_pay( )
gross_pay( );
taxes( );
net_pay( );
output( );
The Function
body
}
You go last
I’m done
Main()
output( )
The main() Function Controls
All Other Functions
A Sample main( ) Function
처음으로 배우는 C 프로그래밍 제1
15
printf() 함수
• 주어진 데이터를 시스템 표준 표시 장치로 보내는 출력함수
Entrance to a Function
printf (
{
}
)
Body of Function
passing a Message to printf( )
처음으로 배우는 C 프로그래밍 제1
16
printf() 함수
• 프로그램 1-1
#include <stdio.h> /* printf 함수를 사용할 수 있도록 하는 전처리 문 */
void main(void) / * 함수의 헤더 열, 반환값의 형, 함수명, 입/출력인수 */
{
/* 함수의 시작 */
printf(“hello there world!”); /* hello there world!를 인수로 printf() call */
}
/* 함수의 끝 */
• 프로그램 1-2
#include <stdio.h>
void main(void)
{
printf(“Computers, compurters everywhere”);
printf(“\n as far as I can C”);
}
처음으로 배우는 C 프로그래밍 제1
17
프로그래밍 형태
• 프로그램의 형태
– 한 프로그램은 단 하나의 시작점을 갖기 때문에 모든 C 언어 프로그램은
하나의 main()함수를 포함해야 함
– main()함수를 구성하는 모든 문장은 { }사이에 포함
– 모든 문장은 세미콜론(;)으로 끝나야 함
– 하나 이상의 문장이 한 줄에 놓일 수 있음
– 한 문장이 여러 줄에 걸쳐 작성될 수 있음
– 이중 따옴표, 함수 이름, 예약어에 포함된 공백을 제외하고 모든 공백은
무시됨
– 들여쓰기를 적절히 사용해야 함
• 주석
– 프로그램 내에 존재하는 설명문
– /* 이것은 주석문 입니다. */
처음으로 배우는 C 프로그래밍 제1
18
기본 프로그래밍 형태
• 프로그램 1-3
#include <stdio.h>
void main(void) /* this program prints a message */
{
printf(“Hello there world!”); /* a call to printf() */
}
처음으로 배우는 C 프로그래밍 제1
19
하향식(Top-Down) 프로그램 개발
•
•
•
•
1, 2 단계 : 프로그램 분석단계
3단계 : 설계 단계
4단계 : 코딩 단계
5단계 : 테스트 단계
• 5단계 하향식 프로그램 방법
– 1단계 : 원하는 출력 결정
– 2단계 : 입력 항목 결정
– 3단계
• a : 알고리즘 결정
• b : 수작업 계산
– 4단계 : 프로그램 작성
– 5단계 : 출력 테스트
처음으로 배우는 C 프로그래밍 제1
20
모듈과 하향식 설계
Inventory
control
program
Inventory
control
program
Data
entry
section
Calculation
section
Report
section
Data
entry
section
First-Level structure diagram
Enter
data
Modify
data
Calculation
section
Delete
data
Report
section
Screen
reports
Printed
reports
Second-Level Refinement Structure Diagram
처음으로 배우는 C 프로그래밍 제1
21
일반적인 프로그래밍 오류
• main 뒤에 괄호를 생략하는 경우
• 함수 본체의 시작을 나타내는 중괄호를 생략하거나 잘못 입력하는
경우
• 함수의 끝을 나타내는 중괄호를 생략하거나 잘못 입력하는 경우
• 함수의 이름을 잘못 쓰는 경우 printf() -> print()
• printf()에서 이중 따옴표 없이 메시지를 사용하는 경우
• 각 문장의 끝에 세미콜론을 빠뜨리는 경우
• 새로운 줄을 나타내는 \n을 빠트리는 경우
처음으로 배우는 C 프로그래밍 제1
22
요약
•
•
•
•
기본적인 용어(프로그램, 프로그래밍 언어 등등)
C 프로그램의 기본 형태
표준출력함수 printf()
5단계 하향식 프로그램 작성 방법
처음으로 배우는 C 프로그래밍 제1