C language Tutorial with programming approach for beginners and professionals, helps you to understand the C language tutorial easily. Our C tutorial explains each topic with programs. Show The C Language is developed by Dennis Ritchie for creating system applications that directly interact with the hardware devices such as drivers, kernels, etc. C programming is considered as the base for other programming languages, that is why it is known as mother language. It can be defined by the following ways:
1) C as a mother languageC language is considered as the mother language of all the modern programming languages because most of the compilers, JVMs, Kernels, etc. are written in C language, and most of the programming languages follow C syntax, for example, C++, Java, C#, etc. It provides the core concepts like the array, strings, functions, file handling, etc. that are being used in many languages like C++, Java, C#, etc. 2) C as a system programming languageA system programming language is used to create system software. C language is a system programming language because it can be used to do low-level programming (for example driver and kernel). It is generally used to create hardware devices, OS, drivers, kernels, etc. For example, Linux kernel is written in C. It can't be used for internet programming like Java, .Net, PHP, etc. 3) C as a procedural languageA procedure is known as a function, method, routine, subroutine, etc. A procedural language specifies a series of steps for the program to solve the problem. A procedural language breaks the program into functions, data structures, etc. C is a procedural language. In C, variables and function prototypes must be declared before being used. 4) C as a structured programming languageA structured programming language is a subset of the procedural language. Structure means to break a program into parts or blocks so that it may be easy to understand. In the C language, we break the program into parts using functions. It makes the program easier to understand and modify. 5) C as a mid-level programming languageC is considered as a middle-level language because it supports the feature of both low-level and high-level languages. C language program is converted into assembly code, it supports pointer arithmetic (low-level), but it is machine independent (a feature of high-level). A Low-level language is specific to one machine, i.e., machine dependent. It is machine dependent, fast to run. But it is not easy to understand. A High-Level language is not specific to one machine, i.e., machine independent. It is easy to understand. C ProgramIn this tutorial, all C programs are given with C compiler so that you can quickly change the C program code. File: main.c A detailed description of above program is given in next chapters. C Programming IndexPrerequisiteBefore learning C Programming, you must have the basic knowledge of Computer Fundamental. AudienceOur C Programming tutorial is designed to help beginners and professionals. ProblemWe assure that you will not find any mistake in this C Language Tutorial. But if there is any mistake, please post the problem in the contact form. Publications > The C Book This is the online version of The C Book, second edition by Mike Banahan, Declan Brady and Mark Doran, originally published by Addison Wesley in 1991. This version is made freely available. While this book is no longer in print, its content is still very relevant today. The C language is still popular, particularly for open source software and embedded programming. We hope this book will be useful, or at least interesting, to people who use C. If you have any comments about this book, or if you find any bugs in its presentation, please send a message to . Although we ourselves do not have the time and tools to prepare this book in PDF format, we are very grateful to Professor Carlos José de Almeida Pereira of the University Estadual de Santa Cruz in Brazil for his work which he modestly describes as 'simply printing your "printer friendly" pages to a PDF file'. The pdf file of the book that he has produced in this way was made available here on 6th March 2007 and currently should be the same as the contents of this site, no updates having been made since the single file was produced. An alternative version in pdf was later submitted in July 2010 by Ward van Wanrooij (updated in 2018) - you can download his version here. We make no representations for the accuracy or otherwise of either pdf version.
|