자격증/정보처리기사

2022년 제1회 정보처리기사 필기: 기출문제+정답표시+해설집

공시탈출넘버원 2022. 4. 16. 00:54

문제지는 https://www.comcbt.com/xe/iz/5691901 에서 받아왔다. 여기에서 2021년 해설지까지 도움을 많이 받았다. 그런데 2022년 1회 해설지는 아직 저기에 없어서 내가 만들어 올린다.

 

공부용으로 개인이 다운 가능하나, 상업적 목적의 재배포는 절대금지다. 상업용재배포 걸리면 가처분소송 낼 것이다.

정보처리기사 카페 등에 공유시, pdf 파일을 올리지말고 이글 링크를 가져가기 바란다.

정보처리기사20220305(교사용+해설집)_작업중v2.pdf
0.27MB

 

 

 

주의사항:

대부분은 어떻게든 해설을 붙였으나, C 포인터 3문제는 개념 이해가 부족하여 코드를 실제로 수행한 결과를 보면서 대충 이렇다 정도로만 해설했다. 본인이 알아서 잘 공부해서 맞추기 바란다. 아래에 관련 소스코드를 첨부할테니 'online C compiler'를 활용해 연습해 보도록. 더 보기를 눌러 나오는 코드를 복붙 ㄱㄱ.

 

각 번호에는 /* */로 주석처리가 되어있으니 해제한다. //는 내가 추가로 넣어서 어떻게 작동하는지 중간중간 확인하는 코드이니까 주석/해제 하면서 과정을 보는게 좋다.

더보기

#include 
#include 

// No.62
/*
int main(int argc, char *argv[])
{
    int arr[2][3] = {1,2,3,4,5,6};
    int (*p)[3]= NULL;
    
    p = arr;

    printf("%d, ", *(p[0]+1)+*(p[1]+2));
    printf("%d, ", *(*(p+1)+0)+*(*(p+1)+1));

    // printf("\n%d, %d, %d", *(p+0),*(p+1),*(p+2));
    // printf("\n%d, %d, %d", *(*(p)),*(*(p+0)),*(*(p)+0));

    return 0;
}
*/


// No.72
/*
int main(int argc, char *argv[])
{
    int i = 0;
    while(1)
    {
        printf("i before if is %d \n", i);
        if(i==4)
        {
            break;
        }
        printf("i after if + before ++i = %d \n", i);
        ++i;
        printf("after ++i is %d \n", i);
    }
    printf("i = %d", i);
    return 0;
}
*/


// No.76
/*
int main(int argc, char *argv[])
{
    char str1[20] = "KOREA";
    char str2[20] = "LOVE";
    // printf("%s \n",str1);
    // printf("%s \n",str2);
    
    char* p1 = NULL;
    char* p2 = NULL;
    p1 = str1;
    p2 = str2;
    str1[1] = p2[2];
    str2[3] = p1[4];
    // printf("%s \n",str1);
    // printf("%s \n",str2);
    
    strcat(str1, str2);
    // printf("%c", *(p1+0));
    // printf("%c", *(p1+1));
    printf("%c", *(p1+2));
    // printf("%c", *(p1+3));
    return 0;
}
*/