C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문.

Slides:



Advertisements
Similar presentations
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
Advertisements

제6장 조건문.
데이터의 표현과 연산 (1) (Chapter 3)
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
C 프로그래밍.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
8. 객체와 클래스 (기본).
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express Slide 1 (of 26)
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
C언어: 배열 (Arrays).
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
-Part3- 제5장 전처리기와 파일 분할 컴파일
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
변수와 자료형.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
제15장 전처리 및 비트연산.
7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.
변수와 자료형.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
제 11 장 전처리기.
adopted from KNK C Programming : A Modern Approach
13. 포인터와 배열! 함께 이해하기.
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
Chapter 10 함수 기본.
제13장 전처리 및 기타기능.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
제 4장 전처리기와 매크로 Hello!! C 언어 강성호 김학배 최우영.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
쉽게 풀어쓴 C언어 Express 제15장 전처리 및 비트연산 C Express Slide 1 (of 29)
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
Chapter 11. 배열과 포인터.
Chapter 05. 입출력 함수.
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
-Part2- 제1장 1차원 배열이란 무엇인가.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
18장. 다차원 배열 그리고 포인터.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 26. 매크로와 선행처리기.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
컴퓨터 프로그램은 여러 기능의 복합체이다. 라이브러리 함수와 사용자 정의 함수
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
제10장 전처리기 문봉근.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
3주차: Control Flow and Others
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C.
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
Chapter 09. 배열.
어서와 C언어는 처음이지 제22장.
배열, 포인터, 함수 Review & 과제 1, 2.
11장. 1차원 배열.
Presentation transcript:

C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문

Ch13. 선행처리기와 주석문 목차 13.1 선행처리기 13.2 #define 13.3 #include 2

13.1 선행처리기(Preprocessor) 선행처리(Preprocessing) Ch13. 선행처리기와 주석문 13.1 선행처리기(Preprocessor) 선행처리(Preprocessing) 소스 파일을 컴파일하기 전에 행해야 할 일련의 작업을 의미 선행처리의 가장 대표적인 예는 #include문에 의한 외부 파일의 포함 기능과 #define문에 의한 매크로 상수 정의 기능 선행처리기 지시자 선행처리기 지시자들은 #부호로 시작 # 앞에는 공백 문자를 제외한 다른 문자가 올 수 없음 일반적인 C 언어 구문과는 다르게 취급하므로 명령의 끝에 ‘;’을 붙이지 않음 선행처리 지시문은 일반적으로 한 행에 작성하며, 두 행 이상 작성해야 할 경우는 ‘\’을 사용하여 다음 행과 연결됨을 명시 #if #include #ifdef #define #ifndef #undef #else #line #elif #error #endif #pragma 3

Ch13. 선행처리기와 주석문 13.2 #define #define 지시자 소스 파일에서 이 식별자를 만날 때마다 이것을 대치할 문자 시퀀스(즉, 문자들의 집합)를 정의 식별자를 마크로 이름(macro name)이라고 하며 이 대체 과정을 마크로 대체(macro replacement) 세미콜론을 사용하지 않음. 식별자와 문자 시퀀스 사이에는 여러 개의 공란이 존재할 수 있지만, 일단 문자 시퀀스가 시작되고 나면, 이것은 뉴라인 문자에 의해서만 끝내야 한함 만일 값 1을 단어 TURE로, 그리고 값 0을 FALSE로 사용하고자 한다면, 다음과 같은 2개의 마크로 #define을 사용 #define macro_name char-sequence #define TRUE 1 #define FALSE 0 4

Ch13. 선행처리기와 주석문 13.2 #define #define 지시자 컴파일러가 소스 파일에서 TURE 또는 FALSE를 만날 때마다, 각각 1 또는 0으로 대체함 다음은 화면에 0 1 2를 출력 일단 마크로 이름이 정의되고 나면, 이것은 다른 마크로 이름 정의의 일부로 사용될 수도 있음 다음 코드는 ONE, TWO, THREE의 값들을 정의 printf("%d %d %d", FALSE, TRUE, TRUE+1); #define ONE 1 #define TWO ONE+ONE #define THREE ONE+TWO 5

