C Programming Langauge Course
About This Course
C is often considered to be the mother of all languages because so many other languages have been based on it.
Though C is simple it is one of the most powerful languages ever created. Considering it was created over 40 years ago, it is still used heavily and is usually in the top 5 or 10 most popular and most widespread programming languages in the world.
Learning C can actually make you better at programming in other languages like C++, Java, or C# by equipping you with a mental model of what the computer is actually doing when you run your programs.
By learning how things really work “under the hood”, and understanding memory space, CPU architecture, and so on, you can create more efficient programs, and obtain a huge advantage over other programmers in the process.
If you want to become a better developer, learning C is a great way to start!
C is a computer programming language. That means that you can use C to create lists of instructions for a computer to follow.
The C programming language has led to the development of both Java and C++, which are popular today and both simplified programming even further. C is one of the thousands of programming languages currently in use. C has been around for several decades and has won widespread acceptance because it gives programmers maximum control and efficiency. C is an easy language to learn. It is a bit more cryptic in its style than some other languages, but you get beyond that fairly quickly. C is a compiled language, which means that once your C program is written, you’ll need to run it through a C compiler to convert the program to an executable form.
The computer can then run the C program. The C compiler is vital to creating a C program, because without it, your program will remain in human-readable form as opposed to machine-readable form [source: King]. Programmers can either purchase a commercial compiler or download a free C compiler online. One of the things that programmers like about C is that it enables them to scale down programs so they can run on very little memory. This has become especially important in recent years when so many people are using small-scale computers like smartphones and tablets.
InteliGenes Technologies provides c programming training according to the current requirement of IT industry. If you are a programmer, or if you are interested in becoming a programmer, there are a couple of benefits you gain from learning C.
Course Content as Follows:-
Getting Started
- Background
- Sample program
- Components of a C program
- Data types
- Naming conventions for variables
- Printing and initializing variables
- Defining arrays
Functions and Operators
- Functions
- Invoking functions
- Elementary operators
- The operator= operators
- The conditional operator
- Increment and decrement operators
Simple I/O
- Character i/o
- Handling end of file
- Simple i/o examples
- Redirecting standard I/O
- i/o with character arrays
More On Functions
- Function declarations
- Returning a value or not
- Function prototypes
- Arguments and parameters
- Organization of C source files
- An extended example
- Main function
- The gets function
- The strcmp function
- The check function
- The atom function
- The average function
Bit Manipulation
- Defining the problem space
- Readability aids
- Bitwise operators
- Bitwise functions
- Circular shifts
Strings
- Fundamental concepts
- Aggregate operations
- String functions
- Higher Dimensional Arrays
- Array dimensions
- An array as an argument to a function
- Arrays of strings
Structures
- Fundamental concepts
- Describing a structure
- Creating structures
- Operations on structures
- Functions returning structures
- Passing structures to functions
- Pointers to structures
- Making sense of the p -> member notation
- Structures vs structure pointers
- Array of structures
- Functions returning a pointer to a structure
Structure Related Items
- typedef – New name for an existing type
- typedef with structures
- Header files for structure applications
- Bit fields
- Unions
- Non-homogeneous arrays
- Enumeration types
File I/O
- System calls vs library calls
- Opening disk files
- Access modes
- Errors in opening files
- i/o library calls
- Example: copying a file
- Character input vs line input
- Motivation for the scan function
- scanf and variants
- print variants
- Closing files close
Control Flow Constructs
- if statement
- if else statement
- while loop
- for loop
- Endless loops
- do while loop
- break and continue statements
- switch statement
- else if
The C Preprocessor
- #define
- Writing macros
- #include
- #ifdef
- #ifndef
Separate Compilation
- Compiling over several files
- Function scope
- File scope
- Program scope
- Local static
- resister and extern
- Object files
- Libraries
- The C loader
- Header files
Pointers (Part I)
- Fundamental concepts
- Pointer operators and operations
- Changing an argument with a function call
- Pointer arithmetic
- Traversing arrays with a pointer
- Traversing strings with a pointer
- String functions with pointers
- Relationship between array and pointer
- The pointer notation *p++
Pointers (Part II)
- Dynamic storage allocation – malloc
- Functions returning a pointer
- Initialization of pointers
- gets – A Function returning a pointer
- An array of character pointers
- Pointer to pointer
- Pointer to a function
- Uses of pointers to functions
Binary I/O With Structures
- A database application
- the main function
- the menu function
- create_db function – write
- print_db function – fread
- fseek
- retrieve_db function
- flush and ftell
Useful Library Functions
- strstr – Is one string a substring
- strchr, strrchr – Is a char in a string
- system – Execute a command line command
- strspn, strcspn – Verify string content
- Math functions
Learning Objectives
Requirements
- A computer running Microsoft Windows, Linux or the Mac operating systems
- At least 4GB of ram is recommended
- No programming experience, all concepts taught in this class!