This repository serves as a comprehensive resource for beginners looking to learn the fundamentals of C programming. It is designed to help you understand the core concepts, history, and best practices associated with C programming.
- Everything you need to know to start with C.pdf: A foundational resource to kickstart your C programming journey.
- Dennis Ritchie: Learn about the brilliant mind behind the creation of the C programming language.
- “C” Programming Language: Brian Kernighan: Explore the work of Brian Kernighan, a co-author of the seminal book on C programming.
- Why C Programming Is Awesome: Discover why C is considered an essential language in the world of programming.
- Learning to program in C part 1 & 2: Step-by-step guides to get you started with C programming.
- Understanding C program Compilation Process: Dive into the compilation process of C programs.
- Betty Coding Style: Learn about the official C coding style and how to ensure your code adheres to it.
- Hash-bang under the hood: A deeper look at the hash-bang mechanism.
- Linus Torvalds on C vs. C++: Insights from Linus Torvalds on the C vs. C++ debate.
By the end of this project, you will be able to explain the following concepts without relying on external resources:
- Why C programming is considered awesome.
- The contributions of Dennis Ritchie, Brian Kernighan, and Linus Torvalds to the world of programming.
- The compilation process in C programming.
- Understanding the role of an entry point and the significance of the
mainfunction. - How to print text using
printf,puts, andputchar. - Calculating the size of specific data types using the
sizeofoperator. - Compiling C code using
gccwith an understanding of default program names. - Adhering to the official C coding style and using the
bettytool. - Identifying the correct header files for standard library functions.
- Explaining how the
mainfunction influences the return value of a C program.
- Editors: vi, vim, emacs.
- Compilation on Ubuntu 20.04 LTS using
gccwith specific options. - All files must end with a new line.
- A
README.mdfile at the root of the repository and project folder. - No compilation errors or warnings.
- Avoid using the
systemfunction.
- Editors: vi, vim, emacs.
- Testing on Ubuntu 20.04 LTS.
- All scripts exactly two lines long.
- All files must end with a new line.
- The first line of all files should be
#!/bin/bash.
To maintain code quality, you can use the betty linter, which ensures adherence to the official C coding style.