Urdoing=͟͟͞♡d

데이터분석가를 꿈꾸는 박열심의 IT 공간

STUDY✏️/C++

명품 C++ 프로그래밍 연습문제 이론문제 1장 정답 및 풀이

박열심 2024. 3. 25. 12:36
반응형

제가 푼 문제만 올려서 중간중간 빠지는 문항이 있을 수 있습니다!


1 전문가들은 IT 분야에서 어떤 종류의 기업이 미래를 지배할 것이라고 예측하는가?

1) 가전기업

2) 소프트웨어 기업

3) 증권사

4) 석유회사


2 다음 설명 중에서 틀린 것은?

1) 사람과 가장 친밀한 프로그래밍 언어가 고급 언어이다.

2) CPU는 기계어만 이해하고 처리할 수 있다.

3) 고수준 언어를 저수준 언어로 번역할 컴파일러가 필요하다.

4) 기계어를 익혀서 프로그램을 작성하는 것이 좋은 개발자가 되는 지름길이다.

기계어가 아닌, 고급 언어를 익혀서 프로그램을 작성하는 것이 좋은 개발자가 되는 지름길이다.

3 다음 언어 중에서 계보가 다른 것은?

1) Java

2) C

3) C++

4) Fortran

BCPL - B - C - C++ - Java - C# 순서로 계보가 이어진다.

4 다음 중 객체 지향 언어가 아닌 것은?

1) Java

2) C

3) C++

4) C#

C 언어는 절차 지향 언어 !

5 객체 지향 언어가 태동하게 된 원인이 아닌 것은?

1) 소프트웨어의 크기가 점점 커지게 되어 관리의 어려움을 극복하기 위해

2) 소프트웨어의 생명 주기가 점점 짧아지게 됨에 따라 빠른 소프트웨어 작성이 요구되어

3) 운영체제 독립적인 프로그램 작성이 필요해서

4) 실세계의 문제를 모델링하는데 객체의 개념이 적합해서


6 다음 중 객체 지향 개념에 포함되지 않는 것은?

1) 상속

2) 흐름도

3) 캡슐화

4) 다형성


7 C++ 언어가 C 언어의 문법적 체계를 계승받음으로써 좋은 점은?

1) C 언어로 작성된 프로그램과 호환성을 가질 수 있다.

2) C 언어처럼 빠르게 실행될 수 있다.

3) C 언어처럼 절차 지향 프로그래밍도 할 수 있다.

4) 전역 변수를 만들어서 여러 함수에서 공유할 수 있다.

2) C++은 컴퓨터의 속도가 빨라지고 소프트웨어의 크기도 커지게 되어 코드 관리의 어려움을 개선하기 위해 만들어진 언어이므로, C 언어'처럼' '빠르게'라는 설명은 옳지 않다.
4) 전역 변수를 만들어서 여러 함수에서 공유할 수 있는 것은 문제점에 해당한다.

8 C++ 언어가 C 언어의 문법적 체계를 계승받음으로써 나타난 문제점은?

1) 개발 과정이 복잡해졌다.

2) 프로그램 관리가 어려워졌다.

3) C 라이브러리를 사용할 수 없게 되어 불편하다.

4) 전역 변수가 존재하게 되어 캡슐화의 원칙이 무너졌다.


9 다음 빈칸에 적절한 단어를 기입하라.

C++는 ( C ) 언어와의 호환성을 목표로 하여 설계되었으며 객체 지향 개념을 추가하였다. 그러나 클래스 바깥에 전역 변수나 함수들을 선언하게 됨으로써 객체 지향의 핵심 개념인 ( 캡슐화 ) 의 원칙이 무너지게 되었다.


10 C++ 표준으로 C++ 프로그램을 작성할 때의 장점은?

1) 확장성

2) 호환성

3) 실행 성능

4) 개발 용이성


11 C++의 객체 지향 특징이 아닌 것은?

1) 상속

2) 함수 중복

3) 인라인 함수

4) 클래스


13 C++에서는 C 언어와 달리 다음 3개의 함수를 함께 작성하고 구분하여 호출할 수 있다. 어떤 객체 지향 특성을 말하는가?

int big(int a, int b);
int big(int a[], int size);
int big(int a, int b, int c);

다형성

big이라는 이름의 함수의 매개변수의 개수나 타입을 달리하여 함수 중복을 하고 있다. 이는 다형성에 해당한다.

