This was posted 4 years 4 months 13 days ago, and might be an out-dated deal.

Related
  • expired

[eBook] Free: "C Programming Language: A Step by Step Beginner's Guide" $0 @ Amazon AU, US

1061
This post contains affiliate links. OzBargain might earn commissions when you click through and make purchases. Please see this page for more information.

C Programming Language introduces you to the most commonly used programming language, one that has been the basis for many other versions over the years. It is a great book, not just for beginning programmers, but also for computer users who would want to have an idea what is happening behind the scenes as they work with various computer programs.

In this book, you are going to learn what the C programming language entails, how to write conditions, expressions, statements and even commands, for the language to perform its functions efficiently. You will learn too how to organize relevant expressions so that after compilation and execution, the computer returns useful results and not error messages. Additionally, this book details the data types that you need for the C language and how to present it as well.

Simply put, this is a book for programmers, learners taking other computer courses, and other computer users who would like to be versed with the workings of the most popular computer language, C.

US Link

Related Stores

Amazon AU
Amazon AU
Marketplace
Amazon Cloud Reader
Amazon Cloud Reader

closed Comments

  • +2

    Here is a more modern language and guide to learning

    https://doc.rust-lang.org/stable/book/#the-rust-programming-…

    • +2

      Good to have options but there are differences to be aware of.

      https://drewdevault.com/2019/03/25/Rust-is-not-a-good-C-repl…

      • +1

        Curious as to why the author doesn't care about the memory safety benefit that Rust offers over C. Microsoft seem to be throwing all their support behind Rust and are actively rewriting parts of windows in it as they see it as the future of systems programming simply because it reduces a significant amount of bugs that lead to CVEs. Far from an expert but this is info coming from a talk given by a Microsoft engineer at an open source conf

    • +9

      Learning c isn't just about learning a way to make programs. Learning c involves learning how a computer actually functions under the hood. Arguments about whether it's good to program in c or not aside, there is value in learning why pointers work like they do, why memory allocation and deallocation works like it does and in making all the mistakes c lets you make and understanding what went wrong and why. Short of learning assembly it's the best programming language to familiarise yourself with the metal your programs run on.

      Would I want to work in c every day? Probably not. Am I glad that I learned it? Absolutely.

      • Do you continue to write in C? It sounds like you're arguing that learning C will improve your programming thinking style more generally.

        • +2

          Honestly 99% of the c code I've written in the past 5 years was for arduino. I don't use it day to day. Most of what I've written recently has been python, java for the heavier stuff and R for data manipulation and presentation. PHP for some work projects. I wrote a couple of things in go because I wanted to learn it. It's pretty neat.

          If you're studying things like data structures and algorithms or operating system implementation, then there's just no place like c. It makes you think about every step, but it's not as brain bending as writing stuff in assembly. If you implement a linked list in java, the concepts are there, but when you do it in c, your pointer to head is literally a pointer to head, not an amorphous reference to the first item in the list. It's a small distinction, but there's a hundred of them and it all adds up to a completely different feel. I'd bet that a decent chunk of the java programmers I know couldn't tell you the difference between heap and stack, and probably only one or two of them could tell you where the stack is physically located. And that's fine, they don't want to write an operating system, they want to implement enterprise systems in a sane amount of time and in a way that it can be maintained with a sane amount of effort. Tools for the job as hustleontheside pointed out.

      • +2

        I agree with this, but I'd also state that it depends largely on why they're learning programming in the first place.

        If their goal is to write a few scripts as needed to improve productivity, or to dabble around and hopefully make a basic MVP of a web app then I'd completely recommend foregoing the lessons that C could teach them.

        If they're more "serious" about it as an endeavor, then C can give that ground-level understanding that you often don't get with higher-level languages.

      • I tried learning C back in 2003. I somehow was able to learn how to execute a simple command but I concluded computer programming is not for everyone. You got to have a special kind of mind to learn it and fully understand and write programs and execute them? That was my assessment back nearly 17 years ago. Anyone agrees?

        • Dunno, I learned to program when I was so young that I dunno what it's like for most people :)

          I will say that c is a pretty hard place to start! And that you want to have a project in mind when you start learning to program, something to work towards so that the stuff you're learning doesn't seem like arbitrary weird stuff.

          There's a lot of stupid jingoism when it comes to programming languages, and I'm sure some people on here would laugh at me, but python is a pretty good place to start. You can work up to making a simple game in pygamezero if that interests you. Or a simple web app.

  • +1

    Thanks, didn't know i got this one in 2018….

    • +2

      "You purchased this item on 30 January 2017"

      Still havent read it.

  • +2

    If you do CompSci at Monash you’ll probably need this 😂

    • They have stopped teaching C long ago and instead use OO like Java in their programming units.

      • +3

        Nope, still there, especially if you do CompSci,
        Units such as Operating Systems, Distributed Computing still use C as their preferred language to teach.

        Source: I am a current student.

        • +3

          I did the degree 20 years ago at Monash. Wow still the same subjects.
          I've been exposed to alot of different languages C, C++, C#, Java. Now working with Python.
          I still appreciate C as the foundation for my learning. Pointers and memory management - no memory garbage collectors. Oh the memory leaks!

        • +3

          I did CompSci there but that was 10 years ago. The year I started they had just had their CompSci course overhauled and the core programming units all transitioned from C to Java. I had a good discussion with Peter Tischer (if you do CompSci at Monash, you should know him). He said the change to Java was because OO was gaining popularity and Java was the ‘hit’ language (at the time). Many of the lecturers personally were only into structured languages and not really into OO. Even Maria Garcia De La Banda (again, you should know her) expressed her dismay that the units were changed to Java. If they have reverted back to C then that is great to hear.

          When I did Operating Systems, the assignments they wanted us to use was Python.

          The first language I learn to program was C so it has a special place in me. :)

          • +1

            @FrugalNotStingy: They overhauled the programme over the years I guess.

            Most first year units use Python to teach, except if you do games programming then you’ll have to do C++. Second year onwards, they’ll just use whatever languages that suit the purpose.

            I guess they focus more on teaching the concepts rather than the technical aspects Of the languages.

            • +2

              @henryph-am: Yes, the fundamental of computer science is algorithms, data structures and complexity. Over the years, universities have designed the course to be more vocational oriented (AI, software development, software engineering, data mining). As long as you understand and know how to apply the concepts, what language you use is irrelevant.

              C is really a good language to learn as a first language. Just like learning to drive a manual car. Once you know how to drive a manual car, it becomes easy for you to drive an auto.

    • +2

      Same at UNSW hehe

      • Ooh nice, what's your curriculum like ? :D

    • +1

      hello fellow Monash CompSci grad/student

  • edited

  • +3

    ahhh the fun of pointers and memory leak!

    • +1

      This is one of the most exciting part of C!

      • +1

        don't forget segmentation faults. Damn, that brings memories… makes me want to go and download a copy of GNU c.

  • +1

    Quality issues reported

    on amazon page.

  • how do i make this pdf e book?

    • +3

      If you want to translate it to an epub or some other ebook format, check out calibre. If you google "calibre ebook" you'll find it. You just import the book, right click on it and there will be an option to convert it. Once it's converted you can either just grab the file from the calibre library directory, or if you right click on the book, I think there's an option to see all formats.

  • +1

    uni memories.

    our professor, however, chose Pascal as our first programming language because it was much stricter in definitions and it was easier to learn the basics the right way.

    then we moved on to Visual C++

    I never had to use either in my career, however every modern language has C, Java, Pascal in it's DNA in various proportions. every sensible and useful language I mean! haha

  • +1

    Yeah, but is this better than Kernighan and Ritchie?

    • +2

      I still have that book and I will never sell it! It is the bible of the C language!

      • +1

        Same here. Haven't written a line of c code in years, but every so often I dream of getting back into it. Just need to find a reason to do so… a project of sorts.

        • +1

          I have that planned for the coming months. As we are not allowed overseas travels for sometime I might just going to start getting back to C during the holiday period.

  • +5

    #include <stdio.h>
    printf("Thank you");

  • +1

    It would be perfect if the print statement instead reads:

    printf(“Hello, World! Thank you");

    :D

  • +1

    I learnt C in 1984 using the "white book", by Kernighan and Ritchie, https://en.wikipedia.org/wiki/K%26R.

    I have used many languages over the years but now prefer Python.

    I have also done Performance Testing using LoadRunner which still uses ANSI C. Don't learn C. Learn something useful.

  • My favourite author for C is Hebert Schildt his complete reference and the one on OOP were excellent far better than the uni texts we were asked to use. OOP (dad got from office) was my first book on C and I still recall my university teacher telling me my Hello World would not work because he did not know OOP and I was following the book, he then took my book for several weeks. Prior to that we had done LOGO (who remembers that) , Basic and Pascal at school. But regardless of language they key is understanding Algorithims (algebra) pseduocode or flow chart. If you know one language any other is easy enough to pickup. But the real art is knowing and defining your problem, then creating your algorithm. It’s not that the language is unimportant but if you know your fundas then it’s immaterial. And those fundamentals apply to many other disciplines outside of Programming or IT.
    Define your problem first… else like every Project you will run over time over budget and quality will suffer.

    I think C is good place to start, but Python seems very popular these days. Learning C you do get more appreciation for the underlying “stuff” as I have done C I found other languages easy enough to read and understand Java Eifel R Python

  • Just read some of this book - possibly one of the worst C books I have ever read. And then there’s the English.

Login or Join to leave a comment