13.2 #define #define 지시자 마크로 대체는 특정 식별자를 이것에 연관된 문자 시퀀스로 간단히 대체 Ch13. 선행처리기와 주석문 13.2 #define #define 지시자 마크로 대체는 특정 식별자를 이것에 연관된 문자 시퀀스로 간단히 대체 오류 메시지를 정의 컴파일러는 식별자 E_MS를 만날 때 문자열 "standard error on input\n"으로 실제로 대치 만일 식별자가 인용 부호 있는 문자열 내에 존재한다면 어떠한 대체도 일어나지 않음 다음은 this is a test가 아니라 XYZ를 출력 #define E_MS "standard error on input\n" … printf(E_MS); #define XYZ this is a test … printf("XYZ"); 6

Ch13. 선행처리기와 주석문 13.2 #define #define 지시자 특정 문자가 한 라인을 초과하면, 라인의 끝에 백슬래쉬(\)를 사용하여 다음 라인으로 계속 식별자를 정의하기 위해서 대문자 사용 #define의 위치는 프로그램에 분산하는 것보다 파일의 시작 부분 또는 헤더 파일에 넣는다 선행처리기는 상수의 잦은 변화에도 유연하게 대처 프로그램 개발과 유지 보수에 용이 #define LONG_STRING "this is a very long \ string that is used as an example" #define MAX_SIZE 100  /* ... */ float balance[MAX_SIZE]; /* ... */ for(i=0; i<MAX_SIZE; i++) printf("%f", balance[i]); 7

13.2 #define 따라하기1 Ch13. 선행처리기와 주석문 #include <stdio.h> //printf() 의 이용을 위한 헤더 파일 포함 #define PHI 3.14 //PHI를 3.14로 대치하는 지시자 /*>>>>>>>>>>>>>>> main() 함수 시작 <<<<<<<<<<<<<<<<<<<<*/ void main(void) { double radius = 2; double circumference = 2 * PHI * radius; printf("반지름이 %lf 인 원의 둘레는 %lf 입니다.\n", radius, circumference); } 8

13.2 #define 함수와 유사한 마크로 정의 마크로 이름이 인자를 가질 수 있음 Ch13. 선행처리기와 주석문 13.2 #define 함수와 유사한 마크로 정의 마크로 이름이 인자를 가질 수 있음 마크로 이름을 만날 때마다, 이것의 정의에서 사용된 인자들은 프로그램의 실 인자(Actual argument)로 대치 마크로의 이러한 형식을 함수와 유사한 마크로(function-like macro)라고 한다 프로그램이 컴파일 될 때, 마크로 정의 a는 -1 값과 1 값으로 대치 #include <stdio.h> #define ABS(a) (a)<0 ? -(a) : (a) void main(void) { printf("abs of -1 and 1: %d %d", ABS(-1), ABS(1)); } 9

13.2 #define 따라하기2 Ch13. 선행처리기와 주석문 #include <stdio.h> //printf() 의 이용을 위한 헤더 파일 포함 #define SQUARE(x) ((x) * (x)) /*>>>>>>>>>>>>>>> main() 함수 시작 <<<<<<<<<<<<<<<<<<<<*/ int main(void) { printf("2 * 2 = %d, 3 * 3 = %d\n", SQUARE(2), SQUARE(3)); return 0; } 10

13.3 #include include 지시자 컴파일러에게 또 다른 소스 파일을 읽도록 명령 Ch13. 선행처리기와 주석문 13.3 #include include 지시자 컴파일러에게 또 다른 소스 파일을 읽도록 명령 추가 소스 파일의 이름은 인용부호 또는 각진 괄호들(angle bracket) 사이에 포함 표준 헤더 파일(시스템 정의 파일)을 포함하는데 각진 괄호를 사용 인용 부호는 일반적으로 특정 프로그램과 특별히 연관된 파일(사용자 정의 파일을 검색)들을 포함하는데 사용 #include <stdio.h> /* 시스템 정의 파일명 */ #include “test.txt“ /* 사용자 정의 파일명 */ 11

Ch13. 선행처리기와 주석문 실습 과제 <1>따라하기1 ~ 따라하기2 실습 12

Q&A 13