정보처리기사 필기 · 프로그래밍 언어 활용 과목
정보처리기사 프로그래밍 언어 핵심정리
- 중요도
- ★★★★★ (5 / 5)
- 출제 비중
- 프로그래밍 언어 활용 20문항 중 약 8문항 (40%)
C, 자바, 파이썬의 자료형·연산자·제어문과 코드 실행 결과를 다룹니다.
프로그래밍 언어, 이것만은 꼭 외우세요
- C 에서 정수끼리 나누면 몫만 남습니다. (7 / 2 = 3, 7 % 2 = 1)
- 전위 증가(++a)는 먼저 1을 더한 뒤 쓰고, 후위 증가(a++)는 먼저 쓴 뒤 1을 더합니다.
- C 의 배열 이름은 첫 번째 원소의 주소이고, *(p + i) 는 p[i] 와 같습니다.
- 파이썬 슬라이싱 a[시작:끝] 은 시작 위치부터 끝 위치 바로 앞까지 가져옵니다.
프로그래밍 언어 대표 문제 5개
AI 예상문제검수 전프로그래밍 언어 활용 › 프로그래밍 언어★★★★★
문제 1. 다음 C 프로그램의 출력 결과는? int a = 7, b = 2; printf("%d %d", a / b, a % b);
- ① 3.5 1
- ② 3 1
- ③ 3 0
- ④ 4 1
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② 3 1
핵심: C에서 정수 ÷ 정수는 몫만 남고, % 는 나머지를 구한다
- a / b = 7 / 2 → 정수끼리 나누면 소수는 버려져 3
- a % b = 7 을 2 로 나눈 나머지 → 1
- 출력: 3 1
틀린 선지
- ① 3.5 1: 정수끼리의 나눗셈은 소수가 나오지 않습니다.
- ③ 3 0: 나머지는 1 입니다.
- ④ 4 1: 반올림하지 않고 버립니다.
AI 예상문제검수 전프로그래밍 언어 활용 › 프로그래밍 언어★★★★★
문제 2. 다음 파이썬 코드의 출력 결과는? a = [10, 20, 30, 40, 50] print(a[1:3])
- ① [10, 20, 30]
- ② [20, 30, 40]
- ③ [20, 30]
- ④ [10, 20]
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ [20, 30]
핵심: 파이썬 a[1:3]: 1번부터 3번 바로 앞(2번)까지
파이썬의 순번은 0 부터 시작합니다.
- a[0] = 10, a[1] = 20, a[2] = 30, a[3] = 40
- a[1:3] 은 1번부터 3번 앞까지 → a[1], a[2]
- 결과: [20, 30]
틀린 선지
- ① [10, 20, 30]: a[0:3] 의 결과입니다.
- ② [20, 30, 40]: a[1:4] 의 결과입니다.
- ④ [10, 20]: a[0:2] 의 결과입니다.
AI 예상문제검수 전프로그래밍 언어 활용 › 프로그래밍 언어★★★★★
문제 3. 다음 C 프로그램의 출력 결과는? int a = 5, b; b = a++ + 10; printf("%d %d", a, b);
- ① 6 15
- ② 5 15
- ③ 6 16
- ④ 5 16
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ① 6 15
핵심: 후위 증가(a++)는 먼저 값을 쓰고 나중에 1을 더한다
- a++ + 10: 먼저 a 의 지금 값 5 를 써서 5 + 10 = 15 → b = 15
- 그 뒤에 a 가 1 늘어 6
- 출력: 6 15
틀린 선지
- ② 5 15: a 가 늘어나지 않은 값입니다.
- ③ 6 16: 전위 증가(++a)였을 때의 결과입니다.
- ④ 5 16: 맞지 않는 조합입니다.
AI 예상문제검수 전프로그래밍 언어 활용 › 프로그래밍 언어★★★★★
문제 4. 다음 자바 프로그램의 출력 결과는? int sum = 0; for (int i = 1; i <= 10; i++) { if (i % 2 == 0) continue; sum += i; } System.out.println(sum);
- ① 20
- ② 30
- ③ 55
- ④ 25
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 25
핵심: continue는 아래 문장을 건너뛰고 다음 반복으로 넘어간다
- i 가 짝수이면 continue 로 건너뜁니다.
- 따라서 홀수만 더합니다: 1 + 3 + 5 + 7 + 9
- 합계: 25
틀린 선지
- ① 20: 계산이 틀린 값입니다.
- ② 30: 짝수의 합(2 + 4 + 6 + 8 + 10)입니다.
- ③ 55: 1부터 10까지 모두 더한 값입니다.
AI 예상문제검수 전프로그래밍 언어 활용 › 프로그래밍 언어★★★★★
문제 5. 다음 C 프로그램의 출력 결과는? int arr[5] = {10, 20, 30, 40, 50}; int *p = arr; printf("%d", *(p + 2) + *p);
- ① 30
- ② 40
- ③ 50
- ④ 60
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② 40
핵심: *(p + i)는 p[i]와 같다
- p 는 배열의 첫 원소(arr[0])를 가리킵니다.
- *(p + 2) = arr[2] = 30
- *p = arr[0] = 10
- 30 + 10 = 40
틀린 선지
- ① 30: *(p + 2) 만 계산한 값입니다.
- ③ 50: arr[2] + arr[1] 로 계산한 값입니다.
- ④ 60: 계산이 틀린 값입니다.
직접 풀어서 확인해 보세요.