Check out new amazing benefits of a PRO account!



C++ is a high-level object oriented programming language developed at Bell labs. C++ programming and learning from beginners to advanced tricks is now much easier with Our large collection of C++ videos and daily LiveStreams will help you to overcome any obstacle in learning C++ coding. read more ...

Introduction to C Programming Language (Reference)

C (/ˈsiː/, as in the letter c) is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations. By design, C provides constructs that map efficiently to typical machine instructions, and therefore it has found lasting use in applications that had formerly been coded in assembly language, including operating systems, as well as various application software for computers ranging from supercomputers to embedded systems.

C was originally developed by Dennis Ritchie between 1969 and 1973 at Bell Labs, and used to re-implement the Unix operating system.[6] It has since become one of the most widely used programming languages of all time, with C compilers from various vendors available for the majority of existing computer architectures and operating systems. C has been standardized by the American National Standards Institute (ANSI) since 1989 (see ANSI C) and subsequently by the International Organization for Standardization (ISO).

C was initially used for system development work, particularly the programs that make-up the operating system. C was adopted as a system development language because it produces code that runs nearly as fast as the code written in assembly language. Some examples of the use of C might be:

Operating Systems
Language Compilers
Text Editors
Print Spoolers
Network Drivers
Modern Programs
Language Interpreters

History of C (Reference)

The origin of C is closely tied to the development of the Unix operating system, originally implemented in assembly language on a PDP-7 by Ritchie and Thompson, incorporating several ideas from colleagues. Eventually, they decided to port the operating system to a PDP-11. The original PDP-11 version of Unix was developed in assembly language. The developers were considering rewriting the system using the B language, Thompson's simplified version of BCPL. However B's inability to take advantage of some of the PDP-11's features, notably byte addressability, led to C.

The development of C started in 1972 on the PDP-11 Unix system and first appeared in Version 2 Unix. The language was not initially designed with portability in mind, but soon ran on different platforms as well: a compiler for the Honeywell 6000 was written within the first year of C's history, while an IBM System/370 port followed soon. The name of C simply continued the alphabetic order started by B.

Also in 1972, a large part of Unix was rewritten in C.[13] By 1973, with the addition of struct types, the C language had become powerful enough that most of the Unix's kernel was now in C.

Unix was one of the first operating system kernels implemented in a language other than assembly. (Earlier instances include the Multics system (written in PL/I), and MCP (Master Control Program) for the Burroughs B5000 written in ALGOL in 1961.) Circa 1977, Ritchie and Stephen C. Johnson made further changes to the language to facilitate portability of the Unix operating system. Johnson's Portable C Compiler served as the basis for several implementations of C on new platforms.

C Tools

  • VIM is a highly configurable text editor built to enable efficient text editing. It is an advanced text editor that seeks to provide the power of the de-facto Unix editor ‘Vi’, with a more complete feature set. It’s useful whether you’re already using vi or using a different editor.
  • CTAGS generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. A tag signifies a language object for which an index entry is available (or, alternatively, the index entry created for that object).
  • CSCOPE is a developer’s tool for browsing source code. Cscope generations an information database for faster searches and later reference.
  • CMAKE is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.
  • GPROF is a performance analysis tool for Unix applications. It can profile C, C++, Pascal, and Fortran 77 applications.Profiling allows you to learn where your program spent its time and which functions called which other functions while it was executing.The gprof program prints a flat profile and a call graph on standard output.

C Books

