slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Chapter 2 PowerPoint Presentation
Download Presentation
Chapter 2

Loading in 2 Seconds...

play fullscreen
1 / 38

Chapter 2 - PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on

Chapter 2. 기 초 사 항. 목차. 2.1 첫 번째 프로그램 2.2 화면 출력 2.3 연산이 있는 프로그램 2.4 입력과 출력이 있는 프로그램 2.5 오류 수정 및 디버깅 2.6 응용 프로그램. 2.1 첫 번째 프로그램. 주석. 헤더파일 포함. 함수의 시작. 실행되는 문장. 함수의 종료. 2.1.1 주석 (Comment). 주석 (Comment) : 프로그램에 대한 설명 /* 한 줄로 된 주석 */ /* 여러 줄로 된 주석 */ 이중 슬래시를 이용한 편리한 주석

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Chapter 2' - keely


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Chapter 2

기 초 사 항

slide2
목차

2.1 첫 번째 프로그램

2.2 화면 출력

2.3 연산이 있는 프로그램

2.4 입력과 출력이 있는 프로그램

2.5 오류 수정 및 디버깅

2.6 응용 프로그램

slide3
2.1 첫 번째 프로그램

주석

헤더파일 포함

함수의 시작

실행되는 문장

함수의 종료

2 1 1 comment
2.1.1 주석(Comment)
  • 주석(Comment) : 프로그램에 대한 설명
    • /* 한 줄로 된 주석 */
    • /* 여러

줄로

된 주석 */

  • 이중 슬래시를 이용한 편리한 주석
    • // 이 줄은 전체가 주석
    • printf(“Hello World!”); // 문자열을화면으로 출력
2 1 2
2.1.2 헤더 파일 포함
  • #include <stdio.h>
    • #include는 소스 코드 안에 특정 파일을 현재의 위치에 포함
    • 헤더 파일(header file) : 컴파일러가 필요로 하는 정보를 가지고 있는 파일
    • stdio.h : STanDart Input Output Header file
    • 전처리기 지사자 문장 끝에는 세미콜론을 붙이지 않음

stdio.h

int printf(char *,...);

printf()문은 stdio.h 헤더

파일 안에 원형이 있어

stdio.h 헤더 파일을 포함

하면 곧바로 호출 해서 사용

가능

2 1 3
2.1.3 줄 바꿈 및 들여쓰기

줄 바꿈을 하여 의미

별로 구분

같은 내용의 처리이면 탭이나

공백을 넣어 들여쓰기를

하는 것이 효과적

좋은 방법

나쁜 방법

2 1 4
2.1.4 함수
  • 함수(function) : 특정한 작업을 수행하기 위하여 작성된 독립적인 코드

3

7

int add (int x, int y)

{

int sum;

sum = x + y;

return sum;

}

10

함수

※ 함수는 특정한 작업을 수행하기 위하여 main()함수 바깥 부분에 정의

미리 정의된 함수의 원형을 프로토타입이라고 함

add()

2 1 41
2.1.4 함수

모든 C 프로그램에는 반드시 하나의 main() 함수가 있어야 함

입력은 없음

int main(void)

{

printf(“Hello World!”);

return 0;

}

출력은 int형

함수의 출력 타입

0

함수의 이름

함수의 입력 타입

int

main

(

void

)

함수의 시작

{

printf(“Hello World!”);

main()

함수의 몸체

return 0;

}

함수의 끝

2 1 5

운영 체제

main()

printf(“Hello World!”);

return 0;

운영 체제

2.1.5 문장
  • 함수는 여러 개의 문장으로 구성
  • 문장들은 순차적으로 실행
  • 문장은 『;』(세미콜론)으로 끝남

printf(“Hello World!”);

printf()함수를 호출하여

콘솔 화면에 Hello World!를

출력하는 문장

return 0;

main함수가 작업을 끝내고

OS에게 0값을 반환하는 문장

main함수가 0을 반환하면

프로그램이 정상적으로

종료하였음을 나타냄

slide10
2.2 화면 출력
  • printf()는 컴파일러가 제공하는 함수로서 화면에“ ”안의 내용을 출력
2 2 1
2.2.1 줄 바꿈 기호

다음과 같은 출력을 하는 프로그램

문장은 순차적으로 실행된다는 사실을 이용

printf()문을 2번 사용하여 프로그램 작성

원하는 결과가 아님

2 2 11
2.2.1 줄 바꿈 기호
  • \n은 화면에서 커서는 다음 줄로 이동
    • \n처럼 역슬래시(\)가 먼저 나타나면 특별한 의미를 지님
    • \n은 줄 바꿈(new line)을 의미

