24
1 01 C 프로그래밍 첫걸음

01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

1

01 C 프로그래밍 첫걸음

Page 2: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 2/24

C 언어의 역사

B 언어에서 발전 C 언어는 켄 톰슨(Ken Tompson)이 개발한 B 언어에서 발전된 언어

AT&T의 벨 연구소의 데니스 리치(Dennis Ritchie)가 개발

C 언어가 영향을 준 언어 C++ 자바 C#

Page 3: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 3/24

C 프로그램 개발 환경

Visual C++ Visual C++는 MS 사의 대표적인 통합개발환경 프로그램 언어 C/C++를 이용하여 응용 프로그램을 개발 Visual C++는 현재 MS의 개발 도구인 MS Visual Studio .Net의 한 제품으로 판매

Eclipse CDT 이클립스 컨소시엄이 개발한 유니버셜 도구 플랫폼

Dev–C++ 완전 무료인 Dev-C++는 유닉스 운영체제용 컴파일러인 GCC를 포함하여 배포하는 통합개발환경

Page 4: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 4/24

C 프로그램 개발 과정

컴파일, 링킹, 실행 과정

Page 5: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 5/24

Visual C++ 실행

실행 파일 실행

Page 6: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 6/24

소스 작성

소스와 폴더 지정

Page 7: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 7/24

첫 프로그램

first.c main의 철자와 대소문자를 구분하여 정확히 작성

Page 8: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 8/24

컴파일

목적파일 생성

Page 9: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 9/24

링킹

실행 파일 생성

Page 10: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 10/24

실행

결과가 없는 프로그램

Page 11: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 11/24

문장 출력 프로그래밍

원하는 문장 출력 자신의 이름과 수강강좌를 출력하는 프로그램

나는 홍 길동이고 C 프로그래밍 언어를 수강합니다.

Page 12: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 12/24

프로젝트를 이용한 프로그래밍

프로젝트 하부에 소스 작성 프로젝트를 생성할 기본 폴더 : [I:\C source\] 프로젝트 이름 : myname 소스 파일 이름 : myname.c

Page 13: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 13/24

소스 작성

파일 myname.c

Page 14: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 14/24

컴파일, 링킹, 실행

아이콘을 이용

Page 15: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 15/24

C 프로그램의 이해 주석 (Comments)

소스의 첫 줄에 보이는 /* … */을 주석(Comments) 프로그램 언어의 문법과는 관계없는 프로그램 설명 문장

전처리기 지시자(Preprocessor directives) #으로 시작하는 문장 컴파일 하기 전에 먼저 처리해야 할 일을 수행하도록 명령을 내리는 문장

문장 #include는 다음에 나오는 헤더 파일(header file)을 이 문장이 있는 부분에 삽입하는 역할을 수행

/* myname.c */

#include <헤더파일이름>

Page 16: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 16/24

프로그램의 이해 1

main 함수 함수 main()은 C 언어에서 프로그램이 시작되는 함수 프로그램이 실행되려면 프로그램은 반드시 main() 함수를 가져야 함

함수 main()에서 기술되는 단어인 int, main, void는 모두 소문자로 대소문자를 구분하여 정확히 기술

int main(void) { … }

int 와 main 사이의 공백은 단어를 구별하는 중요한 의 미가 있으므로, 하나 이상의 공백은 반드시 필요.

집합기호 {, }는 반드시 있어야 하며, 이는 main() 함수의 시작과 끝을 의미한다.

Page 17: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 17/24

프로그램의 이해 2 printf 함수

표준출력으로 출력을 하기 위한 함수

이 함수는 함수 이름인 printf 이후의 ( ) 사이에 큰 따옴표 “…” 로 둘러싸인 문자열을 출력하는 역할을 담당

세미콜론은 C 언어에서 문장의 마지막에 반드시 나와야 하는 문자 문자열(String)

문자열을 구성하려면 문자열을 큰 따옴표로 앞과 뒤를 둘러싸야 함 문자열에서의 \n

\n 의 의미는 \n이 나타나는 이후에는 새로운 줄에 출력하라는 의미

printf(“나는 홍 길동이고 C 프로그래밍 언어를 수강합니다 .\n");

printf("나는 홍 길동이고 "); printf(" C 프로그래밍 언어를 수강합니다.\n");

Page 18: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 18/24

에러 수정 에러

프로그램 과정에서 나타나는 문제 에러는 크게 컴파일 시간에 발생하는 에러와 실행 시간에 발생한 에러로 구분

디버깅 컴파일 에러나 실행 에러를 수정하는 과정을 디버깅(debugging)

• 디버깅이란 버그를 잡는다는 의미로 여기서 버그란 바로 에러를 의미

Page 19: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 19/24

디버깅 예제 프로그램 목적

본인의 정보, 즉 이름, 학과, 수강강좌를 세 줄에 출력하는 프로그램

다음 소스와 오류 에러 메시지를 자세히 읽어 에러를 수정

메시지의 이해

에러 메시지 에러 번호 에러가 발생한 파일 이름 과 줄 번호

Page 20: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 20/24

링킹 오류 잘못된 단어 입력

Main으로 잘못 기술 컴파일은 성공하나 링킹에서 오류

Page 21: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 21/24

논리 에러

실행 실행에는 아무 문제가 없으나 처음에 의도한 결과(3줄의 정보가 나오는 것)와 다름

논리 에러(Logic Error) 컴파일과 실행에는 문제가 없으나 원하는 결과가 나오지 않은 것도 하나의 에러

에러수정 소스 8줄에서 \t를 \n으로 수정

• \t : 수평 탭 만큼의 이동 • \n : 다음 줄로의 이동

Page 22: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 22/24

수정된 프로그램

바른 결과

디버깅 과정 중 5가지 수정

Page 23: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 23/24

프로그래밍 실습 프로그램 목적

다음과 같은 문장을 출력하는 프로그램을 작성 파일 구성

프로그램 저장 장소 : D:\C source 폴더 프로젝트 이름 : mylang 소스 파일 이름 : mylang.c

Page 24: 01 C 프로그래밍 첫걸음 - dongyang.ac.krocw.dongyang.ac.kr › cms_ocw › internet › 8822 › note › 5_02.pdf · 소스 8줄에서 \t를 \n으로 수정 • \t : 수평

Perfect C 24/24

소스

수정 전 수정 후