SlideShare a Scribd company logo
1 of 23
Download to read offline
INTRODUCTION
CHAPTER 1
C is a general-purpose programming language that
was developed in 1972 by Dennis Ritchie at Bell Labs.
The development of C was closely tied to the
development of the Unix operating system, which was
being created at Bell Labs at the time.
HISTORY OF C
The origins of C can be traced back to the mid-1960s,
when Martin Richards developed a high-level
computer language called BCPL (Basic Combined
Programming Language). BCPL was intended to be
used for writing operating systems, and many of the
concepts that were later inherited by C, such as arrays,
were first developed in BCPL.
In the late 1960s, Ken Thompson, who was also
working at Bell Labs, developed a new version of BCPL
called B. B was a significant improvement over BCPL,
but was still considered to be a "mid-level" language,
as it did not provide many of the features that are now
considered to be standard in modern programming
languages.
In the early 1970s, Dennis Ritchie began working on a
new version of B, which he intended to be a more
powerful and efficient language. He named this new
language C, as it was a significant improvement over B.
C was first used for the development of the Unix
operating system, and quickly became popular among
Unix programmers. In 1978, Brian Kernighan and
Dennis Ritchie published "The C Programming
Language", which became known as the "C Bible" and
helped to spread the use of C to other systems and
applications.
INTRODUCTION TO C
C is a general-purpose, high-level programming
language that was first developed by Dennis Ritchie in
the early 1970s. It was designed to be a portable,
efficient, and flexible language that could be used for a
wide range of purposes, from system programming to
application development. C is known for its low-level
access to memory and its ability to handle multiple
tasks at once, making it a popular choice for operating
systems, embedded systems, and other performance-
critical applications.
C is a high-level programming language that
resembles algebraic expressions and has features for
lower-level systems programming and applications
programming. It contains keywords such as "if", "else",
"for", "do", and "while". It bridges the gap between
machine language and conventional high-level
languages, allowing it to be used for both systems
programming (e.g. operating systems) and
applications programming (e.g. mathematical
equations or billing customers).
It is also widely used in the development of other
programming languages and tools. Despite its age, C
remains a widely-used and powerful programming
language, with a large and active community of
developers around the world.
C is considered a procedural programming language. It
is based on the concept of procedures or functions,
which are executed sequentially. A C program is
typically divided into functions, which are blocks of
code that perform a specific task. These functions are
called one after the other to accomplish the overall
program. In procedural programming, the program is
composed of a series of procedures, and the flow of
control is determined by calling these procedures in a
specific order.
IMPORTANT OF PROGRAM
Widely used: C is one of the most widely used programming
languages in the world, and it is the foundation of many other
programming languages and tools.
Systems programming: C also has features for lower-level language
and gives the programmer a lot of control over memory management
and system resources. This makes it well-suited for tasks such as
operating system development, device drivers, and other systems-
level programming.
Portability: C is designed to be portable, meaning that it can be easily
adapted to different hardware and operating systems. This makes it a
great choice for cross-platform development.
Performance: C is a compiled language, which means that it is
translated into machine code before it is executed. This makes it a
very efficient language, with relatively fast execution times.
Large Community: C has a large community of developers around the
world, which means that there are many resources available for
learning and troubleshooting.
Embedded systems: C is widely used in embedded systems
development, which include microcontrollers, embedded Linux and
other types of systems that require low-level control and
optimization.
Legacy systems: Many existing software systems are written in C, and
they are still in use today. Therefore, knowledge of C is important for
maintaining and updating these systems.
C's simplicity: C has a relatively simple and straightforward syntax
which makes it easy to learn and understand, and it is also relatively
easy to debug.
DESIRED PROGRAM CHARACTERISTICS
Characterstic Description
Integrity The accuracy of the calculations is of utmost
importance and should be maintained at all times. All
other program enhancements are meaningless if the
calculations are not carried out correctly.
Clarity Clarity in programming refers to the ease of
understanding the code, logic, and structure. A clear
program is readable, well-organized, and follows a
consistent structure, making it easier for other
programmers to understand and for the original
author to maintain. The design of the C programming
language emphasizes clear and readable code
through a disciplined approach to programming.
Characterstic Description
Simplicity Simplicity is an important principle in programming.
A simple program is easier to understand, maintain,
and debug, leading to better clarity and accuracy.
Sometimes, it may be necessary to trade off some
computational efficiency for simplicity in the
program structure. This can result in a clearer, more
straightforward program.
Efficiency Efficiency refers to the speed and memory usage of a
program. While these are important goals, they
should not compromise clarity and simplicity.
Balancing the tradeoff between efficiency, clarity,
and simplicity often requires experience and good
judgement.
Characterstic Description
Modularity Modular programming involves dividing a program
into smaller, independent modules or functions that
each perform a specific subtask. This enhances the
accuracy, clarity, and organization of the program,
and makes it easier to maintain and modify in the
future. In C, these modules are implemented as
functions. Modular programming leads to improved
structure and readability of a program.
Generality Generality in programming refers to the ability of a
program to handle a wide range of inputs and
situations, rather than being limited to a specific set
of fixed values. A program that is designed to be
general is more flexible, reusable, and adaptable to
changing requirements. The objective is to create a
program that can be used in many different contexts,
with a minimum of modification. With relatively little
effort, a program can often be made quite general,
enhancing its value and utility.
FUN FACT
NASA STILL OPERATES SOME PROJECTS ON
PROGRAMMING FROM THE 1970’S
Introduction to C Programming (1).pdf

