일본인 저자(첨에 글 볼때는 있었던거 같은데여...)라는점
책이 얇다는점(350여 페이지(?) 딱 중지 손가락 한마디)
포인터에 대한 테스트 문제등으로 미루어 보아
"C 포인터 이렇게 활용한다"(김진영 역, 가남사)
저자는 한문으로 표기 되어있어서...
4글자 인데여 첫글자는 모르겠구요 'X전망양'이 아닐까 조심스럽게...
'전'자는 확실함다 네모칸 4개 '밭전'!!
첨에 글 보구 리플 달랬는데 많은 분들이 테스트 문제를 궁금해(?) 하실꺼 같아서
역사적 사명을 가지고 작업하느라 좀 늦었습니다.
솔직히 제가 이책을 가지고 있다는걸 자랑하고 싶은 맘이 쪼금 많이 있슴다.
이책은 0~9장 총 10장으로 되어있습니다.
0장이 바로 문제의 테스트 장입니다.
0장을 그대로 올립니다.
오해의 소지를 막기위해서 토시하나 코딩 스타일까지 그대로 배꼈습니다.
책을 구하고 싶으신거 같은데 안타깝게도 절판된 책입니다.
아마 가남사에서도 보유하고 있는 재고가 없다고 알고 있습니다.(가남사 직원 아님다)
꼭 원하신다면 오프모임때 가져갈테니 받아가셔서 복사를 하시던지 1주일 안으로만
주세요.
"당신은 C(혹은 C++)를 마스터 했다고 할 수 있습니까?"라는 말은 없지만 글을 보시고
각자 판단하시기 바랍니다. 전 와전되지 않았나 생각합니다.
겉표지에는 포인터를 마스터 한다는 말이 있긴합니다만...
역시나 서론이 길었습니다...
제 0 장 테스트
----------------------------------------------------------------------------
이 장에서는 포인터에 관한 간단한 테스트를 해 보겠습니다.
자신이 얼마나 잘 풀 수 있는지 알아 보기 바랍니다.
포인터에 관해 잘 알지 못하는 사람은 전혀 맞추지 못할 수도 있습니다.
또 어느 정도 알고 있는 사람이라 할지라도 문제를 푸는 데 자신이 없을
수 있습니다. 그러나 걱정할 필요는 없습니다. 제 1장에서부터 제 9장까지
모두 공부한 후에는 이 테스트 문제들을 즉시 풀 수 있게 되기 때문입니다.
이 책을 서점에서 서서 읽고 계신 분들에게...
하나라도 잘 모르는 문제가 있다면 구입을 권하고 싶은데요(?)
----------------------------------------------------------------------------
<테스트 1>
다음의 함수
void f(int a[10])
{
/* ... */
a[2] = 0;
/* ... */
}
에서 a는 배열이 아니라는 것과, a[10]의 10에는 의미가 없다는 것을 설명하십시오.
또, C 언어에서는 함수의 인자로 배열 그 자체를 주고 받을 수 없다는 것,
배열 첨자가 0에서 시작하는(다른 언어에서처럼 1부터 시작된다든지 하한을
정할 수 있다든지 하지 않고) 이유를 설명하십시오.
<테스트 2>
다음 프로그램에서 각 문장의 의미를 설명하십시오.
int main(void)
{
int a[10];
a[0] = 1[a] = *(a+2) = *(3+a) = 0;
4[a] = "ABC"[0];
a[5] = 1["DEF"+1];
return(0);
}
<테스트 3>
C 언어에는 1차원 배열만 있다는 것을 아래의 내용을 사용하여 설명하십시오.
int a[10][20]
테스트 4
다음 프로그램에서
void f(int a[][10])
{
/* ... */
a[2][3] = 0;
/* ... */
}
int main(void)
{
int x[5][10];
f(x);
/* ... */
return(0);
}
f 함수의 인자 a의 수형은 무엇입니까?
main 함수에서 호출된 함수 f(x)의 x는 &x, &x[0], 또는 &x[0][0]중
어느 것이 되겠습니까?
<테스트 5>
동적 메모리 할당의 방법을 설명하십시오. 또, 아래의 그림처럼 행에
대한 열의 크기가 다른 배열을 동적으로 할당하는 프로그램을 작성하십시오.
단, 각 요소는 a[i][j]의 표현으로 액세스할 수 있어야 합니다.
(그림을 어떻게 그려야할지... 죄성...
위에서부터 네모칸이 8개, 4개, 10개, 2개가 붙어있슴다...)
<테스트 6>
표준 입출력의 화일 처리에서 반드시 사용하는
FILE *f
선언의 의미를 설명하십시오. 또 fopen 함수가 하는 일에 대하여 구체적으로
설명하십시오.
<테스트 7>
다음 프로그램은 화일을 오픈하는 open_files 함수인데 제대로 동작하지 않습니다.
버그를 찾으십시오.
#include <stdio.h>
int open_files(FILE *fpi, FILE *fpo)
{
if ((fpi = fopen("input.dat", "r")) == NULL) return(1);
if ((fpo = fopen("output.dat", "w")) == NULL) return(1);
return(0);
}
int main(void)
{
int flag;
FILE *input, *output;
flag = open_files(input, output);
/* ... */
return(0);
}
----------------------------------------------------------------------------
어떻습니까? 당신은 어느 정도입니까?
앞으로 여러분께서는 C 언어를 제일 잘 알고 있는 선생님과 초보자 학생과의 문답을
통하여 공부를 하게 될 것입니다.
----------------------------------------------------------------------------
덧말...
원하신다면 담에 각 장별 서두를 올리도록 하겠습니다.
아마 올릴껍니다^^
|