현재 커서의 위치.

다음 문자를 표시할 때는

이곳부터 시작

2 2 12
2.2.1 줄 바꿈 기호
  • 줄 바꿈 문자를 사용하면 원하는 결과를 얻을 수 있음
2 2 2

데이터입력

데이터처리

결과출력

2.2.2 일반적인 프로그램의 형태
  • 프로그램 실행의 단계
    • 데이터 입력(입력단계)
    • 데이터 처리(처리단계)
    • 결과를 화면에 출력(출력단계)
slide15

주석

/* 두개의숫자의합을계산하는프로그램*/

#include <stdio.h>

int main(void)

{

int x;// 첫번째정수를저장할변수

int y;// 두번째정수를저장할변수

int sum; // 두정수의합을저장하는변수

x = 100;

y = 200;

sum = x + y;

printf("두수의합: %d", sum);

return 0;

}

전처리기

지시어

변수선언

함수

문장

연산

2.3 연산이 있는 프로그램
2 3 1
2.3.1 변수
  • 프로그램이 사용하는 데이터를 일시적으로 저장할목적으로 사용하는 메모리 공간

int x; // 첫번째 정수를 저장하는 변수

int y; // 두번째 정수를 저장하는 변수

int sum;// 두 정수의 합을 저장하는 변수

그릇 = 변수

프로그램

2 3 11
2.3.1 변수
  • 변수는 데이터를 담는 상자로 생각할 수 있음
    • 변수에는 데이터의 종류에 따라 여러 가지 타입이 존재

데이터

변수의 이름

2

‘A’

12

12.345

Number

2 3 12
2.3.1 변수
  • 식별자(identifier): 변수나 함수의 이름
  • 식별자를 만드는 규칙
    • 식별자는 영어의 대소문자, 숫자, 밑줄 문자 『_』 로 구성
    • 식별자는 숫자로 시작할 수 없음
    • 대문자와 소문자를 구별하며 C 언어의 키워드와 똑같은 이름은 사용 불가
  • 식별자의 예
    • s, s1, student_number: 올바른 식별자
    • $s, 2nd_student, int: 잘못된 식별자

‘A’

12

12.345

ch

i

fvalue

2 3 2
2.3.2 변수 선언
  • 변수 선언: 컴파일러에게 어떤 타입의 변수가사용되는지를 미리 알리는 것

int x;

int x;

int y;

int sum;

변수의 이름

자료형

컴파일러

2 3 21
2.3.2 변수 선언
  • 자료형(data type):변수가 저장할 데이터가 정수인지,실수인지, 아니면 또 다른 어떤 데이터인지 지정하는 것
2 3 22
2.3.2 변수 선언

int x; // 첫번째 정수를 저장하는 변수

int y; // 두번째 정수를 저장하는 변수

int sum;// 두 정수의 합을 저장하는 변수

정수

각 변수에는 정수를 저장

y

sum

x

메모리 공간에 변수가 만들어지고 이름이 붙여짐

2 3 3
2.3.3 상수
  • 상수(constant)란 그 값이 프로그램이 실행되는 동안변경 할 수 없는 값

x를 상수로 선언했기 때문에

값을 변경하려 하면 컴파일시

에러 발생

※ C언어에서 『=』는 수학적인 등호가 아님

2 3 4
2.3.4 산술 연산
  • 컴퓨터는 기본적으로 계산을 하는 기계
    • 프로그램 안에서 산술 연산을 할 수 있다는 것은 당연

2

x

5

sum = x + y;

3

=

+

sum

y

2 3 5
2.3.5 변수 값 출력
  • printf()는 모니터에 출력을 하기 위한 표준 출력라이브러리 함수
    • printf(“형식 제어 문자열”, 변수);
    • printf(“%d”, sum);
slide25
2.4 입력과 출력이 있는 프로그램
  • 고정된 값이 아닌 입력 받은 값으로 연산하는 프로그램

시작

첫 번째 숫자를 입력하시오: 10

두 번째 숫자를 입력하시오: 20

두개의 정수를

입력 받음

입력단계

두 개의 정수를

더하여 합을 계산

처리단계

합을

화면에 출력

두 수의 합: 30

출력단계

종료

2 4 1 scanf
2.4.1 scanf()
  • scanf()함수는 키보드로부터 입력된 데이터를 지정된형식으로 변수에 저장하는 라이브러리 함수
    • scanf(“%○ %○ ...”, &변수1, &변수2, ...);
    • 형식지정자와 변수의 개수는 같아야 함
    • scanf(“%d %f”, &number, &height);

