Learn To Program In C
Class Description:
The C programming language is nearly 50 years old but still the most popular.
Compilers for this language can be found for practically every computing
platform or device, from huge supercomputers to your calculator or phone.
In this course you will learn to use the C language to write programs on your PC
and see examples of programming on other platforms such as microcontrollers and
single board computers.
Requirements:
No previous programming experience is necessary but basic computer skills are required.
Please bring a Windows laptop to the class if you have one.
Class Size Minimum: 4 Maximum: 12
Learn To Program In C course outline
Session 1:
Why Learn C?
Software Setup and Demo
Your First Program – Hello World!
Statements & Comments:
Termination
Compound statements
Block & single line comments
More about printf():
Data Types & Variables:
Naming
Declaration
Flow Control:
if, else
for
while
do-while
Preprocessor Directives:
#include
#define, #undef
#if, #else, #endif,
#ifdef, #ifndef,
Macros
Session 2:
Operators:
Assignment
Increment / Decrement
Arithmetic
Relational
Logical & Bitwise
Conditional
More on Variables:
Initialization
Scope
Arrays:
Declaring & Initializing Arrays
Multidimensional Arrays
Accessing Arrays
Functions:
Declaration
Arguments & Return parameters
Variable argument list
Flow Control:
Switch
break & continue
Session 3:
The Standard C Library header files
<assert.h> Defines the assert macro used for diagnostic messages
<complex.h> Defines functionality for complex arithmetic
<ctype.h> Declarations for character classification functions.
<errno.h> Defines macros to report error conditions through error codes
<fenv.h> Various functions and macros for manipulating the floating-point environment
<float.h> Contains macros that expand to various limits and parameters of the standard floating-point types
<inttypes.h> Defines a number of macros for use with printf and scanf
<iso646.h> Allows use of bitwise and logical operators that cannot be typed on some keyboards
<limits.h> Definitions of the characteristics of common variable types
<locale.h> Used for purposes of localization
<math.h> Macros and definitions designed for basic mathematical operations
<setjmp.h> Provide "non-local jumps": control flow that differs from the usual subroutine call and return
<signal.h> Specifies how a program handles external or internal signals while it executes
<stdarg.h> Allows functions to accept an indefinite number of arguments.
<stdbool.h> Contains macros for a Boolean data type
<stddef.h> Defines the macros NULL , offsetof and types ptrdiff_t, wchar_t, and size_t.
<stdint.h> Provides a set of typedefs that specify exact-width integer types
<stdio.h> Macros , constants, functions and types used for standard input and output operations
<stdlib.h> Includes functions for memory allocation, process control, conversions and others
<string.h> Macro definitions, constants, functions and types for string and memory handling
<tgmath.h> Macros that can be used for a variety of mathematical operations
<time.h> Declares time and date functions
<wchar.h> Extended multibyte and wide character utilities
<wctype.h> Functions and macros for classifying and mapping wide characters
Pointers:
Structures:
Strings & String Functions:
a. strlen()
b. strcpy(), strncpy()
c. strcat(), strcmp(), strstr()
Simple File I/O:
a. fopen(), fclose(), feof()
b. fgets(), fclose(), fread()
Session 4:
Windows Programming :
The Win32 API
Messages and Message Loops
Dialogs and the Resource Editor
Your first Windows program HelloWin.c
Registering the Window Class
Creating A Window
The Message Loop
The Window Procedure
Standard controls