C is a general-purpose programming language that first appeared, as a concept, in 1972, its origins closely related to the creation of the Unix operating system.
Initiated as a project to improve the B language, C was designed by Dennis Ritchie, and others for Bell Labs between 1972 and 1973 for the purpose of producing utilities to run on Unix, and it was later applied to a reimplementation of the Unix operating system. It gained wide popularity in the 1980s, and continues to be a widely used language, spawning a family of languages that, together, make up a large portion of the computer programming languages in use today.
C provides constructs that map efficiently to typical machine code instructions, so it has enjoyed persistent use in applications that had previously been coded in assembly language, such as operating systems and application software for supercomputers and embedded systems.
A standards-compliant C program, written with portability in mind, can be compiled for a wide range of computer platforms and operating systems with few changes to the source code.
C is also used in website programming, using CGI as a gateway for information between the web application, server, and browser.
Topics related to the C computer programming language are the focus of resources listed in this category.
Categories
C2/C3 |
 
 
Recommended Resources
The CLC-Wiki is an offshoot of the comp.lang.c newsgroup. Its objective is to document the C programming language and the newsgroup and to provide resources related to both. Structured in a directory-like manner, the site includes articles on various topics related to the language, such as the C community, the language, resources, K&R 2nd edition, the C standard library, C style, and C tutorials. Other topics include code reviews, style guidelines, and conventions.
https://clc-wiki.net/
The introduction and tutorial include both C and C++ programming, including those for beginners as well as more advanced articles. The topics include learning to program in C and ways in which experienced programmers can become more efficient, as well as how to set up a compiler. Other topics include learning how to make games in C or C++, learning graphics programming, and about algorithms, data structures, and artificial intelligence. A discussion forum is included.
https://www.cprogramming.com/
The free interactive C tutorial is sorted by sections and chapters. The section on learning the basic includes creating a basic program and covers topics such as variable, types, arrays, multidimensional arrays, conditions, strings, for loops, while loops, functions, and static. The advanced section includes pointers, structures, function arguments, dynamic allocation, arrays and pointers, recursion, linked lists, binary trees, unions, pointer arithmetics, and function pointers.
https://www.learn-c.org/
The Development of the C Language
Written by Dennis M. Ritchie, the creator of the C programming language, at Bell Labs/Lucent Technologies, an abstract, introduction, and a history of the C language is given, including the setting leading to a need for the new language, its origins as an improvement in the B language, as well as a discussion of what was wrong with B, and more history is provided. Early implementations, the portability of the C language, its growth, and standardization are included.
http://csapp.cs.cmu.edu/3e/docs/chistory.html
W3 Schools: C Programming Tutorials
The C tutorial series was designed for those who wish to learn to program in the C programming language, from beginners to experts. Although no previous programming experience with C is required, a basic understanding of any other language will be helpful. An introduction to the language is put forth, including the history and limitations of the language, installation, program structure, declarations and assignments, flow control, functions, and so on.
https://www.w3schools.in/c-tutorial/