Humble Bundle wrote: |
---|
"We've teamed up with No Starch Press for our newest bundle! Get ebooks like PowerShell for SysAdmins, Effective C, The Rust Programming Language, and The Linux Command Line, 2nd Edition and bring a new level of brilliance to your programming practices! Plus, your purchase helps support Girls Who Code & The No Starch Press Foundation!" |
Terms_Of_Service wrote: |
---|
as well as you will not use these services or the data provided through them for unauthorized solicitation or advertising. |
agent max wrote: |
---|
But please realize this is against the site's policy, and so some nitpicker decided they needed to report it. |
agent max wrote: |
---|
Who is twicker? Admin? |
and wrote: |
---|
But yes, I am planning to get at least the Effective C book...if it goes above and beyond linked lists, which is where my current textbook ends. |
What’s in This Book This book starts with an introductory chapter that covers just enough material to get you programming right from the start. After this, we circle back and examine the basic building blocks of the language. The book culminates with two chapters that will show you how to compose real-world systems from these basic building blocks and how to debug, test, and analyze the code you’ve written. The chapters are as follows: Chapter 1: Getting Started with C You’ll write a simple C program to become familiar with using the main function. You’ll also look at a few options for editors and compilers. Chapter 2: Objects, Functions, and Types This chapter explores basics like declaring variables and functions. You’ll also look into the principles of using basic types. Chapter 3: Arithmetic Types You’ll learn about the two kinds of arithmetic data types: integers and floating-point types. Chapter 4: Expressions and Operators You’ll learn about operators and how to write simple expressions to perform operations on various object types. Chapter 5: Control Flow You’ll learn how to control the order in which individual statements are evaluated. We’ll start by going over expression statements and compound statements that define the work to be performed. We’ll then cover three kinds of statements that determine which code blocks are executed, and in what order: selection, iteration, and jump statements. Chapter 6: Dynamically Allocated Memory You’ll learn about dynamically allocated memory, which is allocated from the heap at runtime. Dynamically allocated memory is useful when the exact storage requirements for a program are unknown before runtime. Chapter 7: Character and Strings You’ll learn about the various character sets, including ASCII and Unicode, that can be used to compose strings. You’ll learn how strings are represented and manipulated using the legacy functions from the C Standard Library, the bounds-checking interfaces, and POSIX and Windows APIs. Chapter 8: Input/Output This chapter will teach you how to perform input/output (I/O) operations to read data from, or write data to, terminals and filesystems. I/O involves all the ways information enters or exits a program, without which your programs would be useless. We’ll cover techniques that make use of C Standard streams and POSIX file descriptors. Chapter 9: Preprocessor You’ll learn how to use the preprocessor to include files, define object- and function-like macros, and conditionally include code based on implementation-specific features. Chapter 10: Program Structure You’ll learn how to structure your program into multiple translation units consisting of both source and include files. You’ll also learn how to link multiple object files together to create libraries and executable files. Chapter 11: Debugging, Testing, and Analysis This chapter describes tools and techniques for producing correct programs, including compiletime and runtime assertions, debugging, testing, static analysis, and dynamic analysis. The chapter also discusses which compiler flags are recommended for use in different phases of the software development process. You’re about to embark on a journey from which you will emerge a newly minted but professional C developer. |