※ number라는 int변수와 height라는 float변수에 값을 입력 받는 방법

    • scanf(“%d , %f”, &number, &height);

scanf() 함수에 의한 입력 값은

100 , 12.345 처럼“ ”안의 형식대로

입력해야 함

slide28
2.5 오류 수정 및 디버깅
  • 에러(error)와경고(warning)
    • 에러(error) : 심각한 오류

에러가 검출되면 컴파일, 링크 불가

    • 경고(warning) : 경미한 오류

경고가 검출되면 컴파일, 링크 및 실행도 가능하지만 잠재적인 문제를일으킬 우려가 있음

  • 오류의 종류
    • 컴파일 시간 오류 : 대부분 문법적인 오류
    • 실행 시간 오류 : 실행되는 도중에 발생하는 오류
    • 논리 오류 : 논리적으로 잘못되어서 의도한 결과가 나오지 않는 오류
2 5 1
2.5.1 오류 메시지의 분석

에러가

발견된

소스

파일명

의미

앞에

빠뜨렸다는

return

;

Compiling...

test.c

c:

\

cprogram

\

test

\

test.c(7) : error C2143: syntax error : missing ';' before 'retu

rn'

Error executing

cl.exe

.

문법적인

오류

에러가

발견된

라인의

번호

(syntax error)

있었음을

나타냄

2 5 2

컴파일러

(compiler)

링커

(linker)

실행

(execution)

소스파일

test.c

오브젝트

파일

test.obj

실행파일

test.exe

ERROR!!

실행 시간 오류

컴파일 시간 오류

논리 오류

2.5.2 오류 수정 과정
  • 오류 수정 과정
2 5 21
2.5.2 오류 수정 과정
  • 오류 1

/* 에러가 발생하는 프로그램 */

#include <stdio.h>

int main(void)

{

printf("Hello World!\n")

return 0;

}

문장의 끝에 『;』이 없음!!

--------------------Configuration: test - Win32 Debug--------------------

Compiling...

test.c

C:\PROJECT\test\test.c(7) : error C2143: syntax error : missing ';' before 'return'

Error executing cl.exe.

test.exe - 1 error(s), 0 warning(s)

2 5 22
2.5.2 오류 수정 과정
  • 오류 2

/* 에러가발생하는프로그램* /

#include <stdio.h>

int main(void)

{

printf("Hello World!\n")

return 0;

}

『*』과 『/』이 떨어져 있음

전체가 주석 처리됨

--------------------Configuration: test - Win32 Debug--------------------

Compiling...

test.c

c:\project\test\test.c(9) : fatal error C1071: unexpected end of file found in comment

Error executing cl.exe.

test.exe - 1 error(s), 0 warning(s)

2 5 23
2.5.2 오류 수정 과정
  • 오류 3

/* 첫번째프로그램*/

#include <stdio,h>

int main(void)

{

print("Hello World!");

return 0;

}

stdio.h로

적어주어야 됨

--------------------Configuration: test - Win32 Debug--------------------

Compiling...

test.c

c:\project\test\test.c(2) : fatal error C1083: Cannot open include file: 'stdio,h': No such file or directory

2 5 24
2.5.2 오류 수정 과정
  • 오류 4

print가

아니고

printf

/* 첫번째프로그램*/

#include <stdio.h>

int main(void)

{

print("Hello World!");

return 0;

}

-------------------Configuration: test - Win32 Debug--------------------

Compiling...

test.c

C:\CPROGRAM\test\test.c(6) : warning C4013: 'print' undefined; assuming extern returning int

Linking...

test.obj : error LNK2001: unresolved external symbol _print

Debug/test.exe : fatal error LNK1120: 1 unresolved externals

Error executing link.exe.

test.exe - 2 error(s), 1 warning(s)

slide35
2.6 응용 프로그램
  • 연봉 계산 프로그램
    • 10년 동안 월급을 모두 저금할 경우, 얼마나 모을 수 있는지 계산하는프로그램 (단 이자는 생각하지 않음)
slide36
2.6 응용 프로그램
  • 원의 면적 구하기 프로그램
    • 원의 반지름을 입력 받고, 이 원의 면적을 구한 후 화면에 출력해 주는프로그램
slide37
2.6 응용 프로그램
  • 원 달러 환율 계산 프로그램
    • 원 달러 환율과 한화 금액을 입력하면 몇 달러인지 계산해서 화면에출력해주는 프로그램