c언어 문제풀이식에 대해

whs9400의 이미지

안녕하세요. 오랜만에 활동을 다시 하네요 아닝가?..

암튼 제가 요즘에 여러가지 공부를 하고 있습니당.
특히 안드로이드 앱 프로그래밍에 점점 재미를 느끼고 있는데요. 그렇다고 해서 c언어를 감히 안할수도 없는 노릇이고 그래서 c언어도 하고 있습니다.
하지만 제가 c언어의 반복문에 들어왔는데 너무 어렵더라구요.. 문제를 풀다 보면 아아 이거 왠지 이렇게 하면 될것 같으면서도 머릿속에서 떠오르지가 않고 그러다보니깐 어느순간 인터넷에 검색을 하고 있습니다. 지금 읽고 있는 서적은 "열혈 C 프로그래밍" 윤성우 저자, 인데요. 반복문이 너무 어려워서 강의를 듣다보니 이 분께서 하시는 말씀이 일단은 문제를 한번 보고 풀다가 풀리지 않으면 뒤에 답을 보고 어떻게 푸는지만 알면 넘어가도 좋다고 그러시더라구요?? 반복문을 말씀하시는건지 전체 범위를 말씀하시는건지는 모르겠으나, 이해가 아니고 머리에서 나오는것보다 손에서 나오는거에 대해서 더 강조를 하시더라구요. 맞는 방법인지 모르겠어서 여기에 질문을 남깁니다. 어느 블로그에서는 문제풀이식의 방법이 좋지 않다고 강조를 하더라구요.
맞는것 같지만ㅎㅎ 그래도 경험이 많으신분들께서 답변을 해주시면 도움이 될것 같습니다!

whs9400의 이미지

그리고 c언어 책 하나 추천해주시면 감사하겠습니다.

KNK는 C언어 표준에 입각해서 쓰여진 책이며 전세계의 다양한 고수들에 의해서 검증된 책이다.
현재 2판이 나와있으며 가장 많이 쓰이는 C99(1999년 표준)에 입각해서 쓰여져 있다.
* K.N.King : http://knking.com

K&R은 C언어의 창시자인 데니스 리치(Dennis Ritchie)와 브라이언 커니한(Brian Kernighan)의 저술했다.
ANSI-C(1989년)의 구식 내용이지만, 짧은 내용속에 나와있는 예제들이 C언어의 설계철학을 담고 있다.
KNK로 기본기를 다진 뒤에 K&R을 두어번 읽고나면 자신도 모르는 사이에 C언어 철학을 이해하게 된다.
참고로 K&R은 공부를 한다기보다는 읽으면서 행간에 함의하고 있는 뜻이 무엇인지를 생각해야 한다.
(K&R의 내용만 보면 지금 컴퓨팅 환경과는 많이 다르기 때문에 그대로 적용한다는 생각은 버려야 한다.)

이 두 책을 읽고 난뒤에 다른 C언어 사파무공책을 보면 장단점이 잘 보일 것이다.
다른 책의 장단점이 보이기 시작한다는 것은 본인의 정종내공이 깊어져서 안목이 높아진 것을 반증한다.

(참고) 고수 세계에서는 이 두 책을 보지 않은 프로그래머를 신뢰하지 않는 사람들이 많다.
왜 그런지는 책을 통독해보면 자연스럽게 알게된다.

그리고 다른 책을 보다보면 꼭 명심해야 할 것이 있다.
어떤 책이든 틀린 부분이 있을 수 있다. 하지만 많은 고수가 검증한 책은 대체적으로 틀린 부분이 적은 편이다.
참고로 네이버, 다음같은 포털에서 추천평이 많거나 베스트셀러라고 좋은 책이라는 보장은 없다.
오히려 C언어 베스트셀러 책은 문제가 많았다. 비유가 잘못된 경우도 많았고, 내용자체가 잘못된 경우도 많았다.
일단 C99가 무엇인지 소개하지 않거나 C표준이 생긴 이유와 역사가 없는 책은 좋지 않은 책일 가능성이 높다.

= 결론 : 검증된 책으로 공부해야 한다.(인터넷 댓글, 동아리 선배가 추천한 책보다 고수들에게 검증된 책을 믿자.)

sns하시는분 계신다면 sns를 통해서 c언어 조언이랑 c언어에 대한 모든것을 배우고 싶습니다.
가르쳐주실수 있으신분 계신가요?..

-----------------------------------------------------------------------------------------------------
'Python'

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.