본문 바로가기
답안지/Core C Programming

[Exercise] 01 C 언어와 프로그래밍 개요

by upself 2022. 12. 9.
728x90

 

Core C Programming

Core C Programming

천정아

이 책은 C 문법서가 아니기 때문에, 각 장이 왜 이런 기능이 필요할까? 에서부터 시작하고 있습니다. 왜 이런 기능이 필요한지, 왜 그렇게 사용할 수밖에 없는지를 알고 나면 개념 을 받아들이고 이해하기 쉬워집니다. 또한, 이 책은 핵심을 꿰뚫는 풍부하고 다양한 그림 을 통해서 C의 기능들을 설명하고 있다. 개념 설명...

 

 

 

 

 

[Exercise]

 

1. 컴퓨터 하드웨어가 특정 기능을 수행할 수 있게 하는 것은?
① 소프트웨어 ② 입출력 장치
③ 비즈니스 모델 ④ 인공지능

① 소프트웨어

 

 

2. 소프트웨어를 지칭하는 또 다른 용어를 모두 쓰시오.

응용 프로그램, 프로그램, 앱 애플리케이션

 

 

3. 프로그래밍 언어에 대한 설명 중 잘못된 것을 모두 쓰시오.
① 기계어로 작성된 프로그램은 특정 CPU에서만 실행될 수 있다.
② 0과 1로 되어 있는 명령어 대신 일대일로 대응된 니모닉 기호를 사용하는 것이 어셈블리어이다.
③ 어셈블리어를 이용하면 기계 독립적인 프로그램을 작성해야 한다.
④ 고급 언어를 사용하면 기계 종속적인 프로그램을 작성해야 한다.
⑤ 컴파일러는 고급 언어로 된 프로그램을 기계어로 번역한다.


③ 어셈블리어를 이용하면 기계 독립적인 프로그램[기계 종속적(machine-dependent)]을 작성해야 한다.

④ 고급 언어를 사용하면 기계 종속적인[기계 독립적인(machine-independent)] 프로그램을 작성해야 한다.

 

 

4. 어셈블리어로 작성된 프로그램을 기계어로 변역하는 프로그램을 무엇이라고 하는가?

어셈블러

 

 

5. 고급 언어로 작성된 소스 파일을 기계어로 번역하는 프로그램을 무엇이라고 하는가?

컴파일러(compiler)

 

 

6. C 언어를 배워야 하는 이유가 아닌 것은?
① C 언어는 프로그래머들 사잉에서 일종의 공용어 역할을 한다.
② C 언어로부터 파생된 고급 언어가 많으므로 C 언어를 알면 다른 언어를 배우는 것이 쉬워진다.
③ C 언어는 프로그래밍의 기본 개념을 이해하는 데도 도움이 된다.
④ C 언어를 사용하면 프로그램의 내부 동작 원리를 알 필요가 없다.

④ C 언어를 사용하면 프로그램의 내부 동작 원리를 알 필요가 없다.[이해하는 것이 쉬워진다.]

 

 

7. C 언어를 활용 분야에 대한 설명 중 잘못된 것은?
① C 언어는 이식성이 필수적인 시스템 프로그램을 개발하기에 적합하다.
② C 언어는 성능이 최우선시되는 프로그램을 개발하기에 적합하다.
③ 임베디드 시스템처럼 시스템 리소스가 충분한 환경에서 프로그램을 개발할 때 C 언어를 주로 사용한다.
④ C 언어는 그래픽이나 수치 해석 같은 고성능 라이브러리를 개발할 때 주로 사용된다.

임베디드 시스템[임베디드 프로그램(embedded program)]처럼 시스템 리소스가 충분한 환경에서 프로그램을 개발할 때 C 언어를 주로 사용한다.

 

 

8. 다음 중 C 언어의 장점이 아닌 것은?
① C 언어는 구문이 간결하고, 프로그램 개발에 꼭 필요한 핵심적인 기능들을 제공한다.
② C 언어는 어셈블리어 수준의 기느응ㄹ 제공하면서도 기계-독립적인 프로그램을 작성할 수 있다.
③ C 언어는 배우기 쉽고 사용하는 데도 별다른 주의 사항이 없다.
④ C 언어는 개발자에게 최대한의 자유를 제공한다.

③ C 언어는 배우기 쉽고 사용하는 데도 별다른 주의 사항이 없다.[어렵고 사용하기도 어렵다.]

 

 

9. PC나 노트북처럼 범용 목적의 컴퓨터가 아니라 가전제품, 자동자, 네트워크 장비처럼 특수 목적의 컴퓨터를 내장하고 있는 장치에서 수행되는 프로그램을 무엇이라고 하는가?
① 모바일 앱 ② 데스크톱 응용 프로그램
③ 웹 프로그램 ④ 임베디드 프로그램

