본문 바로가기
작업/Programming

Perfect C 프로그래밍 연습 2, 3장 해결

 

안녕하세요. 천보기입니다.

코로나에 의해 사이버 강의로 하루하루를 보내고 있습니다.

 

 

공부를 하면서 프로그래밍 언어에 대해 무지해진 것 같은 느낌이 많이 들어서

C언어를 공부하며 블로깅을 시작했습니다.

 

 

이전에 공부했던 Perfect C를 다시 소환하였고, 정리할 겸 글을 적었습니다.

 

 

모든 문제와 풀이를 적으면 큰 작업이 될 것이라 생각하여

문제 글을 생략하고 답도 부분만 적었습니다.

 

 


2장 문제 풀이

 

 

교재의 2장은 간단하게 출력하는 방법에 대해 기술되었습니다.

교재의 3장은 코딩할 때 자주 실수하는 문법에 대해, 사용되는 자료형에 대해 기술되었습니다.

 

 

2장 프로그래밍 문제는 간단해서 몇 개 안 했습니다. (1-1, 2-1, 4번 문제)

 

 

문제 의도는 printf() 함수와 그 안에 문장 삽입을 정확히 하는지 알기 위함입니다.

따라서 printf() 함수 써서 그대로 적어 출력시키면 됩니다.

 

 

 


3장 문제 풀이

 

 

3장은 간단하지만 앞으로 계속 사용할 중요한 부분이 많이 담겨 있습니다.

 

 

1번에서는 제시된 문자와 상수를 적절히 출력할 수 있는지 질문합니다.

문제에 제시되지 않았지만 문자 \(backslash)%(percent)는 기호로도 사용되는 문자입니다.

따라서 독립적으로 사용하면 기호로 인식하여 출력에 문제가 발생합니다.

 

 

이들은 같은 문자를 2번 적음(\\, %%)으로 문자임을 인식시킬 수 있습니다.

 

 

실수를 입력하는 부분에서는 자릿수 맞추는 방법을 추가하였습니다.

float형 실수의 경우 출력시에 자동으로 소수점 6자리까지 맞추어 출력시킵니다.

 

 

남는 자리는 0으로 채워지게 되는데 소수 자리의 출력을 제한시키려면

%f의 %와 f사이에 .3 .4 같이 점과 숫자를 적어(%.3f, %.4f) 소수 자릿수를 정의합니다.

또한, 수 전체의 간격을 맞추려면 %4f  %5d 형식처럼 앞에 수를 적습니다.

 

 

 

프로그래밍에서는 수의 총 간격 15자리, 소수자리는 4자리까지만 출력시켰습니다.

결과물을 통해 어떻게 출력되는지 비교해보시기 바랍니다.

 

 

 


 

 

2번에서는 자료형에 맞는 기호를 적절히 사용하는지에 대해 질문합니다.

 

 

10진수 정수형은 %d, 8진수 정수형은 %o, 16진수 정수형은 %x

 

 

추가적으로 10진수를 8, 16진수로 바꾸는 것도 작성하였습니다.

 

 

출력은39, 991 그리고 27, 18이 나옵니다.

 


 

문제 6, 7번은 같이 해결하였습니다. 변수를 정의하여 계산식에 활용하는 문제입니다.

 

정수 연산에서는 정수형식의 수(2)를 사용했고

실수 연산에서는 실수형식의 수(2.0)를 사용했네요.

 

 

실수형 연산 값은 자리를 맞추지 않은 순수한 float형 계산 결과가 나옵니다.

(소수 6자리 자동 출력)

 

 


 

문제 14, 17번도 자료형에 맞는 기호를 적절히 사용하는지에 대한 질문입니다.

 

 

14번의 목적은 '문자' 출력입니다. 따라서 자료형 문자를 출력하는 %c를 사용하시면 됩니다.

17번은 2번과 마찬가지로 10진수 정수형은 %d, 8진수 정수형은 %o, 16진수 정수형은 %x

 

 

 

다만 대입하려는 값은 문자형식으로 만들어 주어야 정확히 인식을 합니다.

문자 형식은 작은따옴표 안에 값을 넣으시면 됩니다.

 

 

 

시작하려고 하면 항상 다른 거 하는 핑계대면서 미루는게 일상인데

막상 시작하면 재밌고 괜찮은 것 같네요...★

열심히 공부해 보겠습니다.

 

 

-끝-