클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

C++ 시작하기 3 : 단원 연습문제 풀기 본문

프로그래밍 언어/C++

C++ 시작하기 3 : 단원 연습문제 풀기

huenuri 2024. 8. 25. 11:03

이어서 2단원 연습문제를 풀어본다. 조금 쉬운 문제들도 있어 틀린 문제 위주로 정리하려 했으나, 모든 문제들이 중요해서 한번씩 쓰면서 정리해본다.

그럼 바로 시작해본다.


 

 

연습문제 풀기

 

1. C++ 프로그램을 구성하는 모듈을 무엇이라 부르는가?

함수이다.
난 main 함수라고 적었다. 하지만 함수라는 답이 더 맞을 것 같다.

 

2. 다음과 같은 전처리 지시자가 하는 역할은 무엇인가?

 #include <iostrem>

 

컴파일 하기 전에 소스 파일에 대해 어떤 처리를 수행한다고 적었으나, 이건 컴파일에만 극한되고 iostrem이 하는 역할까지 서술해야 할 것 같다.

컴파일 하기 전에 이 지시자를 iostream 파일의 내용으로 대체한다.

 

 

3. 다음과 같은 구문이 하는 역할은 무엇인가?

using namespace std;

 

std 모든 공간에 정의되어 있는 모든 이름을 사용할 수 있다.

 

 

4. "Hello, world"라는 문자열을 출력하고 새 행을 시작하려면 어떤 구문을 사용해야 하는가?

cout << "Hello, world" << endl;

 

5. cheeses라는 이름의 정수형 변수를 생성하려면 어떤 구문을 사용해야 하는가?

int cheeses;

 

 

6. cheeses라는 변수에 값 32를 대입하려면 어떤 구문을 사용해야 하는가?

int cheeses;

 

7. 키보드로부터 값을 입력받아 cheeses에 대입하려면 어떤 구문을 사용해야 하는가?

cin >> cheeses;

 

8. "We have X varieties of cheese"를 출력하되, X 자리에 변수 cheeses에 현재 들어있는 값을 출력하려면 어떤 구문을 사용해야 하는가?

x = cheeses;
cout << "We have ";
cout << cheeses;
cout << "varieties of cheese" << endl;

 

이렇게 풀었는데 이 구문을 하나로 연결할 수 있다는 것을 알게 되었다.

cout << "We have " << cheeses << " varieties of cheese" << endl;

 

여기서 문자가 붙지 않도록 스페이스 바로 띄어주는 것을 잊지 말자!

 

 

9. 다음과 같은 함수 원형을 보고, 그 함수에 대해 무엇을 알 수 있는가?

int froop(double t);
void rattle(int n);
int prune(void);

  • froop는 매개변수가 double인 t이고 int형으로 반환된다.
    int gval = froop(3.14159);
  • rattle은 매개변수가 int인 n이고, 반환값은 없다.
    rattle(37);
  • prune은 매개변수는 없고 int형으로 반환된다.
    int residue = prune();

 

10. 함수 정의에서 return이라는 키워드가 필요 없을 때는 언제인가?

반환값이 없을 때(void). 리턴값을 제공하지 않으면 return;이라고 쓸 수 있다.

마지막 문제는 지금 안 풀어도 될 것 같아 넘어가기로 했다.
이렇게 문제를 푸니 개념이 잡히고 정말 좋은 것 같다.