Next:
The C Program
Programming in C
The C Program
The Minimum C Program
A more useful minimal C program
Creating, Compiling and Running Your Program
Creating the program
Compilation
Running the program
The C Compilation Model
The Preprocessor
C Compiler
Assembler
Link Editor
Using Libraries
Characteristics of C
History of C
Exercises
Basic C Programming
C Program Structure
Variables
Defining Global Variables
Printing Out and Inputting Variables
Arithmetic Operations
Comparison Operators
Logical Operators
Order of Precedence
Exercises
Conditionals
The
if
statement
The
?
operator
The
switch
statement
Exercises
Looping and Iteration
The
for
statement
The
while
statement
The
do-while
statement
break
and
continue
Exercises
Arrays
Single and Multi-dimensional Arrays
Strings
Exercises
Functions
void
functions
Functions and Arrays
Function Prototyping
Exercises
Further Data Types
Structures
Defining New Data Types
Unions
Coercion or Type-Casting
Enumerated Types
Static Variables
Exercises
Common Mistakes in C
Assignment (=) vs Comparison (==)
Passing pointer address
Missing () of a function
Array indices
Character arrays and pointers
C is Case Sensitive
Semicolons end every statement
Pointers
What is a Pointer?
Pointer and Functions
Pointers and Arrays
Arrays of Pointers
Multidimensional arrays and pointers
Static Initialisation of Pointer Arrays
Pointers and Structures
Common Pointer Pitfalls
Not assigning a pointer to memory address before using it
Illegal indirection
Exercises
Dynamic Memory Allocation
Malloc
Linked Lists
Exercises
Input and Output (I/O)
Streams
Predefined Streams
Redirection
Basic I/O
Formatted I/O
Printf
scanf
Files
Reading and writing FILES
sprintf and sscanf
Command line input
Low Level I/O
Exercises
Low Level Operators
Bitwise Operators
Bit Fields
Exercises
The C Preprocessor
#define
#undef
#include
#if - Conditional inclusion
Exercises
Writing Larger Programs
Header files
External variables and functions
Scope of externals
The Make Utility
Make Programming
Creating a makefile
Make macros
Running Make
UNIX and C
Advantages of using UNIX with C
Using UNIX System Calls and Library Functions
File and Directory Manipulation
Directory handling functions
File Manipulation Routines
errno
Process Control and Management
Running UNIX Commands from C
execl()
fork()
wait()
exit()
Piping in a C program
popen()
- Formatted Piping
pipe()
- Low level Piping
Interrupts and Signals
Sending Signals -
kill()
Receiving signals -
signal()
Times Up!!
Exercises
Ceilidh - On Line C Tutoring System
Why Use CEILIDH ?
Introduction
Using Ceilidh as a Student
The course and unit level
The exercise level
Interpreted language exercises
Question/answer exercises
The command line interface (TEXT CEILIDH ONLY)
Advantages of the command line interface
General points
Conclusions
How Ceilidh works, Ceilidh Course Notes, User Guides etc.
References
Common C Compiler Options
Compiler Options
C Standard Library Functions
Buffer Manipulation
Character Classification and Conversion
Data Conversion
Directory Manipulation
File Manipulation
Input and Output
Stream 1/0
Low level I/O
Mathematics
Memory Allocation
Process Control
Searching and Sorting
String Manipulation
Time
Program Listings
hello.c
printf.c
swap.c
args.c
arg.c
average.c
cio.c
factorial
power.c
ptr_arr.c
Modular Example
main.c
WriteMyString.c
header.h
Makefile
static.c
malloc.c
queue.c
bitcount.c
lowio.c
print.c
cdir.c
list.c
list_c.c
fork_eg.c
fork.c
signal.c
sig_talk.c
Piping
plot.c
plotter.c
externals.h
random.c
time.c
timer.c
Using Dec Workstations and Unix
About this document ...
drago@scri.fsu.edu
Jan. 1997