More Related Content

What's hot

Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languageseducationfront
 
Programming Fundamentals lecture 2
Programming Fundamentals lecture 2Programming Fundamentals lecture 2
Programming Fundamentals lecture 2REHAN IJAZ
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming LanguagesSayanee Basu
 
Programming languages
Programming languagesProgramming languages
Programming languagesAsmasum
 
introduction computer programming languages
introduction computer programming languages introduction computer programming languages
introduction computer programming languages BakhatAli3
 
Complete C programming Language Course
Complete C programming Language CourseComplete C programming Language Course
Complete C programming Language CourseVivek chan
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computerzaheeriqbal41
 
C programming basics
C  programming basicsC  programming basics
C programming basicsargusacademy
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming languageVasavi College of Engg
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingNoel Malle
 
Basic Computer Programming
Basic Computer ProgrammingBasic Computer Programming
Basic Computer ProgrammingAllen de Castro
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming ParadigmsDirecti Group
 
Language processors
Language processorsLanguage processors
Language processorseShikshak
 

What's hot (20)

Introduction to programming languages
Introduction to programming languagesIntroduction to programming languages
Introduction to programming languages
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
Computer Language
Computer LanguageComputer Language
Computer Language
 
Programming Fundamentals lecture 2
Programming Fundamentals lecture 2Programming Fundamentals lecture 2
Programming Fundamentals lecture 2
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming Languages
 
Computer languages 11
Computer languages 11Computer languages 11
Computer languages 11
 
Introduction
IntroductionIntroduction
Introduction
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
introduction computer programming languages
introduction computer programming languages introduction computer programming languages
introduction computer programming languages
 
Complete C programming Language Course
Complete C programming Language CourseComplete C programming Language Course
Complete C programming Language Course
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computer
 
C programming basics
C  programming basicsC  programming basics
C programming basics
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming language
 
Data race
Data raceData race
Data race
 
C programming
C programmingC programming
C programming
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Basic Computer Programming
Basic Computer ProgrammingBasic Computer Programming
Basic Computer Programming
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming Paradigms
 
C notes
C notesC notes
C notes
 
Language processors
Language processorsLanguage processors
Language processors
 

Similar to Introduction to C Programming (1).pdf

D turner techreport
D turner techreportD turner techreport
D turner techreportdavid114811
 
20210417-cppRelevancy-DataStructures.pptx
20210417-cppRelevancy-DataStructures.pptx20210417-cppRelevancy-DataStructures.pptx
20210417-cppRelevancy-DataStructures.pptxSuman Garai
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageRamaBoya2
 
C programming presentation for university
C programming presentation for universityC programming presentation for university
C programming presentation for universitySheikh Monirul Hasan
 
Why C is Called Structured Programming Language
Why C is Called Structured Programming LanguageWhy C is Called Structured Programming Language
Why C is Called Structured Programming LanguageSinbad Konick
 
