TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Programming in C

C Programming is a foundational programming language that focuses on structured programming and low-level memory management.


SyllabusSkill Roadmap

Select University

TUPUPoUFWU

Select Program

BSC-CSITBDSBCA-NEWBCA-OLDBITBCT-NEWBEI-NEW

TabFlux . C Programming . TU . BIT

C Programming

0%

Course Title: C Programming

Course No: BIT102

Nature of the Course: Theory + Lab

Semester: 1

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 8 + 8

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction
3 hrs
1.1. History and advantages of C
1.2. Problems analysis, algorithm and flowchart
1.3. Structure of a C Program
1.4. Writing, compiling, debugging, executing and testing a C Program in windows and Unix/Unix like environment
2. Elements of C
3 hrs
2.1. C Tokens
2.2. C Character Sets
2.3. Data types, Constants and Variables
2.4. Expression, statements and comments
2.5. Escape sequences and Delimiters
3. Input/output function
2 hrs
3.1. Conversion Specifiers
3.2. I/O functions
3.3. Formatted I/O
4. Operators and Expression
4 hrs
4.1. Arithmetic operators
4.2. Relational operators
4.3. Logical operators
4.4. Assignment operators
4.5. Type conversion in assignment
4.6. Increment and decrement operators
4.7. Ternary operator
4.8. Bitwise operator
4.9. Other operators (comma, sizeof)
4.10. Expression evaluation
4.11. Operator precedence and associativity
5. Control Structures
8 hrs
5.1. Introduction to selection and iterative statements
5.2. GOTO and labels
5.3. Selection statements
  • if
  • if..else
  • if..else if ladder
  • nested if
  • switch case
5.4. Conditional operator
5.5. Iterative statement
  • For Loop
  • While Loop
  • Do while Loop
  • Nested Loop
5.6. The odd loop
5.7. Controlling the loop execution – break and continue
6. Arrays and Strings
5 hrs
6.1. Introduction to Arrays
6.2. Initializing Arrays
6.3. The meaning of array indexing
6.4. One dimensional and Multidimensional Arrays
6.5. String and Basic functions dedicated to string manipulation
7. Functions
6 hrs
7.1. Introduction and types of functions
7.2. Declaring, Defining and calling functions
7.3. Arguments and Return Statement
7.4. Recursive functions
7.5. Function call by value and reference
7.6. Variables' scope, local variables and function parameters
7.7. Arrays as function parameter
7.8. Void as a parameter
7.9. Parameterizing the main function
7.10. External function and variables
7.11. Header files
7.12. Static variables
7.13. Register Variables
8. The C Preprocessor
2 hrs
8.1. Features of C Preprocessor
8.2. Macro Expansion
8.3. Macros with Arguments
8.4. Macros versus Functions
8.5. File Inclusion
8.6. Conditional Compilation
8.7. #if and #elif Directives
8.8. #undef Directive
8.9. #pragma Directive
8.10. The Build Process
  • Preprocessing
  • Compiling
  • Assembling
  • Linking
  • Loading
9. Pointers
5 hrs
9.1. Introduction of Pointers, declaration and initialization of pointer variables
9.2. An address, a reference, a dereference and the sizeof operator
9.3. Pointer to nothing (NULL)
9.4. Pointer assignment
9.5. Pointer Arithmetic
9.6. Pointer as argument and Pointer as return values
9.7. Pointers vs. arrays
9.8. Dynamic memory allocation
10. Structure and Unions
5 hrs
10.1. Definition of Structure
10.2. Array of structures
10.3. Passing structure and array of structure to function
10.4. Pointers to structures and arrays of structures
10.5. Self-referential structures
10.6. Typedef
10.7. Table Lookup
10.8. Unions
11. File Handling
2 hrs
11.1. Files vs. streams
11.2. Header files needed for stream operations
11.3. Opening and closing a stream, open modes, errno variable
11.4. Reading and writing to/from a stream
11.5. Predefined streams: stdin, stdout and stderr
11.6. Stream manipulation: fgetc(), fputc(), fgets() and fputs() functions
11.7. Raw input/output: fread() and fwrite() functions
11.8. Random access to files

Laboratory Works

  1. 1.Lab exercises for Introduction unit
  2. 2.Lab exercises for Elements of C unit
  3. 3.Lab exercises for Input/Output function unit
  4. 4.Lab exercises for Operators and Expression unit
  5. 5.Lab exercises for Control Structures unit
  6. 6.Lab exercises for Arrays and Strings unit
  7. 7.Lab exercises for Functions unit
  8. 8.Lab exercises for The C Preprocessor unit
  9. 9.Lab exercises for Pointers unit
  10. 10.Lab exercises for Structure and Unions unit
  11. 11.Lab exercises for File Handling unit

Text Books

  1. 1.Let Us C, Yashavant P. Kanetkar
  2. 2.Brian Kernighan and Dennis Ritchie, The C Programming Language
  3. 3.Byron Gottfried, Programming with C, McGraw Hill Education

Notes:

Source:

This course familiarizes students with basic principles of programming. It introduces structured programming paradigm using a high level language called C. It covers the concept of problem solving techniques, program design, and basic elements of C along with the detailed concept of operators, statements, arrays, functions, pointers, structures and file handling.
The main objective of this course is to acquaint the students with good program design through structured programming paradigm for developing programs for specific tasks using C Programming Language as well as to present the syntax and semantics of the C language.
Laboratory work emphasizes the verification of programming concepts learned in class. Therefore, each unit should include sufficient practical lab exercise.
This syllabus follows the official BIT curriculum of Tribhuvan University. In case of any doubt or revision, the university’s published syllabus shall be considered authoritative.