728x90
728x170
쉽게 풀어 쓴 C언어 Express 15장 Exercise 문제
1.
#if VERSION==1 //단순 매크로 VERSION이 1이면
printf("원의 면적은 %f입니다\n", area(radius));
#elif VERSION==2 //단순 매크로 VERSION이 2이면
printf("area of the circle is %f \n", area(radius));
# else //단순 매크로 VERSION이 1이나 2가 아니면
printf("area of the circle is %f \n", area(radius));
#endif
2. (4)
3. (1) 오류 : 함수 매크로의 매개 변수 y를 사용하지 않는다. -> 매크로를 실제로 호출할 때 오류가 발생한다.
(2) 오류: #if VERSION==1 으로 변경하여야 한다.
(3) 오류: #if (DEBUG > 3.00)으로 변경 전처리기에서는 실수를 사용할 수 없다.
(4) 오류가 없다.
(5) 오류: #define SIZE 100으로 변경
(6) 오류: #if (VERSION*100 > 300 && DATE > 80901)으로 변경, 정수 앞에 0이 붙으면 오류 발생
(7) 오류: 문자열과 비교할 수 없음!
4. #include <header>은 컴파일러가 설치된 디렉토리에서 헤더 파일을 찾는다. #include
"header"은 현재 디렉토리에서 헤더 파일을 찾는다.
5.
#define AREA(w. h) w*h -> #define AREA(w, h) ((w)*(h))
6.
DEBUG 버전
계속하려면 아무 키나 누르십시오 . . .
7.
(a)
firstsecond
(b)
Kim and Park Hello!
8.
(a)
#ifdef !DEBUG -> #ifndef DEBUG
(b)
#define PRINT(x) printf(“%d”, x);
int main(void) {
PRINT(x);
return 0;
}
->
#include <stdio.h>
#define PRINT(x) printf("%d", x);
int main(void) {
int x=0;
PRINT(x);
return 0;
}
9.
(a)
struct test {
unsigned bit1:1;
unsigned bit2:1;
unsigned bit3:1;
unsigned bit4:1;
unsigned bit5:1;
unsigned bit6:1;
unsigned bit7:1;
unsigned bit8:1;
};
(b)
struct test x;
x.bit1=1;
728x90
그리드형
'IT > 프로그래밍' 카테고리의 다른 글
쉽게 풀어 쓴 C언어 Express 17장 Exercise 문제 (0) | 2020.12.07 |
---|---|
쉽게 풀어 쓴 C언어 Express 16장 Exercise 문제 (0) | 2020.12.07 |
쉽게 풀어 쓴 C언어 Express 14장 Exercise 문제 (0) | 2020.12.07 |
쉽게 풀어 쓴 C언어 Express 13장 Exercise 문제 (0) | 2020.12.07 |
쉽게 풀어 쓴 C언어 Express 12장 Exercise 문제 (0) | 2020.12.07 |
댓글