The Importance of C Language in the Tech Industry.pdf
The Importance of C Language in the Tech Industry.pdfThe Importance of C Language in the Tech Industry.pdf
The Importance of C Language in the Tech Industry.pdfSaniyaSharma28
 
Programming Language
Programming LanguageProgramming Language
Programming LanguageFahad Khan
 
C Programming language - introduction
C Programming  language - introduction  C Programming  language - introduction
C Programming language - introduction GopikaS12
 
Introduction to embedded c
Introduction to embedded cIntroduction to embedded c
Introduction to embedded cGokuldhev mony
 
C language part 1
C language part  1C language part  1
C language part 1JyothiG33
 
TCS-NQT-Coding-Questions-@-Recruitmentindia.in_.pdf
TCS-NQT-Coding-Questions-@-Recruitmentindia.in_.pdfTCS-NQT-Coding-Questions-@-Recruitmentindia.in_.pdf
TCS-NQT-Coding-Questions-@-Recruitmentindia.in_.pdfAbhishekMGowda4
 

Similar to Introduction to C Programming (1).pdf (20)

What is C.docx
What is C.docxWhat is C.docx
What is C.docx
 
D turner techreport
D turner techreportD turner techreport
D turner techreport
 
Introduction to c
Introduction to cIntroduction to c
Introduction to c
 
C basic
C basicC basic
C basic
 
20210417-cppRelevancy-DataStructures.pptx
20210417-cppRelevancy-DataStructures.pptx20210417-cppRelevancy-DataStructures.pptx
20210417-cppRelevancy-DataStructures.pptx
 
C Language
C LanguageC Language
C Language
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 
C programming presentation for university
C programming presentation for universityC programming presentation for university
C programming presentation for university
 
Why C is Called Structured Programming Language
Why C is Called Structured Programming LanguageWhy C is Called Structured Programming Language
Why C is Called Structured Programming Language
 
Programming in c
Programming in cProgramming in c
Programming in c
 
Programming in C
Programming in CProgramming in C
Programming in C
 
The Importance of C Language in the Tech Industry.pdf
The Importance of C Language in the Tech Industry.pdfThe Importance of C Language in the Tech Industry.pdf
The Importance of C Language in the Tech Industry.pdf
 
Programming Language
Programming LanguageProgramming Language
Programming Language
 
C.pdf
C.pdfC.pdf
C.pdf
 
Introduction to c language
Introduction to c language Introduction to c language
Introduction to c language
 
C Programming language - introduction
C Programming  language - introduction  C Programming  language - introduction
C Programming language - introduction
 
Introduction to embedded c
Introduction to embedded cIntroduction to embedded c
Introduction to embedded c
 
C language part 1
C language part  1C language part  1
C language part 1
 
C language part 1
C language part  1C language part  1
C language part 1
 
TCS-NQT-Coding-Questions-@-Recruitmentindia.in_.pdf
TCS-NQT-Coding-Questions-@-Recruitmentindia.in_.pdfTCS-NQT-Coding-Questions-@-Recruitmentindia.in_.pdf
TCS-NQT-Coding-Questions-@-Recruitmentindia.in_.pdf
 

Recently uploaded

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 

Recently uploaded (20)

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 

