R2025 KIT-CBE (An Autonomous Institution)
B25CSI101 – C PROGRAMMING L T P TW +SL Total C
B.E / B.Tech (Common to ALL) SL Hours
60 0 30 30 120 4
Course Objectives
1. To understand the basics of C programming including data types, operators, and control
structures.
2. To study algorithms using functions, loops, and conditionals in C.
3. To learn programs involving arrays, strings, and pointers for memory management.
4. To study dynamic memory allocation and file handling in C programs.
5. To learn computational problems by writing, debugging, and optimizing C programs.
SYLLABUS:
UNIT - I INTRODUCTION 9
Overview of C programming language: History and evolution of C - Importance of C in modern
programming - Structure of a C program: Components of a C program -Compilation and execution
process - Data types: Primitive data types (int, float, char, double) – variables: Declaration,
initialization, and scope of variables – Constants: (const, macros) - Operators in C: Arithmetic,
relational, logical operators - Assignment, increment, and decrement operators- Bitwise operators
- Input and output functions: Formatting input/output - Handling multiple inputs - Introduction to
debugging tools: Using IDEs or debugging tools like GDB
UNIT - II CONTROL STRUCTURES 9
Conditional statements (if, else, switch): Nested conditionals and logical expressions - Use of
break, continue, goto in control flow - Looping structures (for, while, do-while) - Nested loops and
control statements - Introduction to functions: Function declaration, definition, and calling -
Passing arguments by value and by reference - Recursion basics
UNIT - III ARRAYS AND STRINGS 9
Arrays: single-dimensional - multi-dimensional - Array initialization and accessing array elements
- Memory representation of arrays - Strings and string handling functions: Declaration and
initialization of strings - strlen(), strcpy(), strcat() - String comparison and formatting - Arrays of
structures - Memory representation of arrays
UNIT - IV POINTER AND DYNAMIC MEMORY ALLOCATION 9
Pointers: Definition – Declaration - Dereferencing and pointer arithmetic - Pointer arithmetic -
Pointers to variables, arrays, and functions - Dynamic memory allocation (malloc, calloc, realloc,
free – memory leaks and pointer errors - Passing functions as arguments - Function pointers and
callbacks - Using pointers with structures - Dynamic allocation for arrays of structures
UNIT - V FILE HANDLING 9
File operations opening, reading, writing, and closing files - file pointer management - fopen(),
fclose(), fread(), fwrite() - Error handling in file operations - Structures and unions – Recursion -
Recursive functions and termination conditions, and linked lists
R2025 KIT-CBE (An Autonomous Institution)
List of Experiments:
Expt. No. Description of the Experiments
1. Write a simple "Hello, World!" program (CO1)
2. Implement programs using variables and different operators (CO1)
3. Write a program using if and switch statements (CO2)
4. Implement programs using loops (e.g., factorial, Fibonacci series) (CO2)
5. Program using one-dimensional and multi-dimensional arrays (CO3)
Implement a program to manipulate strings (e.g., string reversal, length calculation)
6.
(CO3)
7. Write programs using pointers (e.g., swapping values using pointers) (CO4)
8. Implement dynamic memory allocation for arrays and matrices(CO4)
9. Write a program to read and write data to a file (CO5)
10. Implement a simple program using structures and file handling (CO5)
Total Hours: (45+15+30) = 90
List Of Equipment’s:
Requirements for a Batch of 30 Students
Sl. Description of the Equipment
No. Quantity required
(Nos.)
HP Make, Core i5, 11th Generation, 16GB RAM PCs, Operating
1. systems: Windows* 10 or later, macOS, and Linux. 30
Turbo C/C++ 4.5
Text Books
1. “The C Programming Language”, Brian W. Kernighan and Dennis M. Ritchie, PHI, 2nd
Edition, 1988.
2. “C Programming: A Modern Approach", K. N. King, W. W. Norton & Company, 2nd Edition,
2008.
Reference Books
1. “C: The Complete Reference", Herbert Schildt, McGraw-Hill, 4th Edition, 2018
2. “C Programming Language", Yashavant Kanetkar, BPB, 7th Edition, 2019
3. “Data Structures Using C", Aaron M. Tenenbaum, Yedidyah Langsam, Moshe J. Augenstein,
Pearson, 2nd Edition, 2004
4. “C Programming: The Ultimate Guide for Beginners", John P. Heine, CreateSpace, 2017
Mooc/SWAYAM/NPTEL/Course Era/ Web Resources:
R2025 KIT-CBE (An Autonomous Institution)
1 C Programming Basics - Swayam
2 C Programming for Beginners - NPTEL
3 C for Everyone: Programming Fundamentals – UC Santacruz – Coursera
4 Introduction to C Programming -edX
Course Outcomes: Students will be able to
CO1 Recall key concepts like syntax, operators, and control structures in C programming.
CO2 Comprehend the flow of control in programs using loops, conditionals, and functions.
CO3 Use control structures, arrays, and pointers to write functional C programs.
CO4 Identify and debug errors, and analyze memory usage in C programs.
Design and develop complex C programs integrating multiple concepts and solving real-
CO5
world problems.