정보처리기사 기출문제 총정리 ⑤ 프로그래밍 언어·C언어 – 포인터·구조체·핵심 문법

프로그래밍 언어 파트 출제 특징

정보처리기사 실기에서 프로그래밍 언어는 코드 추적(결과값 쓰기) 문제가 주로 출제됩니다. C언어 포인터, 자바 OOP(상속·다형성), Python 기초는 반드시 직접 코드를 작성하고 실행 결과를 예측하는 연습이 필요합니다.

【기출 토픽 1】 C언어 포인터

기출 문제 예시: 다음 C 코드의 출력 결과는?

int a = 10;
int *p = &a;
*p = 20;
printf("%d", a);
  • ① 10
  • ② 20 ✅
  • ③ &a의 주소값
  • ④ 컴파일 오류

해설: p는 a의 주소를 가리키는 포인터입니다. *p = 20은 p가 가리키는 메모리(a)의 값을 20으로 변경합니다. 따라서 a의 값이 20으로 바뀌어 출력됩니다.

포인터 핵심 개념:

  • int *p: p는 int형 포인터 (주소를 저장)
  • &a: a의 주소값
  • *p: p가 가리키는 주소의 값 (역참조)

【기출 토픽 2】 C언어 배열과 문자열

기출 문제 예시: C언어에서 배열 이름은 배열의 첫 번째 원소의 주소를 나타냅니다. int arr[5] = {1,2,3,4,5}일 때 *(arr+2)의 값은?

  • ① 1
  • ② 2
  • ③ 3 ✅
  • ④ 4

해설: arr은 배열 첫 원소의 주소입니다. arr+2는 인덱스 2의 주소이며, *(arr+2)는 arr[2] = 3입니다. 포인터 산술에서 +2는 자료형 크기(int = 4바이트) * 2 = 8바이트만큼 이동합니다.

【기출 토픽 3】 자바 다형성(Polymorphism)

기출 문제 예시: 자바에서 부모 클래스 타입의 참조 변수로 자식 클래스 객체를 참조하고, 메서드 호출 시 실제 객체의 메서드가 실행되는 개념은?

  • ① 캡슐화 (Encapsulation)
  • ② 상속 (Inheritance)
  • ③ 다형성 (Polymorphism) ✅
  • ④ 추상화 (Abstraction)

자바 OOP 4대 특성:

  • 캡슐화: private 필드 + getter/setter로 내부 구현 숨김
  • 상속: extends 키워드, 코드 재사용
  • 다형성: 오버라이딩(런타임) + 오버로딩(컴파일타임)
  • 추상화: abstract class, interface로 공통 인터페이스 정의

【기출 토픽 4】 Python 기초 문법

기출 문제 예시: Python에서 리스트 [1, 2, 3, 4, 5]의 슬라이싱 결과 [1:4]는?

  • ① [1, 2, 3]
  • ② [2, 3, 4] ✅
  • ③ [1, 2, 3, 4]
  • ④ [2, 3, 4, 5]

해설: Python 슬라이싱 list[start:end]는 start 인덱스부터 end-1 인덱스까지 반환합니다. [1:4]는 인덱스 1,2,3 → 값 2,3,4입니다.

Python 핵심 문법: 들여쓰기로 블록 구분, 동적 타입, 리스트 컴프리헨션, lambda 함수, 딕셔너리·셋 자료형

프로그래밍 언어 최종 정리

C언어 포인터와 배열 연산, 자바 OOP 4대 특성의 개념과 구현 방법, Python 슬라이싱과 기본 자료구조를 실제 코드 작성으로 연습하세요. 정보처리기사 실기는 코드 결과값을 직접 쓰는 문제가 다수이므로 손코딩 연습이 필수입니다.

Leave a Comment