1. Course Introduction
Course Objectives
Course Overview
Suggested References
2. Introduction to C
What is C?
Features of C
Why Program in C?
History of C
Current Status and Future
3. An Overview of C
The First Program (hello.c)
How to Compile and Run a C Program
An Arithmetic Program (roof.c)
Execution Flow Co
ntrol (mph.c)
The for Loop
The for Loop -Diagram
Character I/O
A File Copier Program (cp2.c)
A Character Counter (wc2.c)
A Look at Arrays
Stock Values (stock1.c)
The char Data Type
Strings (Character Arrays)
A String Copy Program (stringcp.c)
A Look at Functions
A Functional Program (func1.c)
A Review of printf()
4. Data Types and Variables
Fundamental Data Types
Data Type Values and Sizes
Variable Declarations
Variable Names
Constants
Character Constants
String Constants
5. Operators and Expressions
What are Expressions?
Arithmetic Operators
Relational Operators
Assignment Operator
Expressions Have Resulting Values
True and False
Logical Operators
Increment and Decrement Operators (++ and --)
Increment and Decrement Operators: Examples
'Operate - Assign' Operators (+=, *=, ...)
Conditional Expression
Operator Precedence
Precedence and Order of Evaluation
Evaluation of Logical Operators
Type Conversions
The Cast Operator
Bitwise Logical Operators
6. Control Flow
Statements
if - else
if() - else if()
switch()
while()
do - while()
for()
The for Loop - Diagram
Example: for() Loop
Another Example: for() Loop
The break Statement
The continue Statement
7. Functions
What is a Function?
Example: findbig3()
Why Use Functions?
Anatomy of a Function
Example: find_big_int()
Arguments Passed by Value
Addresses of Arguments Can Be Passed
A Picture of Addresses and Values
When to Use the Return Statement
Returning Non - Integer Values
Functions in Multiple Source Files
A Simple make File
The Concept of Variable Scope
Automatic Variables
Global (External) Variables
Static Variables
External Static Variables
8. The C Preprocessor
Symbolic Constants
Macro Substitution
File Inclusion
9. Pointers and Arrays
What is a Pointer?
Pointer Operators
Example: Pointers
Why Use Pointers?
Arrays
Arrays (a Picture)
The & Operator
Pointers and Arrays
Pointer Arithmetic
Pointer Arithmetic (a Picture)
Arrays and Pointers
Array Names are Constant Pointers
Passing Arrays to Functions
Initializing Arrays
10. Advanced Pointers
Pointer Initialization
Command - Line Arguments
Strings and Character Pointers
Arrays of Pointers
Access Through Pointers
Functions and Pointers
Example: Functions and Pointers
11. Structures
Structures
Comparison of Structures and Arrays
Structure Definitions
Structure Declarations
Structure Parameter Passing by Reference
Pointers to Structures
Structure Parameter Passing Again
Arrays of Structures
The malloc Routine
12. Appendix (also discussed if time allows)
File I/O in C
File Streams
Predefined Streams
The fprintf Function
The fscanf Function
fscanf() Examples
The fputs and fgets Functions
The fwrite and fread Functions
System I/O