Skip to content

This repository contains resources and content of ALX Software Engineering program.

Notifications You must be signed in to change notification settings

AWESOME04/alx-low_level_programming

Repository files navigation

alx-low_level_programming

Learning to code with C language

Why to learn C Programming Language?

  • C Language has been one of the most extensively used and favored programming languages since its inception.
  • C enables you to understand a computer's fundamental design, as well as how it stores and retrieves data.
  • Learning C will eventually help in understanding the concepts of other programming languages like Java, Python, etc. faster.
  • You can start working on open-source projects as C is used in some of the greatest open-source projects, such as in the making of Linux Kernel Software, Libraries of Python, Databases like SQLite, etc.

What is C Programming Language?

The C Programming Language is a procedural-oriented programming language. It was invented by Dennis Ritchie in 1972. It was designed specifically as a System Programming Language for the development of various operating systems. Low-level memory access, a small collection of keywords, and a straightforward style make the C Language ideal for system programming, such as compiler and kernel development.

C as a Mother Language

C programming language has inspired the creation of many other languages like C++ (also known as C with classes), C#, Python, Java, JavaScript, Perl, PHP, and others. Every programming language uses the C programming language to varying degrees. Python, for example, uses C for creating its standard libraries, whereas C++, PHP, and Perl need C for their syntaxes and control structures and that is why it is also commonly referred to as the "mother of all programming languages".

C as a System Programming Language

C Language is known as a system programming language because it is compatible with low-level programming. It is commonly used to create operating systems, hardware devices, drivers, kernels, and system software such as the Linux Kernel Software is written in C.

C as a Procedural Programming Language

C is referred to as a procedural programming language because it employs a set of instructions to teach the computer what to do step by step. It relies on the procedures or the routines.

C as a Structured Programming Language

C acts as a Structured Programming Language because we can divide our program into pieces using functions to simplify the program's comprehension and modification. It is a subset of the Procedural Programming Language.

C as a Mid-Level Programming Language

C Language is classified as a Middle-Level Programming language because it is close to both machines (low-level) and humans (high-level). The C language program is translated into assembly code, which enables low-level pointer arithmetic and it is machine independent that is a property of high-level languages.

What are the types of C Programs?

Programs in C can be of many types, these are as listed below:

  1. Simple Input/Output
  2. Functional Programs
  3. Pointers based
  4. Array-based
  5. Structures based
  6. Files Handling etc.

Facts about the C Programming Language

  • C is the only programming language that has been around for so long and is still frequently used.
  • UNIX OS is completely written in C and it was the first operating system kernel that was written in a non-assembly language.
  • C is the replacement for the B programming language, which was first presented in the early 1970s.
  • C18 is the most recent version of the C language, which was released in June of 2018.

Applications of C Programming Language

C is used to create embedded software and firmware for a variety of micro-controller-based electronics, industrial, and communications equipment. C was originally used for software development, namely for the programs that make up an operating system. C can have a variety of applications, for example, in :

  • Operating Systems
  • Compilers
  • Interpreters
  • Assemblers
  • Text Editors
  • Drivers
  • Databases, etc.

Prerequisites

No Prerequisites are required for this tutorial if you have basic computer knowledge. These articles are structured purely for beginners and will go to an advanced level gradually.

What we are to learn in C programming language acording to ALX methods

  • What is C
  • Founders
  • Variables
  • Libraries
  • Headers
  • Definition
  • Scope
  • Malloc
  • Pointers and dereferencing
  • Declaration
  • Data types
  • Operators
  • Conditions
  • Loops
  • Linked lists
  • Strings
  • Structures
  • Functions
  • Memory Management, etc.

About

This repository contains resources and content of ALX Software Engineering program.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages