In-Depth Notes on C Programming Language

Overview of Programming Language Education at RUPP

  • Lecturer: MSc. Pok Leakmony, Deputy Head and Lecturer of CSD, RUPP
  • Subjects Taught:
  • Programming Language (Bachelor class, Y1)
  • .NET Programming (Bachelor class, Y3)
  • Software Engineering (Bachelor class, Y4)
  • IT Project Management (Bachelor class, Y4)
  • Distributed Database Systems (Master class)

Quote on Insanity

  • Albert Einstein's Definition of Insanity:
  • Doing the same thing over and over again and expecting different results.

Structure of C Programming Language

Chapter 1: Introduction to C Programming Language

  • Overview: Main details of C programming language

History of C Language

  • Developed in 1972 by Dennis Ritchie at Bell Labs.
  • Structured Programming Language
  • Evolved from the B language (Basic Combined Programming Language - BCPL).
  • Adopted in UNIX systems.
  • ANSI standardization occurred in 1988.

Features of C Language

  1. Reliability: High reliability for complex systems.
  2. Portability: Code can be transferred and run on different systems with minimal changes.
  3. Flexibility: Adaptability to various circumstances and requirements.
  4. Interactivity: Easy to create interactive programs.
  5. Modularity: Supports modular programming techniques.
  6. Efficiency and Effectiveness: Optimizes resource use while maintaining performance.

Applications of C Language

  • Used in:
  • Database Systems
  • Graphics Packages
  • Word Processors
  • Spreadsheets
  • Operating Systems
  • Compilers and Assemblers
  • Network Drivers
  • Interpreters

Classification of Programming Languages

  1. High-level languages: User-friendly, easier to understand (e.g., Python, Java).
  2. Middle-level languages: Balance between high-level and low-level languages (e.g., C).
  3. Low-level languages: Closer to machine code, difficult for humans (e.g., Assembly language).

C Programming Fundamentals

  • C programs consist of different sections:
  • Documentation section
  • Link section
  • Definition section
  • Global declaration section
  • Function prototype declaration section
  • Main function
  • User-defined function definition section

Basic Syntax and Structure of a C Program

  • Example: Basic structure of a C program:
  #include <stdio.h>
  int main() {
      printf("Hello World!");
      return 0;
  }
  • Components Explained:
  • #include <stdio.h>: Include input-output header file.
  • int main(): Entry point of the program.
  • printf(): Function to output text to the console.
  • return 0;: Ends the main function.

Error Handling in C Compilation

  • Understanding the compilation process:
  • Create: Writing the program in a text editor.
  • Compile: Converting source code to object code with a compiler.
  • Link: Linking object files to create an executable.
  • Execute: Running the executable program to get output.

Comments in C Programming

  • Use comments to clarify code:
  • Single line: // comment
  • Multi-line: /* comment */

Input and Output Functions

  • printf(): Used for displaying output.
  • Example usage:
    • printf("Integer: %d\n", int_var);
  • scanf(): Used for reading input from the user.
  • Example usage:
    • scanf("%d", &int_var);

Escape Sequences in C

  • Special character sequences that perform specific tasks:
  • : newline
  • : tab
  • \: backslash
  • ": double-quote

Example Programs

Example Declaration and Function

/* Documentation about the program */
#include <stdio.h>
int sum(int a, int b);  // Function prototype
int main() {
    printf("This is a C basic program\n");
}