C is better learned from practice, but one of the most important part of learning is reading books. Books can make you understand the concepts better. Below are major C programming language categorized into three main categories -- beginner, intermediate, and advanced. Pick the book that fits into radar, and start learning C now!

  • Book cover

    C Programming Absolute Beginner's Guide

    by Greg Perry

    Write powerful C programs …without becoming a technical expert! This book is the fastest way to get comfortable with C, one incredibly clear and easy step at a time. You’ll learn all the basics: how to organize programs, store and display data, work with variables, operators, I/O, pointers, arrays, functions, and much more. C programming has never been this simple! Who knew how simple C programming could be?

  • Book cover

    Programming in C / Edition 4

    by Stephen G. Kochan

    Programming in C will teach you how to write programs in the C programming language. Whether you’re a novice or experienced programmer, this book will provide you with a clear understanding of this language, which is the foundation for many object-oriented programming languages such as C++, Objective-C, C#, and Java. This book teaches C by example, with complete C programs used to illustrate each new concept along the way. Stephen Kochan provides step-by-step explanations for all C functions. You will learn both the language fundamentals and good programming practices. Exercises at the end of each chapter make the book ideally suited for classroom use or for self-instruction. All the features of the C language are covered in this book, including the latest additions added with the C11 standard. Appendixes provide a detailed summary of the language and the standard C library, both organized for quick reference.

  • Book cover

    C Programming in Easy Steps

    by Mike McGrath

    C Programming in easy steps, 4th edition has an easy-to-follow style that will appeal to anyone who wants to begin programming in C, from programmers moving from another programming language, to the student who is studying C programming at school or college, or to those seeking a career in computing who need a fundamental understanding of procedural programming.

  • Book cover

    Intermediate C Programming

    by Yung-Hsiang Lu

    Intermediate C Programming provides a stepping-stone for intermediate-level students to go from writing short programs to writing real programs well. It shows students how to identify and eliminate bugs, write clean code, share code with others, and use standard Linux-based tools, such as ddd and valgrind.

  • Book cover

    C Primer Plus

    by Stephen Prata

    The new classic! C Primer Plus, now in its 5th edition, has been revised to include over 20 new programming exercises, newly improved examples and the new ANSI/ISO standard, C99. Task-oriented examples will teach you the fundamentals of C programming. From extended integer types and compound literals to Boolean support and variable-length arrays, you will learn to create practical and real-world applications with C programming. Review questions and programming exercises at the end of each chapter will reinforce what you have learned. This friendly and easy-to-use self-study guide will help you understand the fundamentals of this core programming language.

  • Book cover

    C Programming: A Modern Approach

    by K. N. King

    The first edition of C Programming: A Modern Approach was popular with students and faculty alike because of its clarity and comprehensiveness as well as its trademark Q&A sections. Professor King's spiral approach made it accessible to a broad range of readers, from beginners to more advanced students. With adoptions at over 225 colleges, the first edition was one of the leading C textbooks of the last ten years. The second edition maintains all the book's popular features and brings it up to date with coverage of the C99 standard. The new edition also adds a significant number of exercises and longer programming projects, and includes extensive revisions and updates.

  • Book cover

    Expert C Programming

    by Peter Van Der Linden

    This book is for the knowledgeable C programmer, this is a second book that gives the C programmers advanced tips and tricks. This book will help the C programmer reach new heights as a professional. Organized to make it easy for the reader to scan to sections that are relevant to their immediate needs.

  • Book cover

    Advanced C Programming by Example

    by John W. Perry

    This practical, example-driven, code-centered book is intended for intermediate-level C programmers who want to take their skills to the next level. The book builds on readers' existing background in C to complete their knowledge of ANSI C libraries, and the conceptual and syntactic structures needed to master dynamic data structures, string parsing and numeric conversion, memory management, bit-level manipulation, interactions with operating systems, and other advanced techniques. What sets this book apart from traditional data structures books is it's "blue collar" approach to the art of programming — how to master the "down in the trenches" C details to implement abstract ideas successfully. In recognition of this approach, the book presents actual C code rather than pseudocode.

  • Book cover

    C Traps and Pitfalls

    by Andrew Koenig

    Even C experts come across problems that require days of debugging to fix. This book helps to prevent such problems by showing how C programmers get themselves into trouble. Each of the book's many examples has trapped a professional programmer.

C/C++ Community

There are tons of C/C++ communities that help foster the growth of the C/C++. C/C++ has many online forums and communities which provide comprehensive support and guidance. If you are looking for programming in C/C++, you can join the communities and get the best possible results.

C Gurus


C Conferences

Below is the list of some of the oldest C conferences. The programming language is almost four decades old, and that’s why new C conferences rarely happens! Let’s check out some of the old C conferences that took place around the world.

Error image

Sorry but your browser is out of date - please install a new browser such as Google Chrome