C Programming in Linux Environment
Linux runs on small embedded devices to enterprise servers. Linux
is behind the Google's Android mobile platform. Linux offers enormous
choices for programmers with its support for various programming languages,
scripts and libraries. No other OS runs on as many hardware platforms as Linux.
One can develop any kind of application on a Linux system.
Learning C programming on Linux platform is the best thing, which every
engineering student should do.
In fact it is very easy and just start with having a Linux live (bootable)
CD. So come to DEPIK and get CD, and start learning C on your
own at your home at your own pace. It is as simple as that.
This is the first course one should take in the first semester of
second year. This way students can continue improving their C programming
skills, which they started in the first year.
Following is the detailed syllabus for this course.
Understanding Linux Environment
- Directory structure in Linux
- Shell or Command Line Interpreter
- Executing commands from shell
- vi Editor
- Writing C programs using vi editor
- Compiling and running
- C Programs with different complexities
Understanding Binary numbers
- Writing numbers in Binary
- Octal and Hex forms
- Conversion from one form to other
Variables
- Basic types and aggregates
- Integers, Real/float, Pointers
- Data definition statements Vs Executable statements
- Local Vs Global variables
- Reading and printing variables using printf() and scanf()
- char as small integer
Expressions and Statements
- Operators and Operands
- Binary and Unary operators
- Arithmetic, Conditional, Logic, Bitwise operators
- Expressions using operators
- Assignment statement
Conditional statements
- IF statement
- IF - ELSE statement
- IF - ELSE IF - ELSE IF ..... ELSE statement
- Switch statement
Arrays and Loop Statements
- Defining and using arrays
- Copying between arrays
- Char arrays vs Strings
- for loop
- while loop
- do-while loop
- break and continue statements
Structures
- Structure template
- Defining structure variables
- Arrays of structures
- Assigning to a structure variable
Pointers
- Pointers Vs Integers
- Direct address vs Indirect address
- Address or reference operator
- indirect addressing or de-refernce operator
- Indirect addressing with pointer notation and array notation
- Pointers Vs Arrays
- Accessing structure variables using structure pointers
- Application of pointers : Dynamic memory and Passing references
Functions
- Function definition Vs Function Declaration/prototype
- Parameters Vs Arguments
- Classify functions based on return types
- Classify functions based on parameter types
- Parameters to main() function / Command line arguments
Library Functions
- Character type functons
- IO and format I/O functions
- String functions