CertHub
정보처리산업기사필기 과목

정보처리산업기사 프로그래밍 언어 활용 예상문제

프로그래밍 언어 활용은 정보처리산업기사 필기 3개 과목 가운데 하나입니다. CertHub가 이 과목으로 제작한 33문항 중 8문항을 정답·해설과 함께 아래에 실었습니다.

프로그래밍 언어 활용 공략 — 코드 실행 결과 문제는 눈으로 훑지 말고 변수 값을 표로 적으며 한 줄씩 따라가세요. 후위 증가, 포인터 연산, switch의 break 누락, 오버라이딩, 슬라이싱 끝 인덱스가 대표 함정이에요.

프로그래밍 언어 활용 과목 개요

프로그래밍 언어 활용 문항은 C·Java·Python 코드의 실행 결과를 묻는 문제가 중심이고, 객체지향 개념(오버라이딩·오버로딩·접근 제어자·인터페이스)과 기본 자료구조(스택·큐·이진 트리 순회·정렬)가 함께 나옵니다. 짧은 코드라도 연산자 하나, 인덱스 하나에 따라 답이 바뀌도록 보기가 짜여 있어요.

코드 문항은 눈으로 훑지 말고 변수 값을 표로 적으며 한 줄씩 따라가는 습관이 가장 중요합니다. C는 정수 나눗셈·후위 증가·포인터 연산·switch의 break 누락, Java는 동적 바인딩·static 변수·문자열 비교, Python은 슬라이싱 끝 인덱스와 range 끝값 미포함이 대표 함정이에요.

출제 비중

정보처리산업기사 필기 60문항 중 20문항(33.3%)이 프로그래밍 언어 활용 과목에서 출제됩니다.출처 Q-Net 정보처리산업기사 출제기준 (2025.1.1~2027.12.31)

프로그래밍 언어 활용 핵심 개념 요약

C의 연산자와 정수 연산
정수끼리 나누면 몫만 남고 %는 나머지입니다. 후위 증가 x++는 값을 먼저 쓰고 나중에 올리며, 비트 연산 &·^와 시프트 <<는 2진수로 바꿔 계산합니다.
C의 제어문 추적
for문은 증가식까지 따라가 마지막 값이 조건을 만족하는지 확인하고, switch는 break가 없으면 다음 case로 이어서 실행됩니다. while 안의 continue는 아래 문장을 건너뛰고, break는 반복을 끝냅니다.
C의 포인터와 배열·문자열
포인터에 정수를 더하면 원소 단위로 이동하므로 *(p + 2)는 p가 가리키는 위치에서 두 칸 뒤의 값입니다. strlen은 널 문자를 빼고, sizeof는 널 문자까지 센 배열 크기를 돌려줍니다. 구조체 포인터의 멤버는 ->로 접근합니다.
재귀 함수
재귀 호출은 종료 조건에 닿을 때까지 펼쳐 쓴 뒤 거꾸로 곱하거나 더합니다. n - 2씩 줄어드는 재귀처럼 감소 폭을 정확히 봐야 합니다.
Java 객체지향
부모 타입 변수가 자식 객체를 가리키면 오버라이딩된 자식 메서드가 호출됩니다. static 변수는 모든 객체가 공유하고, 오버로딩은 같은 이름에 매개변수만 다르게 정의하는 것입니다. protected는 같은 패키지와 다른 패키지의 자식 클래스에서 접근할 수 있고, 인터페이스는 여러 개를 동시에 구현할 수 있습니다.
Java의 문자열·형 변환·예외
==는 참조를, equals()는 내용을 비교합니다. 정수 나눗셈 결과를 double에 넣어도 이미 버려진 소수는 돌아오지 않습니다. 예외가 나면 try의 나머지 문장은 건너뛰고 catch로 가며 finally는 항상 실행됩니다.
Python 시퀀스와 컬렉션
슬라이싱 a[1:4]는 끝 인덱스를 포함하지 않고, [::-2]는 뒤에서부터 두 칸씩 가져옵니다. range의 끝값도 포함되지 않으며, split은 연속된 구분자 사이의 빈 문자열도 원소로 남깁니다. 딕셔너리에 기존 키로 대입하면 값이 바뀌고, 집합은 중복을 허용하지 않습니다.
자료구조와 정렬
스택은 LIFO, 큐는 FIFO 구조입니다. 이진 트리의 중위 순회는 왼쪽 → 루트 → 오른쪽 순서이고, 버블 정렬은 평균 O(n²)이라 퀵·병합·힙 정렬과 구별됩니다.

정보처리산업기사 프로그래밍 언어 활용 예상문제 미리보기

