Programming in C Notes
Subject Overview
Programming in C teaches structured programming from the ground up — algorithm and flowchart development, C fundamentals and control structures, functions/
Subject at a glance
4
Units
38
Topics
5
Credits
4
Infographics
Unit-wise Syllabus
4 units — open any unit for detailed topic-wise notes, diagrams and important exam questions
- Steps in program development
- flowcharts
- algorithm development
- debugging
- compilation and execution
- I/O statements
- assignment statements
- constants
- variables
- operators and expressions
- keywords
- data types and identifiers
- 1Write source code
.c file
- 2Preprocessor
Expands #include and #define
- 3Compiler
Converts to object code
- 4Linker
Adds library code, makes executable
- 5Loader
Loads into memory and runs
Study guide
This unit teaches how to move from a problem to a program: steps in program development, flowcharts, algorithms, debugging, compilation and execution, I/O and assignment statements, constants, variables, operators, expressions, keywords, data types and identifiers. Write the algorithm for each problem on paper before typing any code.
- Decision making with if/if-else/nested if
- while/do-while/for loops
- jump statements (break, continue, goto, switch)
- function declaration and categories
- parameters and parameter passing
- call-by-value/reference
- recursion
- storage classes
while
Before each iteration
Repeat until a condition changes
do-while
After each iteration: runs at least once
Menus, input validation
for
Before each iteration
Known number of repetitions
Study guide
You learn how programs make decisions and repeat actions: if, if-else and nested if, while, do-while and for loops, break, continue, goto and switch, and functions, including categories, parameters, call-by-value and call-by-reference, recursion and storage classes. Practise tracing loops with a table of variable values.
- Array declaration
- single and multidimensional arrays
- memory representation
- matrices
- strings and string handling functions
- structure declaration and member access
- structure initialization
- arrays of structures
- nested structures
- unions
Memory
Sum of all members
Size of the largest member
Members in use
All at the same time
One at a time
Keyword
struct
union
Use
Records like a student
Saving memory for variant data
Study guide
You study how to store collections of data: single and multidimensional arrays, memory representation, matrices, strings and string functions, structures (declaration, initialisation, arrays of structures, nested structures) and unions. Write a small student-records program using an array of structures.
- Address operator and pointers
- declaring and initializing pointers
- assignment through pointers
- pointers and arrays
- creating/opening/closing/processing a data file
- macros
- conditional preprocessors
- header files
- int *p;
- Declares a pointer to int
- p = &x;
- Stores the address of x
- *p
- Value at the address (dereference)
- p + 1
- Next element of the pointer's type
- fopen / fclose
- Open and close a file
Study guide
You study pointers, files and the preprocessor: the address operator, declaring and using pointers, pointers and arrays, creating, opening, closing and processing data files, macros, conditional preprocessors and header files. Draw boxes and arrows to understand every pointer program.
Why Programming in C Matters
C is the foundation of programming and the language behind operating systems and embedded systems. Mastering it makes every later language easier and is the single best preparation for coding interviews.
How to Prepare for Programming in C
- Code every day, even a short program; fluency comes from repetition.
- Dry-run programs by hand to find logic errors.
- Learn the classic programs: prime, factorial, Fibonacci, palindrome, sorting and matrix operations.
Programming in C: Frequently Asked Questions
Is C a good first language?
Yes. C teaches how programs and memory really work, which gives a strong foundation for learning other languages.
What is the difference between call by value and call by reference?
Call by value passes a copy of the argument, so the original is unchanged, while call by reference passes the address, allowing the function to change the original.
