C Programming Language Tutorial

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. Mother language
  2. System programming language
  3. Procedure-oriented programming language
  4. Structured programming language
  5. Mid-level programming language

1)  C as a mother language

C 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 arraystringsfunctionsfile handling, etc. that are being used in many languages like C++JavaC#, etc.

2) C as a system programming language

A 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.It can't be used for internet programming like Java, .Net, PHP, etc.

3) C as a procedural language

A 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 language

A 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 language

C 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 Program

In this tutorial, all C programs are given with C compiler so that you can quickly change the C program code.

File: main.c

#include <stdio.h> 

void main()

{ 

printf("Hello C Programming\n"); 

return 0; 

} 


printf() and scanf() in C

The printf() and scanf() functions are used for input and output in C language. Both functions are inbuilt library functions, defined in stdio.h (header file).

 

printf() function

The printf() function is used for output. It prints the given statement to the console.

 

The syntax of printf() function is given below:

printf("format string",argument_list); 

The format string can be %d (integer), %c (character), %s (string), %f (float) etc.

scanf() function

The scanf() function is used for input. It reads the input data from the console.

 

scanf("format string",argument_list);  


Variables in C

A variable is a name of the memory location. It is used to store data. Its value can be changed, and it can be reused many times.

It is a way to represent memory location through symbol so that it can be easily identified.

Let's see the syntax to declare a variable:

type variable_list; 

The example of declaring the variable is given below:

int a; 

float b; 

char c; 

Here, a, b, c are variables. The int, float, char are the data types.

 

We can also provide values while declaring the variables as given below:

 

int a=10,b=20;//declaring 2 variable of integer type 

float f=20.8; 

char c='A'; 

Rules for defining variables

A variable can have alphabets, digits, and underscore.

A variable name can start with the alphabet, and underscore only. It can't start with a digit.

No whitespace is allowed within the variable name.

A variable name must not be any reserved word or keyword, e.g. int, float, etc.

Valid variable names:

int a; 

int _ab; 

int a30; 

Invalid variable names:

int 2; 

int a b; 

int long; 

Types of Variables in C

There are many types of variables in c:

·         local variable

·         global variable

·         static variable

·         automatic variable

·         external variable

Local Variable

A variable that is declared inside the function or block is called a local variable.

 

It must be declared at the start of the block.

void function1()

{ 

int x=10;//local variable 

} 

You must have to initialize the local variable before it is used.

 

Global Variable

A variable that is declared outside the function or block is called a global variable. Any function can change the value of the global variable. It is available to all the functions.

It must be declared at the start of the block.

int value=20;//global variable 

void function1()

{ 

int x=10;//local variable 

} 

Static Variable

A variable that is declared with the static keyword is called static variable.

It retains its value between multiple function calls.

void function1()

{ 

int x=10;//local variable 

static int y=10;//static variable 

x=x+1; 

y=y+1; 

printf("%d,%d",x,y); 

} 

If you call this function many times, the local variable will print the same value for each function call, e.g, 11,11,11 and so on. But the static variable will print the incremented value in each function call, e.g. 11, 12, 13 and so on.

Automatic Variable

All variables in C that are declared inside the block, are automatic variables by default. We can explicitly declare an automatic variable using auto keyword.

void main()

{ 

int x=10;//local variable (also automatic) 

auto int y=20;//automatic variable 

} 

External Variable

We can share a variable in multiple C source files by using an external variable. To declare an external variable, you need to use extern keyword.

myfile.h

extern int x=10;//external variable (also global) 


Comments

Popular posts from this blog

Micro Controller Notes