C Programming
Learn to Code
Sisir Kumar Jena
- 428 páginas
- English
- ePUB (apto para móviles)
- Disponible en iOS y Android
C Programming
Learn to Code
Sisir Kumar Jena
Información del libro
The C programming language is a popular language in industries as well as academics. Since its invention and standardized as ANSI C, several other standards known as C99, C11, and C17 were published with new features in subsequent years. This book covers all the traits of ANSI C and includes new features present in other standards. The content of this book helps a beginner to learn the fundamental concept of the C language. The book contains a step-by-step explanation of every program that allows a learner to understand the syntax and builds a foundation to write similar programs. The explanation clarity, exercises, and illustrations present in this book make it a complete textbook in all aspects.
Features:
-
- Other than ANSI C, the book explains the new C standards like C99, C11, and C17.
-
- Most basic and easy-to-follow programs are chosen to explain the concepts and their syntax.
-
- More emphasis is given to the topics like Functions, Pointers, and Structures.
-
- Recursion is emphasized with numerous programming examples and diagrams.
-
- A separate chapter on the command-line argument and preprocessors is included that concisely explains their usage.
-
- Several real-life figures are taken to explain the concepts of dynamic memory allocation, file handling, and the difference between structure and union.
-
- The book contains more than 260 illustrations, more than 200 programs, and exercises at the end of each chapter.
This book serves as a textbook for UG/PG courses in science and engineering. The researcher, postgraduate engineers, and embedded software developers can also keep this book as reference material for their fundamental learning.
Preguntas frecuentes
Información
1 Introduction to the Computer
1.1 Introduction
- What a computer is, and how may we define it.
- A brief history of the computer and how it came into existence.
- What the different components of a computer system are, and how they are organized.
- Be able to define a memory subsystem, its categories, and its organization.
- Understand the importance of an Operating System (OS) and its functionality.
1.2 Definition and Characteristics of a Computer System
- Speed: A computer is a high-speed electronic device which takes a negligible amount of time to perform any task compared to the speed of any human being.
- Accuracy: Computers are very accurate in producing the correct output. A computer produces the wrong result only when the user has made a mistake.
- Automatic: Computers execute the task assigned to them without any intervention until the job gets finished.
- Diligence: Computers never tire. They can work continuously and produce correct and consistent results every time.
- Versatility: A computer is capable of doing different tasks. We all know that nowadays computers are used everywhere.
- Memory: A computer is potent at remembering things and never forgets them. Whatever we store in computer memory will be there throughout its lifetime.
1.3 History of the Computer
- The German philosopher and mathematician, Gottfried Leibniz (1646–1716), built the first calculator to perform multiplication and division. It was not reliable due to the inaccuracy of its parts.
- Charles Babbage (1792–1872) (Figure 1.1a) was a British inventor who designed his difference engine in 1822 and, in 1842, came up with an “analytical engine” incorporating the ideas of a memory and card input/output for data and instructions. But he was not able to build the system. Babbage is mostly remembered for and considered as the father of digital computers.
- Howard Aiken (1900–73), a Harvard professor with IBM’s backing, built the Harvard Mark I computer (51 ft long) in 1944. It required three seconds to perform multiplication.
- John Vincent Atanasoff built a specialized computer in 1941 and was visited by Willaim Mauchly before constructing the Electronic Numerical Integrator and Calculator (ENIAC).
- J. Presper Eckert and Mauchly designed and built the ENIAC in 1946 for military computations. It used vacuum tubes (valves), which were totally electronic (and operated in microseconds), instead of the electromechanical relay.
- Von Neumann was a scientific genius and a consultant on the ENIAC project. In 1950, he formulated plans with Mauchly and Eckert for a new computer, the Electronic Discrete Variable Automatic Computer (EDVAC), which was to store programs as well as data.
- At the same time (1950), another computer named the Electronic Delay Storage Automatic Calculator (EDSAC) was developed by Maurice Wilkes at Cambridge University in England.
- After the above inventions, every computer built followed the von Neumann architecture. Several generations of computers have been developed, but the overall architecture remains the same.