C programming

Curated By

Avatar of Arjunsathyan

C is a very powerful and widely used language.A successor to the programming language B, C was originally developed at Bell Labs by Dennis Ritchie between 1972 and 1973 to construct utilities running on Unix.C is a general -purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions.It is used in many scientific programming situations. It forms (or is the basis for) the core of the modern languages Java and C++.

Prerequisite

NOTHING. C is the basic language and the starting point to any programming language out there.

Why prefer C?

It was (and still is in some circumstances) the language of choice in Operating System Development (including all of Unix). It allows you direct control over the very low level aspects of the computer. Many legacy programs are written in C. Most of the things you learn with C will be directly transferable to future programming languages. Programs that are created with C run very quickly.

Topics to learn

  1. Introduction to C
  • Keywords and Identifiers
  • Variables and constants
  • Data types
  • Input/output
  • Operators
  1. Control statements
  • If-else
  • switch
  • while loop
  • do-while loop
  • for loop
  • break
  • continue
  • goto
  1. Functions
  • Call:value and reference
  • Recursion in C
  • Storage classes
  1. Arrays
  • 1-D array
  • 2-D array
  • Returning an array in C
  • Array to function
  1. Pointers
  • pointer to pointer
  • Pointer Arithmetic
  • Dangling pointers
  • sizeof() operator
  • const pointer
  • void pointer
  • Dereference pointer
  • null pointer
  • Function pointer
  • Function pointer as argument
  1. Dynamic memory
  2. Strings
  • gets() and puts()
  • strlen()
  • strcpy()
  • strcat()
  • strcmp()
  • strrev()
  • strupr()
  • Strlwr()
  • strstr()
  1. Math functions
  1. Structure and unions
  • structures
  • typedef
  • Array of structures
  • Nested structures
  • Structure padding
  • Union
  1. File handling
  • fprintf(),fscanf()
  • fputc(),fgetc()
  • fputs(),fgets()
  • fseek()
  • rewind()
  • ftell()
  1. Preprocessors
  • Macros
  • #include
  • #define
  • #undef
  • #ifdef
  • #ifndef
  • #if
  • #else
  • #error
  • #pragma

Resources

Online Courses

Blogs

Tutorials

Apps