Introduction to C Programming (1).pdf

  • 2.
  • 3. C is a general-purpose programming language that was developed in 1972 by Dennis Ritchie at Bell Labs. The development of C was closely tied to the development of the Unix operating system, which was being created at Bell Labs at the time.
  • 5. The origins of C can be traced back to the mid-1960s, when Martin Richards developed a high-level computer language called BCPL (Basic Combined Programming Language). BCPL was intended to be used for writing operating systems, and many of the concepts that were later inherited by C, such as arrays, were first developed in BCPL.
  • 6. In the late 1960s, Ken Thompson, who was also working at Bell Labs, developed a new version of BCPL called B. B was a significant improvement over BCPL, but was still considered to be a "mid-level" language, as it did not provide many of the features that are now considered to be standard in modern programming languages.
  • 7. In the early 1970s, Dennis Ritchie began working on a new version of B, which he intended to be a more powerful and efficient language. He named this new language C, as it was a significant improvement over B.
  • 8. C was first used for the development of the Unix operating system, and quickly became popular among Unix programmers. In 1978, Brian Kernighan and Dennis Ritchie published "The C Programming Language", which became known as the "C Bible" and helped to spread the use of C to other systems and applications.
  • 10. C is a general-purpose, high-level programming language that was first developed by Dennis Ritchie in the early 1970s. It was designed to be a portable, efficient, and flexible language that could be used for a wide range of purposes, from system programming to application development. C is known for its low-level access to memory and its ability to handle multiple tasks at once, making it a popular choice for operating systems, embedded systems, and other performance- critical applications.
  • 11. C is a high-level programming language that resembles algebraic expressions and has features for lower-level systems programming and applications programming. It contains keywords such as "if", "else", "for", "do", and "while". It bridges the gap between machine language and conventional high-level languages, allowing it to be used for both systems programming (e.g. operating systems) and applications programming (e.g. mathematical equations or billing customers).
  • 12. It is also widely used in the development of other programming languages and tools. Despite its age, C remains a widely-used and powerful programming language, with a large and active community of developers around the world.
  • 13. C is considered a procedural programming language. It is based on the concept of procedures or functions, which are executed sequentially. A C program is typically divided into functions, which are blocks of code that perform a specific task. These functions are called one after the other to accomplish the overall program. In procedural programming, the program is composed of a series of procedures, and the flow of control is determined by calling these procedures in a specific order.
  • 15. Widely used: C is one of the most widely used programming languages in the world, and it is the foundation of many other programming languages and tools. Systems programming: C also has features for lower-level language and gives the programmer a lot of control over memory management and system resources. This makes it well-suited for tasks such as operating system development, device drivers, and other systems- level programming. Portability: C is designed to be portable, meaning that it can be easily adapted to different hardware and operating systems. This makes it a great choice for cross-platform development. Performance: C is a compiled language, which means that it is translated into machine code before it is executed. This makes it a very efficient language, with relatively fast execution times.
  • 16. Large Community: C has a large community of developers around the world, which means that there are many resources available for learning and troubleshooting. Embedded systems: C is widely used in embedded systems development, which include microcontrollers, embedded Linux and other types of systems that require low-level control and optimization. Legacy systems: Many existing software systems are written in C, and they are still in use today. Therefore, knowledge of C is important for maintaining and updating these systems. C's simplicity: C has a relatively simple and straightforward syntax which makes it easy to learn and understand, and it is also relatively easy to debug.
  • 18. Characterstic Description Integrity The accuracy of the calculations is of utmost importance and should be maintained at all times. All other program enhancements are meaningless if the calculations are not carried out correctly. Clarity Clarity in programming refers to the ease of understanding the code, logic, and structure. A clear program is readable, well-organized, and follows a consistent structure, making it easier for other programmers to understand and for the original author to maintain. The design of the C programming language emphasizes clear and readable code through a disciplined approach to programming.
  • 19. Characterstic Description Simplicity Simplicity is an important principle in programming. A simple program is easier to understand, maintain, and debug, leading to better clarity and accuracy. Sometimes, it may be necessary to trade off some computational efficiency for simplicity in the program structure. This can result in a clearer, more straightforward program. Efficiency Efficiency refers to the speed and memory usage of a program. While these are important goals, they should not compromise clarity and simplicity. Balancing the tradeoff between efficiency, clarity, and simplicity often requires experience and good judgement.
  • 20. Characterstic Description Modularity Modular programming involves dividing a program into smaller, independent modules or functions that each perform a specific subtask. This enhances the accuracy, clarity, and organization of the program, and makes it easier to maintain and modify in the future. In C, these modules are implemented as functions. Modular programming leads to improved structure and readability of a program. Generality Generality in programming refers to the ability of a program to handle a wide range of inputs and situations, rather than being limited to a specific set of fixed values. A program that is designed to be general is more flexible, reusable, and adaptable to changing requirements. The objective is to create a program that can be used in many different contexts,
  • 21. with a minimum of modification. With relatively little effort, a program can often be made quite general, enhancing its value and utility.
  • 22. FUN FACT NASA STILL OPERATES SOME PROJECTS ON PROGRAMMING FROM THE 1970’S