An open API service indexing awesome lists of open source software.

https://github.com/sahil-4/learn-c

C Programming notes
https://github.com/sahil-4/learn-c

c learn notes programming

Last synced: 9 months ago
JSON representation

C Programming notes

Awesome Lists containing this project

README

          

# C Programming notes

## Course Structure :

### C000-Basics

1. [CH001.txt](C000-Basics/CH001.txt)
2. [main.c](C000-Basics/main.c)
3. [keywords.c](C000-Basics/keywords.c)
4. [input_and_output.c](C000-Basics/input_and_output.c)
5. [exercise.c](C000-Basics/exercise.c)

### C001-Variables

1. [variables.c](C001-Variables/variables.c)
2. [constants.c](C001-Variables/constants.c)
3. [datatypes.c](C001-Variables/datatypes.c)
4. [exercise.c](C001-Variables/exercise.c)

### C002-Operators

1. [operators.c](C002-Operators/operators.c)
2. [operator_precedence.c](C002-Operators/operator_precedence.c)
3. [exercise.c](C002-Operators/exercise.c)

### C004-Decision-Making

1. [conditionals.c](C004-Decision-Making/conditionals.c)
2. [nested_conditional_statements.c](C004-Decision-Making/nested_conditional_statements.c)
3. [exercise.c](C004-Decision-Making/exercise.c)

### C005-Loops

1. [loops.c](C005-Loops/loops.c)
2. [for_loop.c](C005-Loops/for_loop.c)
3. [while_loop.c](C005-Loops/while_loop.c)
4. [do_while_loop.c](C005-Loops/do_while_loop.c)
5. [nested_loops.c](C005-Loops/nested_loops.c)
6. [exercise.c](C005-Loops/exercise.c)

### C006-Arrays

1. [arrays.c](C006-Arrays/arrays.c)
2. [multidimensional_arrays.c](C006-Arrays/multidimentional_arrays.c)
3. [exercise.c](C006-Arrays/exercise.c)

### C007-Strings

1. [strings.c](C007-Strings/strings.c)
2. [strings_functions.c](C007-Strings/strings_functions.c)
3. [exercise.c](C007-Strings/exercise.c)

### C008-Function

1. [functions.c](C008-Function/functions.c)
2. [function-invocation.c](C008-Function/function-invocation.c)
3. [variables_and_storage_classes.c](C008-Function/variables_and_storage_classes.c)
4. [recursion.c](C008-Function/recursion.c)
5. [exercise.c](C008-Function/exercise.c)

### C009-Pointers

1. [Example1.c](C009-Pointers/Example1.c)
2. [Example2.c](C009-Pointers/Example2.c)
3. [Pointers.c](C009-Pointers/Pointers.c)

### C010-Storage-Classes

### C011-Preprocessor-Directives

### C012-FileIO

1. [Demo.txt](C012-FileIO/Demo.txt)
2. [FileModes.c](C012-FileIO/FileModes.c)
3. [main.c](C012-FileIO/main.c)

### C013-Dynamic-Memory-Allocation

### Patterns

### Exercise

1. [Ex1.c](Exercise/Ex1.c)

### Memory

1. [Calloc.c](Memory/Calloc.c)
2. [CheckMemory.js](Memory/CheckMemory.js)
3. [Demo.c](Memory/Demo.c)
4. [Free.c](Memory/Free.c)
5. [Malloc.c](Memory/Malloc.c)
6. [Realloc.c](Memory/Realloc.c)
7. [main.c](Memory/main.c)

### Practice

1. [Functions-in-C.c](Practice/Functions-in-C.c)
2. [InpOut1.c](Practice/InpOut1.c)
3. [Patterns](Practice/Patterns)
4. [Playing-With-Characters.c](Practice/Playing-With-Characters.c)
5. [Pointers-in-C.c](Practice/Pointers-in-C.c)
6. [Sum-and-Difference-of-Two-Numbers.c](Practice/Sum-and-Difference-of-Two-Numbers.c)

### Projects

1. [GuessGame.c](Projects/GuessGame.c)

# Welcome Contributors to our C Programming Notes Project! 🎉

Thank you for visiting our C Programming notes project! We firmly believe that learning and sharing knowledge is a collaborative and inclusive journey. Whether you're a seasoned C programmer or just starting out, we invite you to be a part of this exciting endeavor.

## Why Contribute?

- **Share Your Insights** : If you have valuable insights, tips, or tricks related to C programming, your contributions can make a real difference in someone's learning journey.

- **Fix Errors and Improve** : Found a mistake or want to improve existing content? Your keen eye for detail and passion for quality can help enhance the overall project.

- **Add New Content** : Have an idea for new topics or examples? We welcome fresh content that expands the coverage of C language concepts.

- **Help Fellow Learners** : Your contributions can impact learners around the world, making their learning experience more enjoyable and effective.

## How to Contribute?

1. **Fork the Repository** : Start by forking this repository to your GitHub account.

2. **Clone the Repository** : Clone the forked repository to your local machine using `git clone git@github.com:Sahil-4/Learn-C.git`.

3. **Make Changes** : Create a new branch and make your desired changes in the project.

4. **Test Your Changes** : Test the changes thoroughly to ensure everything works as expected.

5. **Commit and Push** : Commit your changes and push them to your forked repository.

6. **Create a Pull Request** : Open a pull request (PR) from your branch to the main project repository. Provide a clear description of your changes and why they should be included.

7. **Review and Merge** : We will review your PR, provide feedback if needed, and once approved, your changes will be merged into the main project.

## Let's Learn and Grow Together!

Learning C programming is an enriching experience, and with your help, we can build a comprehensive resource that benefits learners of all levels. Together, let's make C programming more accessible and enjoyable for everyone.

Happy coding! 🚀

## Guidelines for Contribution

Follow the below-given coding conventions while contributing to this project :

1. **Indentation** : Use 4 spaces for indentation.

2. **Function Names** : Use small snake case convention for all the functions. Example : `calculate_area()`

3. **Variable Names** : Use camel case convention for all the variables. Example : `totalCount`

4. **Constant Variables** : Use complete uppercase snake case letters for constant variables. Example : `MAX_LENGTH`

5. **Braces** : Use the K&R style for placing braces. The opening brace should be on the same line as the function declaration, control statement, or loop, and the closing brace should be on a separate line.

6. **Comments** : Use descriptive comments to explain code logic and algorithms. Comments should be clear, concise, and written in English.

7. **File Naming** : Use meaningful names for files and avoid using special characters or spaces. Separate words with underscores. Example : `user_input_functions.c`

8. **Code Readability** : Write code in a way that emphasizes readability and maintainability. Use appropriate spacing, indentation, and line breaks to enhance code clarity.

9. **Testing** : Test your code thoroughly to ensure it works as expected in different scenarios.

By following these conventions, we can maintain consistency and readability throughout the project, making it easier for everyone to contribute and understand the codebase.