• 검색 결과가 없습니다.

프로그램 작성 단계

N/A
N/A
Protected

Academic year: 2022

Share "프로그램 작성 단계 "

Copied!
14
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

선후수 과목 연계 강좌 : C++ 프로그래밍 입문을 위한 C 프로그래밍

jhhwang@kumoh.ac.kr

황준하

금오공과대학교 컴퓨터공학과

(2)

프로그램 작성 단계

#define을 통한 전처리문의 동작 이해

전처리문의 종류

#include

#define 매크로 함수

연습 문제

7강. 전처리문

(3)

7강. 전처리문 프로그램 작성 단계

코딩

전처리 컴파일

링크

전처리기 Preprocessor

컴파일러 Compiler

링커 Linker

새로운 소스 코드

파일 별 목적 코드

실행 파일

디버거

디버깅

Debugger

(4)

전처리

◦ 소스 코드를 전처리문에 따라 변경하여 새로운 소스 코드 작성

 컴파일 수행

#define : 흔히 문자열 상수라고 함

◦ 사용 방법 : #define 문자열 대치문자열(들)

◦ 코드 중에 PI라는 문자열이 나오면 뒤에 있는 문자열(3.14)로 대치

7강. 전처리문 #define문을 통한 전처리문의 동작 이해

#define PI 3.14

(5)

7강. 전처리문 #define문을 통한 전처리문의 동작 이해

#define PI 3.14 int main()

{ double radius = 2; // radius : 반지름 double area;

area = PI * radius * radius; // area : 면적 return 0;

} 1 2 3 4 5 6 7 8 10 9 11

전처리

int main()

{ double radius = 2; // radius : 반지름 double area;

area = 3.14 * radius * radius; // area : 면적 return 0;

} 1 2 3 4 5 6 7 8 10 9 11

전처리 후의 코드

(6)

7강. 전처리문 #define문을 통한 전처리문의 동작 이해

#define MONTH 12

#define NINE_NINE 9 * 9

#define NOTHING int main()

{ int salary = 100 * MONTH;

int last_gugu = NINE_NINE;

int age = 20;

NOTHING return 0;

} 1 2 3 4 5 6 7 8 10 9 11 12 13 14

int main()

{ int salary = 100 * 12;

int last_gugu = 9 * 9;

int age = 20;

return 0;

} 1 2 3 4 5 6 7 8 10 9 11 12 13 14

(7)

7강. 전처리문 전처리문의 종류

(8)

#include

◦ 뒤에 나오는 파일의 내용을 해당 위치에 복사

#include <파일명>

◦ 미리 지정되어 있는 시스템 폴더를 먼저 탐색  파일이 없다며 에러

◦ Visual C++의 [프로젝트][속성][구성 속성][VC++ 디 렉터리][포함 디렉터리]에서 설정 가능

#include “파일명”

◦ 소스 파일이 있는 폴더 우선 탐색

 없다면 시스템 폴더 탐색

7강. 전처리문 #include

(9)

7강. 전처리문 #include

#include <iostream>

using namespace std;

#include "test.txt"

int main() {

cout << Sum(1, 2) << endl;

cout << Sum(3, 4) << endl;

return 0;

} 1 2 3 4 5 6 7 8 9 10 11

소스 코드 파일 확장자 - C 언어 : .c

- C++ 언어 : .cpp

포함되는 파일 확장자  헤더 파일 - .h

(10)

매크로 함수

◦ 기능 : 함수와 유사  매개변수처럼 전달

◦ 동작 : #define 문자열 상수와 동일  대체

사용 예

7강. 전처리문 #define 매크로 함수

#include <iostream>

using namespace std;

#define SUM(x, y) x + y int main()

{ cout << SUM(1, 2) << endl;

cout << SUM(3, 4) << endl;

1 2 3 4 5 6 7 8 10 9

#include <iostream>

using namespace std;

int main()

{ cout << 1 + 2 << endl;

cout << 3 + 4 << endl;

1 2 3 4 5 6 7 8 10 9

(11)

7강. 전처리문 #define 매크로 함수

#include <iostream>

using namespace std;

#define MULTI(x, y) x * y int main()

{ cout << MULTI(1 + 2, 3 + 4) << endl;

return 0;

} 1 2 3 4 5 6 7 8 10 9 11

1 + 2 * 3 + 4

#define MULTI(x, y) ((x) * (y))

(12)

2개의 값을 전달받아 곱셈 결과를 출력하는 MULTI라는 매크로 함수를 만들어 보라. 매크로 함수 내에서 출력까 지 수행할 수 있어야 한다.

7강. 전처리문 연습 문제

int main()

{ MULTI(1.1, 2.2);

return 0;

} 1 2 3 4 5 6

(13)

7강. 전처리문 연습 문제

#include <iostream>

using namespace std;

#define MULTI(x, y) cout << "곱셈 : " << ((x) * (y)) << endl

int main()

{ MULTI(1.1, 2.2);

return 0;

} 1 2 3 4 5 6 7 8 10 9 11

(14)

7강의 학습 내용

◦ 전처리의 의미와 동작 방식

◦ 전처리문의 종류

◦ #include 전처리문

◦ #define 전처리문 : 문자열 상수, 매크로 함수

8강의 학습 내용

◦ VC++ 2013에서의 디버깅 방법

7강. 전처리문 학습 내용 정리

참조

관련 문서

• 예를 들어, 1부터 n까지의 합을 구하는 프로그램에서 n을 입력 받는 서브 프로그램, n까지 합하는 서브 프로그램, 결과 를 출력하는 서브 프로그램 등으로 기능을 분리할 수 있음.

 아크로뱃 리더 프로그램을 통해서 파일을 볼 수 있으며, 아크로뱃 프로 프로그램 을 통해서 문서를

윈도우즈 API 응용 프로그램: C 언어로 작성, 60줄 이상의 Hello 응용(복잡) 응용 프레임워크(MFC, pclaf). MFC 응용 프로그램: C++ 언어로 작성, MFC 구조 복잡, 10줄

따라서 α가 단원이거나 아니면 β가 단원이 되어야 한다... 그리고 서로 다른 인수분 해가

 문자(char)를 데이터 타입으로 하는 스택 S가 주어져 있을 때 스택 내부의 문자를 순서대로 출력하는 함수 를 작성하고 테스트 해라. 이함수는 스택에 정의된 push,

한 언어의 초기 형태와 후기 형태 비교 상이한 언어들의 비교.. 특정 언어들의 어원적

 사용자로부터 2개의 정수를 입력 받아서 덧셈 연산을 한 후에, 연산 의 결과를 화면으로 출력하는 프로그램을 작성해보자.. Lab:

수학적 원리의 필요성 인식 · 이전에 습득한 지식을 활용하여 문제해결 방법을 탐색함으로써 일반적인 수학적 원리의 필요성을 인식한 다.. 수학적 원리의 형식화