Functions and Modular Programming
CHAPTER 2 First Steps in Programming
Division Using Floating-Point Values
Controlling the Number of Decimal Places
Controlling the Output Field Width
Introducing the sizeof Operator
Choosing the Correct Type for the Job
Rules for Implicit Conversions
Implicit Conversions in Assignment Statements
Character Input and Character Output
Variables to Store Boolean Values
Expressions Involving Relational Operators
Extending the if Statement: if-else
Using Blocks of Code in if Statements
Operator Precedence: Who Goes First?
Using else-if Statements for Multiple Choices
The op= Use of Bitwise Operators
Introducing the Increment and Decrement Operators
General Syntax of the for Loop
More on the Increment and Decrement Operators
The Prefix and Postfix Forms of the Increment Operator
Modifying the for Loop Variable
Limiting Input Using a for Loop
Generating Pseudo-Random Integers
Floating-Point Loop Control Variables
Nested Loops and the goto Statement
Initializing Multidimensional Arrays
CHAPTER 6 Applications with Strings and Text
String- and Text-Handling Methods
Copying Strings Using a Library Function
Determining String Length Using a Library Function
Joining Strings Using a Library Function
Analyzing and Transforming Strings
Converting Strings to Numerical Values
Working with Wide Character Strings
Operations on Wide Character Strings
Testing and Converting Wide Characters
Accessing a Value Through a Pointer
Multidimensional Arrays and Pointers
Dynamic Memory Allocation: The malloc() Function
Memory Allocation with the calloc() Function
Releasing Dynamically Allocated Memory
Handling Strings Using Pointers
String Input with More Control
CHAPTER 8 Structuring Your Programs
Pointers As Arguments and Return Values
Returning Pointer Values from a Function
Incrementing Pointers in a Function
Declaring a Pointer to a Function
Calling a Function Through a Function Pointer
Arrays of Pointers to Functions
Pointers to Functions As Arguments
Static Variables: Keeping Track Within a Function
Sharing Variables Between Functions
Functions That Call Themselves: Recursion
Functions with a Variable Number of Arguments
Basic Rules for Variable-Length Argument Lists
Libraries of Functions: Header Files
CHAPTER 10 Essential Input and Output Operations
Characters in the Input Format String
Variations on Floating-Point Input
Reading Hexadecimal and Octal Values
Reading Characters Using scanf()
String Input from the Keyboard
Unformatted Input from the Keyboard
Formatted Output to the Screen Using printf()
Outputting Floating-Point Values
Unformatted Output to the Screen
Defining Structure Types and Structure Variables
Dynamic Memory Allocation for Structures
Structures As Members of a Structure
Declaring a Structure Within a Structure
Pointers to Structures As Structure Members
Structures As Arguments to Functions
Pointers to Structures As Function Arguments
A Structure As a Function Return Value
An Exercise in Program Modification
Structures and the typedef Facility
Simplifying Code Using typedef
Writing Strings to a Text File
Reading Strings from a Text File
Formatted File Input and Output
Further Text File Operation Modes
Creating a Temporary Work File
Reading a Record from the Keyboard
Updating the Existing File Contents
CHAPTER 13 Supporting Facilities
Including Header Files in Your Programs
External Variables and Functions
Substitutions in Your Program Source Code
Macros That Look Like Functions
Preprocessor Directives on Multiple Lines
Joining Two Results of a Macro Expansion
Logical Preprocessor Directives
Directives Testing for Specific Values
The Date and Time Function Library
APPENDIX A Computer Arithmetic
Big-Endian and Little-Endian Systems
APPENDIX B ASCII Character Code Definitions
APPENDIX C Reserved Words in C
18.223.170.223