Presentation is loading. Please wait.

Presentation is loading. Please wait.

Part 02 C 언어 개요 안산1대학 디지털정보통신과 임 성 국.

Similar presentations


Presentation on theme: "Part 02 C 언어 개요 안산1대학 디지털정보통신과 임 성 국."— Presentation transcript:

1 Part 02 C 언어 개요 안산1대학 디지털정보통신과 임 성 국

2 이 장의 내용 C 언어 소개 간단한 C 프로그램 Microsoft Visual C++ IDE 프로그래밍 환경
표준출력 함수 printf

3 2.1 C 언어 소개

4 C 언어 유래 1972년 Dennis Ritchie가 설계함 C 언어에 직접 영향을 준 언어들 특징
UNIX 운영체제 개발에 사용됨 C 언어에 직접 영향을 준 언어들 Algol  CPL  BCPL  B  C 특징 구조화된 언어로서 모듈별 설계가 가능하다. 이식성이 높다(다양한 하드웨어에서 사용 가능). 효율적이다(처리속도가 빠르다). 다양한 연산자를 제공한다. 동적 메모리 관리가 가능하다. 믿거나 말거나… C 언어는 구형 컴퓨터에서 게임을 하기 위해 개발했다는 전설이 있음

5 C 언어의 철학 및 강점 C 언어의 설계 철학: 간결성 C 언어의 강점 i = i + 1; 보다는
다양한 플랫폼에서 사용 가능 매우 이식성이 높기 때문에… 어셈블리어에 대한 대안 C의 역사를 생각해 보자  device driver 프로그램에 매우 적절함 꽤 쉬우면서도 빠르다! 고급 언어의 특성(쉬움)과 저급 언어의 강점(빠름)을 겸비

6 2.2 간단한 C 프로그램

7 간단한 C 프로그램(hello.c) 실행결과: Hello, World !

8 C 컴파일러 컴파일러란? 컴파일러 종류 통역사(사람과 컴퓨터 사이의 통역 담당)
CPU는 C 프로그램을 모른다 CPU는 이진코드 형태의 기계어(machine language)만 안다 컴파일러 종류 상용 컴파일러: Microsoft Visual C/C++, Borland C/C++ 무료 컴파일러: 부록 B 참고 C 프로그램 int main… 컴파일러 기계어 프로그램 010101…

9 컴파일해 보자 Microsoft Visual C++ 통합개발환경 프로젝트 구성 창 편집 창 메시지 창

10 MSVC IDE에서 프로그램 개발하기 프로그램 개발 단계 프로젝트 만들기 파일 추가 프로그램 편집 컴파일&빌드 실행&디버깅

11 MSVC IDE: 프로젝트 만들기(1/5) File  New Location 선택 프로젝트 이름 입력 OK
Projects 탭에서 Win32 Console Application 선택 Location 선택 프로젝트 이름 입력 OK Finish & OK

12 MSVC IDE: 프로젝트 만들기(2/5) File  New Location 선택 프로젝트 이름 입력 OK
프로젝트를 저장할 폴더 선택 프로젝트 이름 입력 OK Finish & OK

13 MSVC IDE: 프로젝트 만들기(3/5) File  New Location 선택 프로젝트 이름 입력 OK
Hello OK Finish & OK

14 MSVC IDE: 프로젝트 만들기(4/5) File  New Location 선택 프로젝트 이름 입력 OK
Win32 Console Application 선택 Location 선택 프로젝트 이름 입력 OK Finish & OK

15 MSVC IDE: 프로젝트 만들기(5/5) Hello 프로젝트가 생성된 화면

16 MSVC IDE: 파일 추가(1/3) File  New 파일이름 입력 OK Files 탭에서
C++ Source File 선택 파일이름 입력 OK

17 MSVC IDE: 파일 추가(2/3) File  New 파일이름 입력 Add to project 확인 hello.c OK

18 MSVC IDE: 파일 추가(3/3) 소스파일 hello.c가 Hello 프로젝트에 추가된 화면

19 MSVC IDE: 파일 편집 편집 창에 프로그램 내용을 적어 넣는다.

20 MSVC IDE: 컴파일 및 빌드 컴파일: Build  Compile hello.c
실행파일(.exe) 빌드에 필요한 목적파일(.obj) 생성 빌드: Build  Build Hello.exe 필요한 목적파일이 없으면 해당 파일을 컴파일

