Beginning C Programming Class
(Language Syntax)

Abstract This course covers the syntax of the entire ANSI C programming language. Covering the entire language means providing a combination of lectures, course notes and exercises describing every key word and every operator defined by the ANSI C Standard. In addition, many of the functions in the ANSI C Standard Runtime Library are covered

 

Objectives After completing this course, the student will be able to:
 
  • Write small but meaningful C programs
  • Know the basic and derived data types available in the C programming language
  • Know how to avoid some common problems associated with pointers
  • Dynamically allocate and free memory
  • Use the C runtime library functions that manipulate
    • Files
    • Strings
    • Memory
   
Audience Programmers who wish to learn C for its own sake
Mainframe professionals who wish to learn object oriented programming
   
Prerequisites None
   
Lecture Topics Arrays
ASCII data
ASCII files
Automatic variables
Basic data types
Binary data
Binary files
Command line parameters
Constants
Decisions, complex

Decisions, simple
Derived data types
Dynamic memory allocation
External variables
Formatted output
Function syntax
Global variables
Include files
Labels
Library functions
Loops Macros
Modular programming
Operator, conditional
Operator, sizeof
Operators, arithmetic
Operators, bitwise
Operators, logical
Operators, relational
Pointers
Preprocessor directives

Recursion
Register variables
Static, meanings of
Structured programming
Structures
TRUE and FALSE
Unions
Void, meanings of

   
The following C runtime library functions are covered by the course
abort()
atexit()
atof()
atoi()
calloc()
difftime()
exit()
fclose()
fflush()
fgets()
fopen()
fprintf()
fputs()
fread()
free()
fscanf()
fseek()
ftell()
fwrite()
getchar()
isalnum()
isalpha()
iscntrl()
isdigit()
islower()
isprint()
ispunct()
isspace()
isupper()
isxdigit()
localtime()
malloc()
memcmp()
memmove()
memset()
printf()
putchar()
realloc()
rename()
rewind()
strcat()
strcat()
strchr()
strcmp()
strcpy()
strftime()
strlen()
strncmp()
strncpy()
strrchr()
strtok()o
system()
time()
tmpfile()
   
The following sections of the ANSI C Standard are covered by the course
  A02.04
A04.02
A07
A07.08
A07.16
A08.01
A08.02
A08.03
A08.09
A09.01
A09.04
A09.05
A09.06
A11.02
A12.03
B01.01
B01.02
B01.03
B01.04
B01.05
B01.06
B02
B03
B05
B10
B11
Table B-2
   
Exercises The following topics are covered in one or more exercises
array syntax
BCD math
bit manipulation
bit operators
command line
complex decisions
data types
debugger
dynamic memory allocation
file functions
function syntax
functions
loops
modular programming
parse a line
pointer syntax
parameters printf()
realloc()
reusable code
string functions
structure syntax
structures
typedefs
   
The following is a list of the hands-on exercises the students will do
  Using the C Compiler
Using the Debugger
Simple Functions
Integer Math
Complex Decisions
Program Control (for Loops)
Function Review
Arrays and Pointers
String Functions
Parse a Line
Using qsort()
Use a Tree
Bit Operators
Practice With File I/O
   
Author's Background
  Arthur Kevin McGrath has programmed in C since 1983. He has taught short technical courses in the United States, Canada, Europe and Latin America. Other areas of expertise include C++ programming, software project management and various quality assurance topics.
   
Required Equipment Client must supply one computer for each student that has at least the following configuration
  • 80486 CPU or better
  • 16 megabytes RAM 0 500 megabytes hard disk
  • Drive A: must be a 3.5 inch high density (1.44 megabyte) floppy
  • VGA (or better) monitor and card
  • Mouse
  • ANSI C Compiler
  • Text Editor

If the client can supply a printer that the class can share, the students will be able to:

  • Print their source code
  • Better evaluate their work Client must also supply two overhead projectors and two screens
   
Business Impact of the C Language Syntax
 

The programming world is transitioning to C++ and object oriented analysis and programming languages. Training in C is critical because

  • The programming that takes place inside a C++ class is a superset of C programming
  • C++ classes are based on C structures. A solid understanding of structure syntax is needed to program in C++
  • C++ programmers need a thorough understanding of C pointers in order to understand the behavior of C++
  • The C language runtime library is still needed in C++ for text processing, date and time services, and other useful details. The date and time functions in the C runtime library solved the Year 2000 problem almost 25 years ago
 

Phone: 954-784-0900 • Fax: 954-784-0904
E-Mail: info@advancedmsinc.com