연습문제 1

Jaemyeong Lee·2025년 9월 3일

로드맵

목록 보기
1/3

Part 1. 객관식 (Step 1~3: 컴퓨터 구조, 프로그래밍, 데이터와 로직)

1-1. CPU에 대한 설명으로 옳은 것은?

① CPU는 데이터를 영구적으로 저장할 수 있다.

② CPU는 연산 속도가 느리지만 기억력이 좋다.

③ CPU는 연산을 담당하며, 기억력이 짧아 RAM을 활용한다.

④ CPU 쿨러는 전원 공급을 담당한다.


1-2. RAM의 4가지 영역 중 '함수 호출 정보'가 저장되는 영역은?

① Code (Text)

② Data

③ Heap

④ Stack


1-3. SSD/HDD에 대한 설명으로 옳지 않은 것은?

① 전원이 꺼져도 데이터가 유지된다.

② SSD는 RAM보다 접근 속도가 빠르다.

③ 게임 설치 파일은 SSD에 저장된다.

④ 프로그램 실행 시 SSD에서 RAM으로 복사(로드)된다.


1-4. 컴파일에 대한 설명으로 옳은 것은?

① 컴파일은 프로그래밍 언어 코드를 기계어로 번역하는 과정이다.

② 컴파일러 없이도 CPU가 직접 C++ 코드를 이해할 수 있다.

③ 세미콜론을 생략해도 컴파일이 성공한다.

④ 컴파일과 빌드는 서로 다른 과정이다.


1-5. 프로그램의 핵심 요소가 아닌 것은?

① 데이터

② 로직

③ CPU

④ (없음 - ①②가 핵심)


1-6. [Quiz] 컴퓨터의 핵심 부품인 CPU와 RAM의 주된 역할 관계는 무엇인가?

① CPU는 데이터를 저장하고, RAM은 복잡한 계산을 처리한다.

② CPU는 명령을 계산/실행하고, RAM은 데이터를 일시적으로 저장한다.

③ CPU는 프로그램을 영구 저장하고, RAM은 전원을 공급한다.

④ CPU는 화면에 결과만 출력하고, RAM은 모든 입력을 관리한다.


Part 2. 객관식 (Step 4~9: 변수, 타입, main, maxHp)

2-1. 변수 사용 3단계가 아닌 것은?

① 할당 (공간 확보)

② 쓰기 (값 넣기)

③ 읽기 (값 꺼내기)

④ 삭제 (메모리 해제)


2-2. hp = 50;에서 =의 의미로 옳은 것은?

① 양쪽이 같다.

② 오른쪽 값을 왼쪽 변수에 대입한다.

③ 50을 비교한다.

④ hp와 50을 교환한다.


2-3. int 타입의 바이트 크기는?

① 1

② 2

③ 4

④ 8


2-4. 전역 변수에 대한 설명으로 옳은 것은?

① main() 안에 선언한다.

② Stack 영역에 할당된다.

③ main() 밖에 선언하며 Data 영역에 할당된다.

④ 함수 내부에서만 사용 가능하다.


2-5. maxHp를 사용해 HP를 복구할 때 올바른 코드는?

hp = 100;

hp = maxHp;

maxHp = hp;

hp == maxHp;


2-6. [Quiz] 프로그래밍에서 '변수(Variable)'를 사용하는 가장 중요한 이유는 무엇인가?

① 코드의 줄 수를 줄여서 프로그램을 짧게 만들려고

② 메모리 공간에 이름을 붙여 데이터를 편리하게 저장하고 사용하려고

③ 프로그램 실행 속도를 무조건 빠르게 만들려고

④ 컴퓨터의 운영체제를 설치하기 위해


Part 3. 객관식 (Step 10~11: 정수·비트, 데이터 타입)

3-1. 1바이트는 몇 비트인가?

① 4

② 8

③ 16

④ 32


3-2. 2의 보수로 -43을 구하는 방법은? (43이 주어졌을 때)

① 비트 반전

② 비트 반전 후 +1

③ -1 후 비트 반전

④ 그대로 - 부호 붙이기


3-3. 0xFF의 10진수 값은?

① 15

② 16

③ 255

④ 256


3-4. char 타입으로 'A'의 ASCII 값을 출력하려면?

cout << ch;

cout << (int)ch;

cout << int(ch);

④ ②, ③ 모두 가능


3-5. float 리터럴을 사용할 때 필요한 접미사는?

① L

② f

③ d

④ u


3-6. [Quiz] 정수형 변수(char, short, int, long long)의 크기가 1바이트, 2바이트 등으로 다른 주된 이유와 결과는 무엇인가?

① 크기가 클수록 변수의 이름을 더 길게 지을 수 있다.

② 크기에 따라 사용할 수 있는 연산자의 종류가 달라진다.

③ 크기가 클수록 더 넓은 범위의 정수를 표현하고 저장할 수 있다.

④ 크기가 작을수록 음수는 저장할 수 없게 된다.


Part 4. 객관식 (Step 12~13: 연산자, 비교·논리)

4-1. 10 % 3의 결과는?

① 0

② 1

③ 3

④ 3.333


4-2. a = hp++; 실행 후, a에 들어가는 값은?

① hp 증가 후의 값

② hp 증가 전의 값

③ 0

④ 정의되지 않음


4-3. 8 << 1의 결과는?

① 4

② 8

③ 16

④ 64


4-4. &&||의 우선순위 중 더 높은 것은?

||

&&

③ 같음

④ 상황에 따라 다름


4-5. 100 * (2 + 5) / 2의 결과는?

① 350

② 202

③ 3500

④ 45


4-6. [Quiz] 두 개 이상의 조건이 '모두 참(True)'이어야만 결과가 참이 되는 논리 연산자는 무엇인가?

① NOT 연산자 (!)

② AND 연산자 (&&)

③ OR 연산자 (||)

④ XOR 연산자 (^)


Part 5. 객관식 (Step 14~16: 조건문, 반복문)

5-1. switch-case에서 break를 생략하면?

① 컴파일 에러

② fall-through (다음 case까지 실행)

③ 해당 case만 실행

④ 무한 루프


5-2. for (int i = 0; i < 5; i++)에서 반복 횟수는?

① 4회

② 5회

③ 6회

④ 무한


5-3. continue의 역할은?

① 반복문을 즉시 종료

② 현재 반복 건너뛰고 다음 반복으로

③ break와 동일

④ 조건식을 건너뜀


5-4. switch-case와 if-else if를 선택할 때, switch-case가 적합한 경우는?

① 범위 비교 (예: hp <= 30)

② 정수 값 하나로 분기

③ 복잡한 논리식

④ 문자열 비교


5-5. rand() % 3의 결과 범위는?

① 0 ~ 2

② 1 ~ 3

③ 0 ~ 3

④ 0 ~ 대략 3만


5-6. [Quiz] 프로그램이 실행될 때, 특정 조건에 따라 코드의 실행 경로를 여러 갈래로 '나누어' 처리하게 만드는 문법 구조를 무엇이라고 하는가?

① 반복문 (Loop)

② 산술 연산 (Arithmetic Operation)

③ 분기문 (Branching Statement)

④ 변수 선언 (Variable Declaration)


profile
李家네_공부방

0개의 댓글