21 MSVC IDE: 실행 및 디버깅 실행: Build  Execute Hello.exe 디버깅
프로그램 오류(bug)를 떼어 내는(de-) 과정 수행 결과가 이상하면 프로그램을 수정하고(디버깅) 컴파일&빌드, 실행 과정을 반복한다.

22 MSVC IDE: 컴파일 오류 수정 컴파일 시간 오류 프로그램 구문 오류로 인해 목적파일을 생성할 수 없는 상태

23 MSVC IDE: 비하인드 스토리 생성된 실행파일 Hello.exe를 찾아 보자! 프로젝트 폴더 찾기 앗, 이럴 수가!
프로젝트 생성 위치에 있음 잊은 사람은 다음부터는 프로젝트 생성위치를 잘 봐 두자! 앗, 이럴 수가! 프로젝트 폴더에 실행파일(*.exe)파일이 없네 Debug 폴더에 있음 비하인드 스토리

24 hello.c 분석 주석 전처리기 지시자 main 함수 라이브러리 puts 호출 라이브러리 puts 호출 운영체제에 0값 리턴

25 main의 리턴값 main의 반환 값은 항상 정수여야 함 따라서 int main()이라고 선언해 줌 비 표준 방법
void main() { }도 컴파일은 잘 됨 그러나 표준에 맞는 방법은 아님

26 2.3 프로그래밍 환경

27 소스파일에서 실행파일까지

28 명령줄 프로그래밍 환경 명령줄 프로그래밍 환경이란? 윈도우 명령창에서 프로그램을 개발하는 과정
필요한 프로그램을 별도로 실행시켜 프로그래밍 하는 환경 필요한 프로그램: 편집기, 컴파일러, 디버거 윈도우 명령창에서 프로그램을 개발하는 과정

29 명령줄 프로그래밍 환경 체험 PATH에 MSVC 경로 추가 내 컴퓨터(속성)  고급  환경변수  Path 편집
프로그램 편집 notepad hello.c 컴파일 cl hello.c 실행 .\hello.exe

30 2.4 더 간단한 C 프로그램

31 주석문 프로그램 내부에서 설명을 달아 주기 위한 문장. /* 으로 시작해서 */으로 끝낸다.
/* 으로 시작해서 */으로 끝낸다. 이 부분은 프로그램 컴파일 시에 생략된다. 즉, 프로그램에는 영향을 주지 않는다. C++ 의 주석은 ”//” 으로 시작할 수 있다. // 주석문이 들어가는 곳

32 main의 리턴값이 없으면? 리턴값이 없으므로 경고(warning)가 발생할 수 있다!

33 가장 간단한 C 프로그램 리턴 타입을 생략하면 int로 간주한다. 실행결과:

34 2.5 표준출력 함수 printf

35 printf를 이용한 Hello 개행문자(newline)가 출력되지 않았다.
출력 위치(output marker)가 다음 행으로 바뀌지 않았다.

36 출력위치 hello.c와 hello2.c의 출력을 비교해 보자 출력위치(output marker) 이유가 뭘까? 개행문자란?
개행문자(newline character) 위치에 주의 Press any key의 위치가 바뀌었다. 명령창에서 수행해 보자. 출력위치(output marker) 커서: 입출력 위치를 알리는 기호(네모 또는 밑줄) 커서 위치가 다른 것을 알 수 있음 이유가 뭘까? puts는 개행문자를 자동으로 삽입하지만 printf는 개행문자를 자동으로 삽입하지 않는다 개행문자란? 한 행의 끝을 알리는 제어문자

37 C 언어의 개행문자 \n으로 나타냄 이스케이프 시퀀스 두 개의 문자로 하나의 문자를 나타냄 특수문자를 나타내는 기법
\로 시작하는 문자들은 특별한 의미 일반적인 의미에서 탈피한 특별한 의미 그래서 이스케이프 시퀀스(escape sequence)라고 부름 \는 이스케이프 문자(escape character)라고 부름

38 개행문자를 출력하는 Hello 실행결과: Hello, World !

39 무료 C 개발환경 Gnu C 컴파일러를 기반으로 한 무료 개발환경이 있다. Dev C++
… GNU is not Unix. 소프트웨어의 자유(free)를 외치는 개발자 모임 GCC: Gnu C Compiler? Gnu Compiler Collection! Dev C++ BloodshedSoftware에서 개발한 무료 개발환경 MinGW Developer Studio Parinya Software에서 개발한 무료 개발환경

40 Key Point