14 C++ 언어가 C 언어에 추가한 내용이 아닌 것은?

1) delete 연산자

2) 함수 중복

3) 참조에 의한 호출

4) 타입 변환


15 C와 C++ 언어에 대해 말한 것 중 틀린 것은?

1) C++ 코드는 객체 지향 개념의 도입에 따라 C 코드에 비해 실행 속도가 떨어질 우려가 있다.

2) C++ 표준에 따라 소스 프로그램을 작성하면 높은 호환성으로 인해 거의 모든 종류의 C++ 컴파일러에 의해 컴파일이 가능하다.

3) C++ 프로그램은 C 소스 프로그램을 수용하여 사용할 수 있지만, 이미 컴파일된 C 언어의 목적 파일은 링크시켜 사용할 수 없다.

4) C 소스 파일의 표준 확장자는 .c 이고 C++ 소스파일의 확장자는 .cpp 이다.

이미 컴파일된 C 언어의 목적 파일도 링크시켜 사용할 수 있다.

16 C++ 프로그램에 대해 다음 중 틀린 것은?

1) C++ 소스 파일은 텍스트 파일이 아니라 바이너리 파일이다.

2) C++ 소스 파일의 표준 확장자는 .cpp 이지만 컴파일러에 따라 .cc, .CC, .c++ 등의 확장자를 갖기도 한다.

3) C++ 소스 파일을 컴파일한 목적 파일의 확장자는 .obj 혹은 .o와 같이 운영체제에 따라 다를 수 있다.

4) C++ 프로그램의 디버깅이란 실행 파일(exe 파일)을 실행할 때 나타나는 오류를 발견하고 수정하는 과정이다.

소스 파일은 텍스트 파일 !

17 링킹에 대한 설명 중 바른 것은?

1) C++ 소스 파일을 컴파일하여 생긴 목적 파일(obj 파일)은 기계어로 이루어져 있기 때문에 바로 실행 가능하다.

2) 링킹 후 생성되는 실행 파일(exe 파일)을 컴퓨터에서 실행시키기 위해서는 목적 파일(obj 파일)도 함께 필요하다.

3) 링킹은 C++ 프로그램 개발 과정에서 실행 파일을 만들기 위해 반드시 필요하다.

4) 링킹을 통해 실행 파일(exe 파일)과 다른 실행 파일을 합쳐서 하나의 실행파일(exe 파일)을 만들 수 있다.

1) 목적 파일은 온전한 실행 파일이 아니므로 바로 실행할 수 없다. 반드시 표준 C++ 라이브러리의 함수, 객체, 데이터와 결합되어야만 비로소 실행 가능한 파일이 된다.
2) 링킹 후 생성되는 실행 파일은 바로 실행 가능하다.

19 C++ 프로그램의 확장자에 대한 설명 중 틀린 것은?

1) C++ 소스 파일의 확장자는 .cpp, .cxx, .c++ 등 운영체제에 따라 다양하다.

2) 비주얼 C++에서 .c 확장자를 가진 파일은 C 컴파일러가, .cpp 확장자를 가진 파일은 C++ 컴파일러가 자동으로 컴파일한다.

3) 목적 파일의 확장자는 .obj나 .o 등 운영체제에 따라 다르다.

4) 실행 파일의 확장자는 운영체제에 관계없이 .exe로 표준화되어 있다.

실행 파일의 확장자도 운영체제에 따라 다르다.

20 C++ 표준 라이브러리에 포함되지 않는 것은?

1) C++ 통신 라이브러리

2) C++ 입출력 라이브러리

3) STL 라이브러리

4) C 라이브러리


21 다음 빈칸에 적절한 단어를 기입하라.

최근에 동일한 프로그램 코드에 구체적인 타입을 적용할 수 있도록 함수나 클래스를 일반화시킨 ( 제네릭 ) 함수와 ( 제네릭 ) 클래스를 이용하여 프로그램을 작성하는 새로운 프로그래밍 패러다임인 ( 제네릭 프로그래밍 )이 활발히 사용되고 있다. 이것은 흐름도를 중심으로 작업의 실행 순서에 따라 프로그램을 작성하는 ( 절차지향 ) 프로그래밍 기법에서, 객체 사이의 상호 작용과 관계를 중심으로 프로그램을 작성하는 ( 객체지향 ) 프로그래밍 기법 이후에 도입된 것이다.

 

 

반응형