CSE/C Language
-
[C Language] 5. 입출력 함수(I/O Function) - C 언어CSE/C Language 2015. 6. 13. 10:04
1. 입출력 함수의 개요 - 키보드로 입력을 받거나 화면에 출력을 해주는 함수를 통틀어 입출력 함수라 한다.(파일에 읽기 쓰기도 입출력) 2. printf() - 표준 출력 함수 중에서 가장 많이 사용되는 함수이다. - 문자, 숫자, 문자열, 부동 소수 등 다양한 형태로 출력 가능하다. 'printf()의 형식' printf("서식 문자열", 인자1, 인자2, ...); printf()는 크게 서식 문자열과 인자의 조합으로 사용 가능하며, 서식 문자열은 항상 큰따옴표로 감싸주어야 한다. '변환 형식 문자가 없는 경우' 1. printf("I'm a rich"); 2. printf("I'm a boy.\n Yor are a girl"); '변환 형식 문자가 있는 경우' 1. printf("Age: %d\n..
-
[C Language] 4. 내장 매크로(Nested Macro) - C 언어CSE/C Language 2015. 6. 13. 10:03
대부분의 서적에서 언더라인(_)의 사용을 자제하라는 문구가 나온다. 바로 내장 매크로와 관련이 있기 때문이다. 자주 사용하는 내장 매크로에는 아래와 같은 것이 있다. __DATE__, __TIME__, __LINE__, __FILE__ 간단한 예제를 통해 살펴보자. 123456789101112131415161718/* * nested.c * * Created on: 2015. 5. 11. * Author: root */ #include int main(void) { puts(__DATE__); puts(__TIME__); printf("%d \n", __LINE__); puts(__FILE__); return 0;}cs 위 예제의 결과는 아래와 같다. * Programming in C 서적을 참고하여 작..
-
[C Language] 3. 매크로 함수(Macro function) - C 언어CSE/C Language 2015. 6. 13. 10:02
1. 간단한 매크로 함수 예제 #define ADD(x, y) x + y #define: 매크로 지시자 ADD : 매크로 함수명(중간에 공백이 있으면 안 됨) (x, y): 매크로 함수 인자 x + y: 매크로 함수 몸체 ADD()라는 매크로 함수의 인자(parameter)에 5와 7을 주면 전처리기는 ADD(5, 7)을 12라는 숫자로 바꾸어서 컴파일러에게 건네주는 것이 아니다. 단지 치환을 시키는 것 뿐이다. 다른 예로 두 수중 큰 수를 출력하는 예제를 보도록 하자. #define MAX(x, y) (x > y) ? x : y 위 예제는 삼항 연산자로 x가 y보다 클 경우 x, 아니면 y를 반환한다. - 여러 예제 #define MAX(x, y) (x > y) ? x : y #define PRINT(..
-
[C Language] 2. 매크로 변수(Macro Variable) - C 언어CSE/C Language 2015. 6. 13. 10:00
1. #define - #include는 일단 추가해주면 시스템이 알아서 처리하기 때문에 특별한 지시없이 사용가능함. - #define은 명확히 이해하지 않으면 뜻하지 않은 에러를 발생함. '매크로 변수의 유용성' 아래 예제 코드에서 100이라는 수치가 변경되어, 150으로 수정해야 한다. 아래 예제에선 일부분이므로 손 쉽게 수정가능하지만, 몇 백 라인에 해당하게 되면, 일일이 바꾸기 어렵다. 12345678910111213141516 /* * nomacro.c * * Created on: 2015. 5. 11. * Author: root */ #include int main(void) { printf("%d\n", 5 * 100); printf("%d\n", 3 * 100); printf("%d\n",..
-
[C Language] 1. 전처리기(Pre-processor) - C 언어CSE/C Language 2015. 6. 13. 10:00
1. 전처리기 개요 - 컴파일러를 기준으로 먼저 수행한다라는 의미. - 전처리기는 컴파일러에 앞서 아래와 같은 것을 먼저 처리함. ○ 전처리 지시자를 처리(#으로 시작) #define, #include, #ifdef, #else, #endif, #if, #elif, #line, #error, #pragma ○ 함수를 처리 sqrt(), atan(), atan2(), exit(), atexit(), memcpy(), memmove() 주석을 제거하는 것은 전처리기가 처리하고, 나머지는 컴파일러에의해 컴파일 된다. '전처리 지시자의 종류' 1. #define 2. #include 3. #ifdef ~ #endif 4. #if defined(XX) ~ #endif 5. #if !defined(XX) ~ #en..