0% found this document useful (0 votes)
10 views

C Notes

Constants cannot change value while variables can, constants must be initialized while variables can be later, and constants have global or local scope like variables. Functions allow breaking programs into reusable and testable units and can return values or accept parameters.

Uploaded by

Saurabh
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

C Notes

Constants cannot change value while variables can, constants must be initialized while variables can be later, and constants have global or local scope like variables. Functions allow breaking programs into reusable and testable units and can return values or accept parameters.

Uploaded by

Saurabh
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

#Distinguishing between constants and variables in C involves understanding their

roles and usage within the programming language:

1. **Definition**:
- Constant: A constant is a value that does not change during the execution of a
program. It is a fixed value assigned to a variable or used directly in an
expression.
- Variable: A variable is a storage location in computer memory that can hold
varying values during program execution. It is declared with a data type and can be
assigned new values.

2. **Declaration**:
- Constants are declared using the `const` keyword followed by a data type and a
name, like `const int MAX_VALUE = 100;`.
- Variables are declared with a data type and a name, like `int count;`.

3. **Initialization**:
- Constants must be initialized at the time of declaration and cannot be changed
later in the program.
- Variables can be initialized at the time of declaration or later in the
program.

4. **Usage**:
- Constants are used when a value is known and should not change throughout the
program, like mathematical constants or configuration values.
- Variables are used to store and manipulate data that can change during the
execution of the program, like user input, intermediate calculations, or results.

5. **Memory Allocation**:
- Constants may or may not be allocated memory depending on their usage. If they
are used directly in expressions, they might not be allocated memory separately.
- Variables are allocated memory when they are declared, and the amount of
memory depends on their data type.

6. **Scope**:
- Constants have a global scope if declared outside any function or a local
scope if declared within a function.
- Variables can have either global or local scope depending on where they are
declared.

7. **Modification**:
- Constants cannot be modified once they are initialized.
- Variables can be modified by assigning new values to them during program
execution.

8. **Examples**:
- Constant: `const float PI = 3.14159;`
- Variable: `int age;`

9. **Purpose**:
- Constants provide a way to make code more readable and maintainable by giving
meaningful names to fixed values.
- Variables allow programs to store and manipulate data dynamically, enabling
them to perform tasks efficiently.

10. **Best Practices**:


- Use constants for values that should not change and variables for values that
may change.
- Choose meaningful names for constants and variables to enhance code
readability and maintainability.

Understanding these distinctions is essential for writing clear, efficient, and


maintainable C programs.

# uses of functions in C:

1. **Modularity**: Functions allow breaking down a program into smaller, manageable


units, improving readability, organization, and ease of maintenance.

2. **Code Reusability**: Functions can be called multiple times from different


parts of the program, reducing redundancy and promoting reusability of code.

3. **Abstraction**: Functions hide implementation details from the caller,


providing an interface to perform specific tasks without needing to know the
internal workings.

4. **Parameter Passing**: Functions can accept parameters, allowing them to work


with different data values without the need for duplicating code.

5. **Return Values**: Functions can return values to the caller, providing a way to
communicate results or data back to the calling code.

6. **Encapsulation**: Functions encapsulate related operations, grouping them


together and promoting better organization and structure in the code.

7. **Testing and Debugging**: Functions make it easier to isolate and test specific
parts of the code, as they can be tested independently before integration into the
larger program.

8. **Library Functions**: C provides a variety of built-in library functions, and


functions allow programmers to extend this functionality by creating their own
reusable libraries.

9. **Function Pointers**: C allows passing functions as arguments to other


functions, enabling advanced programming techniques such as callbacks and event
handling.

10. **Recursion**: Functions in C can call themselves recursively, allowing elegant


solutions to certain types of problems, such as tree traversal or factorial
calculations.

# D/B while loop and a do-while loop in C:

1. **Initialization**:
- While Loop: In a while loop, initialization of the loop variable (if needed)
is done before entering the loop.
- Do-While Loop: In a do-while loop, initialization of the loop variable (if
needed) is done after entering the loop.

2. **Condition Checking**:
- While Loop: Condition is checked before entering the loop body. If the
condition is false initially, the loop body will not execute.
- Do-While Loop: Condition is checked after executing the loop body at least
once. The loop body is executed once even if the condition is false initially.

3. **Usage**:
- While Loop: Generally used when the number of iterations is not known
beforehand and the loop may not execute at all if the condition is false initially.
- Do-While Loop: Useful when you want to execute the loop body at least once,
regardless of the condition.

4. **Syntax**:
- While Loop:
```
while (condition) {
// statements
}
```
- Do-While Loop:
```
do {
// statements
} while (condition);
```

5. **Exit Condition**:
- While Loop: The loop may not execute at all if the condition is false
initially.
- Do-While Loop: The loop body executes at least once before checking the
condition for the exit.

6. **Risk of Infinite Loop**:


- While Loop: More prone to infinite loops if the condition is not properly set
up or updated within the loop body.
- Do-While Loop: Less prone to infinite loops as the loop body executes at least
once before checking the condition.

7. **Flow Control**:
- While Loop: The flow may not enter the loop body if the condition is false
initially.
- Do-While Loop: The flow always enters the loop body at least once before
checking the condition.

8. **Applicability**:
- While Loop: Suitable for scenarios where the loop may or may not execute based
on the condition.
- Do-While Loop: Suitable for situations where you want the loop body to execute
at least once.

9. **Example**:
- While Loop:
```c
while (x > 0) {
printf("x is greater than 0\n");
x--;
}
```
- Do-While Loop:
```c
do {
printf("x is greater than 0\n");
x--;
} while (x > 0);
```

10. **Termination**:
- While Loop: May terminate without executing the loop body if the condition is
false initially.
- Do-While Loop: Executes the loop body at least once before checking the
condition for termination.

These points illustrate the differences between the while loop and the do-while
loop in C.

You might also like