C Programming is a high-level, general purpose programming language which is widely used for developing computer programs. The language, having a wide range of features desired by the programmers, is frequently used for system programming such as embedded system applications, implementing operating systems and a variety of different applications. Besides this, its speed, stability and almost global availability makes C a preferred programming language. With C programming language, the programmers can read and write code for various platforms, from microcontrollers to highly complicated scientific systems. This proven, flexible and powerful programming language provides maximum control and efficiency to the programmers.
Provide knowledge on the need and importance of āCā programming language and problem solving methodologies.
Nurture programming skills with complete understanding of the fundamentals and basics of C Language.
Impart comprehensive knowledge about arrays, strings, functions, structures, and pointers.
Help understand the implementation the memory management concepts.
Study the complications in file organization and the implementation of file systems.
Develop programs using the basic elements such as control statements, arrays and strings.
Understand the code reusability with the help of user defined functions
Implement pointers to resolve the memory access issues.
Understand the uses of preprocessors and different header file directives.
Create advanced applications with the use of enumerated data types, function pointers and nested structures.
History of C
Characteristics of C
C Program Structure
Variables
Defining Global Variables
Printing Out and Inputting Variables
Constants
Arithmetic Operations
Comparison Operations
Logical Operators
Order of Precedence
Conditionals
The if statement
The? Operator
The switch Statement
The for statement
The while statement
The do-while statement
Break and continue
Defining, initializing and using arrays
Single and Multi-dimensional Arrays
Arrays of Characters and Strings
Arrays and pointers
Strings
Role of Functions
Passing arguments to functions
Returning values from functions
Recursive functions
Call back functions
Implications on Stack
Pass by value / reference
Passing Arrays to functions
ABasic String handling functions
AString Searching
ACharacter Conversions and testing :
AMemory Operations:
AStructures
ANested Structures
Array of Structures
Allocation of memory and holes
Unions
Coercion or Type-Casting
Enumerated Types
Static Variables
Malloc, Sized, and Free
Calloc and Realloc
The purpose of pointers
Defining pointers
The & and * Operators
Pointer Assignment
Pointers with functions
Pointer Arithmetic
Advanced pointer types
Pointers to functions
Pointers to String
Pointers and Dynamic memory
Pointers and Structures
Common Pointer Pitfalls
Not assigning a pointer to memory address before using it
Illegal indirection
Scope
Internal
External
Automatic
Static
Scope and extent of parameters
Bitwise Operators
Bit Fields
Bit Fields: Practical Example
A note of Caution: Portability
define
undef
include
if ā conditional inclusion
Preprocessor Compiler Control
Other Preprocessor Commands
String Conversion :
Arithmetic Functions
Random Numbers
String Conversion
Math Functions
Math Constants
Reporting Errors
perror()
errno
exit()
Streams
Predefined Streams
Redirection
Basic I/O
Formatted I/O
Printf
Scanf
Files
Reading and writing files
Sprintf and sscanf
Stream Status Enquiries
Linked Lists
Stacks & Queues
Binary Tree
Insertion Sort
Merge Sort
Quick Sort
Header Files
Advantages of Using Several Files
How to Divide a Program between Several Files
Organization of Data in each file
The Make Utility
Make Programming
Creating a make file
Make Macros