④ 임베디드 프로그램

 

 

10. 다음은 일반적인 C 프로그램의 개발 과정이다. 그림의 ①과 ②에 각각 알맞은 단계는 무엇인지 쓰시오.
다음은 일반적인 C 프로그램의 개발 과정이다. 그림의 ①과 ②에 각각 알맞은 단계는 무엇인지 쓰시오.

① 컴파일

② 링크

 

 

11. C 프로그램 개발 과정에 대한 설명 중 잘못된 것은?
① 소스 코드를 작성할 때는 일반적인 텍스트 편집기를 사용할 수 있다.
② 전처리기는 소스 파일을 컴파일하기 위해 준비한다.
③ 소스 파일이 여러 개일 때는 소스 파일마다 개별적으로 컴파일이 수행된다.
④ 링크 단계에서 라이브러리를 오브젝트 파일과 연결한다.
⑤ 전처리기는 C 문법에 따라 구분 분석을 한다.

⑤ 전처리기는 C 문법에 따라 구분 분석을 한다.다른 파일을 포함(include)하거나, 소스 파일 내의 특정 문자열을 다른 문자열로 대치(replace)하는 기능을 제공한다.

 

 

12. Visual Studio처럼 한 화면에서 소스 파일 편집, 컴파일 및 링크, 실행, 디버깅 등을 수행하는 프로그램을 무엇이라고 하는가?

통합 개발 환경(Inte-grated Development Environment, IDE)

 

 

13. Visual Studio의 프로젝트와 솔루션에 대한 설명 중 잘못된 것은?
① 디폴트로 프로젝트를 생성하면 솔루션이 함께 생성된다.
② 프로젝트는 반드시 솔루션에 포함되어야 한다.
③ 관련된 프로젝트를 여러 개 묶어서 솔루션에서 관리할 수 있다.
④ 솔루션과 프로젝트는 일대일로 대응된다. 즉, 프로젝트 하나당 솔루션이 하나이다.

솔루션과 프로젝트는 일대일로 대응된다. 즉, 프로젝트 하나당 솔루션이 하나이다.[프로젝트들을 묶어서 관리하는 데 솔루션을 사용한다.]

 

 

14. C 컴파일러의 역할이 아닌 것은?
① 다른 파일을 포함하거나, 소스 파일 내의 특정 문자열을 다른 문자열로 대치해서 소스 파일을 컴파일하기 위해 준비한다.
② C 구문 분석을 수행한다.
③  컴파일 에러가 없으면 오브젝트 코드를 생성한다.
④ 오브젝트 코드와 라이브러리를 링크한다.
⑤ 소스 파일을 분석해서 컴파일 에러를 자동으로 수정한다.

⑤ 소스 파일을 분석해서 컴파일 에러를 자동으로 수정한다.[메시지를 출력해준다.]

 

 

15. 컴파일 결과 생성된 오브젝트 파일과 라이브러리를 링크해서 최종 실행 파일을 생성하는 프로그램을 무엇이라고 하는가?

링커

 

 

16. 다음 중 컴파일 과정에서 발생하는 에러가 아닌 것은?
① 전처리기 에러 ② 컴파일 에러
③ 링크 에러 ④ 실행 에러

④ 실행 에러

 

 

17. C 언어와 C++ 언어에 대한 설명 중 잘못된 것은?
① C 언어를 이어받아 객체지향성을 추가한 것이 C++ 언어이다.
② C++ 언어는 C 언어와의 호환성을 제공한다.
③ C로 작성된 프로그램을 C++로 변환하려면 소스 파일의 확장자를 .c에서 .cpp로 변경한다.
④ C 컴파일러와 C++ 컴파일러는 서로 다른 프로그램인 경우가 많다.

④ C 컴파일러와 C++ 컴파일러는 서로 다른 프로그램인 경우가 많다.[이다.]

 

 

18. Visual Studio가 제공하는 기능이 아닌 것은?
① 프로젝트를 생성하는 기능 ② 소스 파일 편집기
③ 컴파일 및 링크 ④ 디버깅
⑤ 소프트웨어 요구 분석  

⑤ 소프트웨어 요구 분석

 

 

19. Visual Studio에서 컴파일 및 링크 기능을 무엇이라고 하는가?
① 문서 서식 ② 책갈피
③ 빌드 ④ 디버깅

③ 빌드

 

 

 

사람이 여행을 하는 것은 도착하기 위해서가 아니라 여행하기 위해서이다.

- 괴테
반응형