Biology:Outline of the C programming language
From HandWiki
Short description: Programming language
| Software development |
|---|
| Core activities |
| Paradigms and models |
| Methodologies and frameworks |
| Supporting disciplines |
| Practices |
| Tools |
| Standards and Bodies of Knowledge |
| Glossaries |
The following outline is provided as an overview of and topical guide to C:
C is a general-purpose, procedural, compiled, and statically typed programming language. It was created by Dennis Ritchie in 1972 at Bell Labs as a successor to the B language.[1]
What type of language is C?
C can be described as all of the following:
- Programming language — artificial language designed to communicate instructions to a machine, particularly a computer.
- Compiled language — language implemented through compilers rather than interpreters
- Procedural programming language — programming paradigm based on the concept of procedure calls
- General-purpose programming language — designed for writing software in a wide variety of application domains
- Statically typed programming language — type checking is performed at compile-time[2][3]
History of C
- B programming language — precursor to C [4]
- K&R C — early version described by Kernighan and Ritchie
- ANSI C / ISO C standards:[5]
General C concepts
- Callback[7]
- Control flow[8][9]
- Pointers
- Dynamic memory allocation
- Data types
- Enumeration[10]
- File input/output
- Functions[11]
- Header files
- Memory management
- Operators
- Preprocessor directives
- Recursion[12]
- Standard streams
- Static variables[13]
- String handling
- Structs
- Type conversion
- Undefined behavior
- Unions
- Variables[14]
Issues / Limitations
C Toolchain
C compilers
- GCC — GNU Compiler Collection
- Clang — LLVM C compiler
- MSVC — Microsoft Visual C++ compiler (supports C)
- TinyCC
- Turbo C
C libraries
C Standard Library
The C standard library provides fundamental routines for:[16]
- Input/output (stdio.h)
- String handling (string.h)
- Mathematical computations (math.h)
- Memory management (stdlib.h)
- Time and date (time.h)
Other notable libraries
Notable projects written in C
- CPython — the reference implementation of the Python programming language
- Git — version control system
- Linux kernel
- Lua
- PostgreSQL — relational database system
- Redis — in-memory database
- SQLite — embedded database engine
- Unix — originally rewritten in C at Bell Labs
- Vim
- GNOME, MATE and Xfce — desktop environments
- X window system and Wayland — windowing systems
Example source code
C publications
Books about C
- Andrew Koenig – C Traps and Pitfalls
- Brian W. Kernighan – The C Programming Language
- Guy L. Steele Jr. – C: A Reference Manual
- Herbert Schildt – C, The Complete Reference
- Peter van der Linden – Expert C Programming: Deep C Secrets
Magazines about C
- C/C++ Users Journal — (historical publication)
C programmers
- John Carmack – game programmer, known for Doom and Quake.
- Brian Kernighan — wrote The C Programming Language book
- Rob Pike – worked on Unix and Plan 9, contributed to C and its ecosystem.
- Dennis Ritchie — created the C programming language
- Richard Stallman – founder of the GNU Project
- Tim Sweeney – founder of Epic Games and creator of Unreal Engine
- Ken Thompson — Unix
- Linus Torvalds — Linux
C dialects
- Cyclone — safe variant
- Embedded C
- GNU C — features specific to GCC
- K&R C
- Microsoft C — Microsoft-specific extensions
- Objective-C — object-oriented extension of C
C learning resources
- Codecademy – interactive C programming lessons
- GeeksforGeeks – tutorials, coding examples, and interactive programming for C concepts and data structures
- Learn-C.org – free interactive C tutorial for beginners
- CProgramming.com Tutorial – tutorials, examples, and best practices for learning C[17]
- W3Schools – beginner-friendly C tutorials
- Wikibooks C Programming – free open-content textbook
Competitive programming
- Codeforces – an online platform for programming contests that supports C submissions
- Codewars – gamified coding challenges
- HackerRank – competitive programming and interview preparation site with C challenges
- LeetCode – online judge and problem-solving platform
See also
- Compatibility of C and C++
- List of software programming journals
- List of C-family programming languages
- Outline of computer programming
- Outline of software
- Outline of software engineering
Outlines of other programming languages
- Outline of the C sharp programming language
- Outline of the C++ programming language
- Outline of the Java programming language
- Outline of the JavaScript programming language
- Outline of the Perl programming language
- Outline of the Python programming language
- Outline of the Rust programming language
References
- ↑ "Introduction to C". https://www.w3schools.com/c/c_intro.php.
- ↑ "C Programming Language - FASRC DOCS". April 29, 2024. https://docs.rc.fas.harvard.edu/kb/c-programming-language/.
- ↑ "What is C (programming language)? | Definition from TechTarget". https://www.techtarget.com/searchwindowsserver/definition/C.
- ↑ "USERS' REFERENCE TO B ON MH-TSS". 1973. https://www.nokia.com/bell-labs/about/dennis-m-ritchie/bref.pdf.
- ↑ Ritchie, Dennis M. (1988). The C Programming Language (2nd ed.). Prentice Hall. ISBN 0-13-110362-8.
- ↑ "Standard in C". January 10, 2014. https://www.geeksforgeeks.org/c/c-programming-language-standard/.
- ↑ "Callbacks in C". October 18, 2017. https://www.geeksforgeeks.org/c/callbacks-in-c/.
- ↑ "Control flow statements in Programming". March 4, 2024. https://www.geeksforgeeks.org/computer-science-fundamentals/control-flow-statements-in-programming/.
- ↑ "C Control Flow Examples". https://www.programiz.com/c-programming/c-decision-making-loops-examples.
- ↑ "Enumeration (or enum) in C". October 31, 2014. https://www.geeksforgeeks.org/c/enumeration-enum-c/.
- ↑ "Functions in C". October 9, 2022. https://www.geeksforgeeks.org/c/c-functions/.
- ↑ "C/Recursion". https://www.cs.yale.edu/homes/aspnes/pinewiki/C(2f)Recursion.html.
- ↑ "Static Variables in C". July 3, 2015. https://www.geeksforgeeks.org/c/static-variables-in-c/.
- ↑ "Integralist". https://www.integralist.co.uk/posts/concepts-from-the-c-programming-language/.
- ↑ "Security issues in C language". November 10, 2021. https://www.geeksforgeeks.org/c/security-issues-in-c-language/.
- ↑ "C Library Functions". July 18, 2021. https://www.geeksforgeeks.org/c/c-library-functions/.
- ↑ "C Programming Tutorial". https://www.cprogramming.com/tutorial/.
External links
