This note covers the following
topics: why use c, an example c program, variables and expressions, variable
declaration, variable types, variable names, assignment, arithmetic operators,
increment and decrement operators, cast operators, bitwise operators ,
promotions and conversions , parsing rules , symbolic constants and the
preprocessor, input and output, formatted output printf, conversion specifiers,
literal constants, formatted input scanf, character io getchar putchar,
endoffile, flow of control, relational and logical operators, conditional
branching if, conditional selection switch, iteration while for, local jumps
goto , short circuit behaviour , problems, declaring array variables,
initialising array variables, functions, building blocks of programs, return
value, function parameters, variable function parameters, function
definition and declaration, function prototypes, scope blocks and variables,
blocks and scope, variable storage classes , declaration versus definition, initialisation of variables , arrays pointers and strings, pointers are
addresses, pointers are not integers, the and operators, declaring pointer
variables, pointers and arrays, dynamically sized arrays, the null pointer and
pointer to void, pointer arithmetic, strings, files, file pointers, opening a
file, program arguments, io streams , redirection of io streams , structures
unions and fields, enumerated types, defining new names for types with typedef,
structures, unions , fields , more advanced topics , comma operator, conditional
operator, name spaces, type qualifiers , functions as parameters, preprocessor
macros, assertions, managing c programs, separate compilation, conditional
compilation, using projects in borland c, unix and c, header file
locations, memory usage , text area, data area, the stack, the heap, possible
problems, c and the ibm pc , memory organisation, bios basic io system
interrupts, dos interrupts, dynamic link libraries dlls, windows application
programming interface api, why c, evolution of the c language, c and operating
systems esp unix, comparison with pascal and fortran, availability, portability,
efficiency, modular programming and libraries, applications, kernighan ritchie c
vs ansi c, criticisms of c.
This note explains the
following topics: Compiling, Structure and style, Variables, Error handling,
Simple Input and Output, Simple math, Procedures and functions, Preprocessor,
Libraries, File IO, Arrays, Pointers, Memory management, Strings, Complex types,
Networking in UNIX, Particularities of C, Language Overloading and Extensions,
Combining Languages, Computer Programming, C Reference Tables, POSIX Reference,
Licenses.
C probably has been the most influential programming language
during the last 25 years. It was originally introduced for the implementation of
UNIX, but is now used for a large variety of very different tasks. This note
will introduce the C programming language in the context of the UNIX operating
system. It will also cover UNIX from a user and a programmer perspective.
This is a
reference manual for the C programming language as implemented by the GNU
Compiler Collection (GCC). Topics covered includes: Lexical Elements, Data
Types, Expressions and Operators, Functions, Program Structure and Scope.
This note explains all the common features and techniques for
the C language. The coverage is pretty quick, so it is most appropriate for
someone with some programming background who needs to see how C works. Topics
include variables, int types, floating point types, promotion, truncation,
operators, control structures (if, while, for), functions, value parameters,
reference parameters, structs, pointers, arrays, the pre-processor, and the
standard C library functions.