41 Key Point 1 C 언어는 유닉스(Unix)라는 운영체제를 만들기 위해 개발되었다.
C 컴파일러는 C 프로그램을 기계어로 번역하여 실행파일을 만들어 준다. 통합개발환경은 편집기, 컴파일러, 디버거 등을 모두 모야서 같은 윈도우 내에서 사용할 수 있도록 한다. Microsoft Visual C++ IDE를 이용하여 C 프로그램을 실행하려면, 프로젝트 생성, 파일 추가, 프로그램 편집, 빌드, 실행 단계를 거쳐야 한다. 표준 입출력 프로그램을 ‘콘솔 프로그램(console application)'이라고 부르기도 한다.

42 Key Point 2 MSVC IDE에서 컴파일 오류가 발생했을 때, 해당 오류를 더블클릭하면 오류 발생 위치로 이동한다. 그러나 컴파일러가 정확한 오류 위치를 추적하지 못할 수 있다. Microsoft Visual C++ IDE에서 프로젝트는 실제로 컴퓨터의 폴더(디렉터리) 내에 저장된다. 그리고 실행파일이 성공적으로 생성되면 실행파일은 프로젝트 폴더 내의 Debug 폴더나 Release 폴더에 저장된다. C 언어는 두 가지 형태의 주석을 사용한다. 여러 행에 걸쳐질 수 있는 /* ... */ 형태의 주석과 한 행 끝까지 주석으로 처리하는 // ... 형태의 주석이다. 프로그램을 편집할 때 공백문자와 빈 행을 이용하여 가로 여백과 세로 여백을 적절히 맞추면 프로그램을 이해하는데 큰 도움이 된다. 전처리기는 컴파일러가 수행되기 전에 먼저 수행된다. C 프로그램에서 전처리기 지시자는 #으로 시작한다. #include 지시자는 헤더파일을 포함시키기 위해 사용된다.

43 Key Point 3 모든 C 프로그램에는 main 함수가 존재해야 하며 main의 리턴 타입은 int여야 한다.
여러 목적 파일을 묶어 주거나 목적 파일과 라이브러리 파일을 묶어 주는 기능을 하는 프로그램을 링커라고 한다. 명령줄 환경에서는 편집기, 컴파일러, 디버거 등을 모두 개별적으로 이용한다. 함수의 리턴 타입을 생략하면 C 컴파일러는 리턴 타입을 int형이라고 가정한다. 문자열 내부를 입력할 때 엔터 키를 누르면 안 된다. 개행문자를 표시하려면 \n을 이용해야 한다. 이스케이프 시퀀스는 제어문자를 비제어문자로 나타내기 위한 방법이다. C 언어에서 이스케이프 시퀀스는 \로 시작한다.

44 요약 간단한 C 프로그램은 main 하나로 구성되어 있음 표준 출력 함수
표준 출력 함수를 사용하려면 <stdio.h>를 #include해야 함 puts: 개행문자를 끝에 넣어 줌 printf: 개행문자를 자동으로 넣어주지 않음 main은 항상 정수 값을 리턴함(오류가 없다면 0을 리턴) main의 리턴 타입은 int 리턴 타입이 생략되어도 int로 간주 컴파일러: C 프로그램을 기계어 프로그램으로 변환 개발환경 Microsoft Visual C/C++(MSVC) 소개 무료 개발환경: Dev C++, MinGW Developer Studio

45 프로그래밍 실습

46 ▶ 프로그래밍 실습 1 여러분의 명함을 출력하는 프로그램을 작성하라. 명함은 7줄 이내로 작성하며 각 행은 30열 이내로 작성한다. 예컨대 다음과 같이 작성할 수도 있겠다. 이름과 반, 학번, 전화번호(핸드폰), 메일 주소 등이 들어가도록 명함을 만들어 화면에 출력하게 하라. 안산1대학 디지탈정보통신과 홍 길 동 A반,

47 ▶ 프로그래밍 실습 2 ASCII 아트라는 것이 있다. 문자열만 이용하여 그림을 그리는 것을 뜻한다. 여러 다양한 형태의 ASCII 아트를 웹에서 찾을 수 있다. 예컨대 다음 웹 페이지에도 ASCII 아트가 소개되어 있다. 여러분이 좋아하는 ASCII 아트를 골라서 이를 출력하는 C 프로그램을 작성해 보자. 예컨대 다음과 같은 ASCII 아트를 선택할 수도 있겠다.


Download ppt "Part 02 C 언어 개요 안산1대학 디지털정보통신과 임 성 국."

Similar presentations


Ads by Google