프로그래밍 언어 활용 과목 33문항 중 8문항입니다. 정답과 해설은 눌러서 확인할 수 있습니다.

  1. 프로그래밍 언어 활용1번 문항
    다음 C 프로그램의 출력 결과는?
    int a = 10, b = 3;
    printf("%d", a % b + a / b);
    1. 1.3
    2. 2.4
    3. 3.1
    4. 4.13
    정답·해설 보기

    정답 2번. 4

    정수 나눗셈에서 a % b는 나머지 1, a / b는 몫 3이므로 1 + 3 = 4가 출력됩니다. 정수끼리 나누면 소수점 이하는 버려집니다.

  2. 프로그래밍 언어 활용2번 문항
    다음 C 프로그램의 출력 결과는?
    int x = 5;
    int y = x++;
    printf("%d %d", x, y);
    1. 1.5 5
    2. 2.6 6
    3. 3.5 6
    4. 4.6 5
    정답·해설 보기

    정답 4번. 6 5

    후위 증가 x++는 현재 값 5를 먼저 y에 대입한 뒤 x를 6으로 올립니다. 전위 증가 ++x였다면 x와 y 모두 6이 됩니다.

  3. 프로그래밍 언어 활용3번 문항
    다음 C 프로그램의 출력 결과는?
    int s = 0;
    for (int i = 1; i <= 10; i += 3)
        s += i;
    printf("%d", s);
    1. 1.12
    2. 2.22
    3. 3.55
    4. 4.21
    정답·해설 보기

    정답 2번. 22

    i는 1, 4, 7, 10으로 바뀌며 10도 조건 i <= 10을 만족하므로 s = 1 + 4 + 7 + 10 = 22입니다. 다음 값 13에서 반복이 끝납니다.

  4. 프로그래밍 언어 활용4번 문항
    다음 C 프로그램의 출력 결과는?
    int a[] = {10, 20, 30, 40};
    int *p = a;
    printf("%d", *(p + 2));
    1. 1.20
    2. 2.12
    3. 3.30
    4. 4.40
    정답·해설 보기

    정답 3번. 30

    배열 이름 a는 첫 원소의 주소이므로 p + 2는 a[2]의 주소이고, *(p + 2)는 a[2]의 값 30입니다. 포인터에 2를 더하면 바이트가 아니라 원소 2개만큼 이동합니다.

  5. 프로그래밍 언어 활용5번 문항
    다음 C 프로그램의 출력 결과는?
    int a[] = {1, 2, 3, 4, 5};
    int *p = a + 1;
    printf("%d", *p + *(p + 2));
    1. 1.4
    2. 2.8
    3. 3.6
    4. 4.5
    정답·해설 보기

    정답 3번. 6

    p는 a[1]을 가리키므로 *p는 2, *(p + 2)는 a[3]인 4이고 합은 6입니다. p가 a[0]이 아니라 a[1]에서 시작한다는 점을 놓치면 4로 착각하기 쉽습니다.

  6. 프로그래밍 언어 활용6번 문항
    다음 C 프로그램의 출력 결과는?
    int n = 2, r = 0;
    switch (n) {
        case 1: r += 1;
        case 2: r += 2;
        case 3: r += 3; break;
        default: r += 10;
    }
    printf("%d", r);
    1. 1.2
    2. 2.15
    3. 3.5
    4. 4.10
    정답·해설 보기

    정답 3번. 5

    n이 2라서 case 2부터 실행되는데 break가 없으므로 case 3까지 이어서 실행해 r = 2 + 3 = 5가 되고, case 3의 break에서 빠져나갑니다. default는 실행되지 않습니다.

  7. 프로그래밍 언어 활용7번 문항
    다음 C 프로그램의 출력 결과는?
    int i = 0, c = 0;
    while (1) {
        i++;
        if (i % 2 == 0) continue;
        if (i > 7) break;
        c += i;
    }
    printf("%d", c);
    1. 1.25
    2. 2.9
    3. 3.16
    4. 4.24
    정답·해설 보기

    정답 3번. 16

    짝수일 때는 continue로 건너뛰고, 홀수 1, 3, 5, 7만 더해 c = 16이 됩니다. i가 9가 되면 7보다 커서 break로 빠져나오므로 9는 더해지지 않습니다.

  8. 프로그래밍 언어 활용8번 문항
    다음 C 프로그램의 출력 결과는?
    printf("%d %d", 5 & 3, 5 ^ 3);
    1. 1.1 6
    2. 2.7 6
    3. 3.1 7
    4. 4.6 1
    정답·해설 보기

    정답 1번. 1 6

    5는 2진수 101, 3은 011입니다. 비트 AND(&)는 001로 1, 비트 XOR(^)는 서로 다른 비트만 1이 되는 110으로 6입니다. 비트 OR(|)였다면 111로 7입니다.

프로그래밍 언어 활용만 골라서 모의고사 풀기

CBT 모의고사에서 과목을 프로그래밍 언어 활용으로 지정하면 이 과목 문항만 출제됩니다. 전체 100문항을 무료로 풀 수 있어요.

정보처리산업기사 CBT 모의고사 시작하기

CertHub 예상문제집 · PDF

정보처리산업기사 예상문제 100제

프로그래밍 언어 활용을 포함해 전 과목을 정답·해설과 함께 인쇄해서 풀어 보세요.

  • 출제기준 과목 구성에 맞춘 자체 제작 예상문제
  • 전 문항 정답 · 해설 수록 (오답 보기까지)
  • 빠른 정답표로 먼저 채점 → 틀린 문항만 정독
  • A4 인쇄 최적화 PDF, 가정용 프린터 출력 가능

기출문제 원본이 아닌 CertHub 자체 제작 예상문제입니다. 디지털 콘텐츠 특성상 다운로드가 시작된 이후에는 환불이 어렵습니다. 결제와 다운로드는 외부 판매 페이지(래피드)에서 진행됩니다.

다른 종목 예상문제 PDF 보기

정보처리산업기사 시험일정·응시자격·합격률 보기

기준일 2026년 10월 17일 · CertHub가 자체 제작한 예상문제입니다. 시행기관이 공개한 기출문제가 아닙니다.